aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <benoitjacob@google.com>2015-03-31 11:17:23 -0400
committerGravatar Benoit Jacob <benoitjacob@google.com>2015-03-31 11:17:23 -0400
commit73cdeae1d3756187cffd2a943ed635c67cb0c9eb (patch)
tree02e8c7bafd5bf9f88c5a3b20bc4e7081febe494a
parent0cbd5ae3cb0f7b73c945e1d69f3374d902a9f78d (diff)
Only use blocking sizes LUTs for single-thread products for now
-rw-r--r--Eigen/src/Core/products/LookupBlockingSizesTable.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/Eigen/src/Core/products/LookupBlockingSizesTable.h b/Eigen/src/Core/products/LookupBlockingSizesTable.h
index 5ab4525df..39a53c8f1 100644
--- a/Eigen/src/Core/products/LookupBlockingSizesTable.h
+++ b/Eigen/src/Core/products/LookupBlockingSizesTable.h
@@ -79,6 +79,14 @@ template <typename LhsScalar,
typename RhsScalar>
bool lookupBlockingSizesFromTable(Index& k, Index& m, Index& n, Index num_threads)
{
+ if (num_threads > 1) {
+ // We don't currently have lookup tables recorded for multithread performance,
+ // and we have confirmed experimentally that our single-thread-recorded LUTs are
+ // poor for multithread performance, and our LUTs don't currently contain
+ // any annotation about multithread status (FIXME - we need that).
+ // So for now, we just early-return here.
+ return false;
+ }
return LookupBlockingSizesFromTableImpl<LhsScalar, RhsScalar>::run(k, m, n, num_threads);
}