diff options
author | Benoit Jacob <benoitjacob@google.com> | 2015-03-31 11:17:23 -0400 |
---|---|---|
committer | Benoit Jacob <benoitjacob@google.com> | 2015-03-31 11:17:23 -0400 |
commit | 73cdeae1d3756187cffd2a943ed635c67cb0c9eb (patch) | |
tree | 02e8c7bafd5bf9f88c5a3b20bc4e7081febe494a | |
parent | 0cbd5ae3cb0f7b73c945e1d69f3374d902a9f78d (diff) |
Only use blocking sizes LUTs for single-thread products for now
-rw-r--r-- | Eigen/src/Core/products/LookupBlockingSizesTable.h | 8 |
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); } |