aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-04-18 15:35:34 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-04-18 15:35:34 +0200
commit94684721bd2d10c0b67ef518ed599981603440bc (patch)
tree678ae1c21c3c33e5f82397df7e0d0609c153557f /Eigen
parent1388f4f9fd3f8804128a5f86ead7e478e59a4749 (diff)
Smarter block size computation
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/Core/products/GeneralBlockPanelKernel.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/Eigen/src/Core/products/GeneralBlockPanelKernel.h b/Eigen/src/Core/products/GeneralBlockPanelKernel.h
index dcc0b4a0d..b1ed9264a 100644
--- a/Eigen/src/Core/products/GeneralBlockPanelKernel.h
+++ b/Eigen/src/Core/products/GeneralBlockPanelKernel.h
@@ -106,7 +106,11 @@ void computeProductBlockingSizes(SizeType& k, SizeType& m, SizeType& n)
// In unit tests we do not want to use extra large matrices,
// so we reduce the block size to check the blocking strategy is not flawed
#ifndef EIGEN_DEBUG_SMALL_PRODUCT_BLOCKS
- k = std::min<SizeType>(k,240);
+// k = std::min<SizeType>(k,240);
+// n = std::min<SizeType>(n,3840/sizeof(RhsScalar));
+// m = std::min<SizeType>(m,3840/sizeof(RhsScalar));
+
+ k = std::min<SizeType>(k,sizeof(LhsScalar)<=4 ? 360 : 240);
n = std::min<SizeType>(n,3840/sizeof(RhsScalar));
m = std::min<SizeType>(m,3840/sizeof(RhsScalar));
#else