diff options
author | Gael Guennebaud <g.gael@free.fr> | 2017-08-24 10:43:21 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2017-08-24 10:43:21 +0200 |
commit | 12249849b5ef7ec0c64f74440690fb00708b8da6 (patch) | |
tree | 95934df3b5e2b0b98520168cbe31964fcb85e365 /Eigen/src/Core/GeneralProduct.h | |
parent | 39864ebe1eb7c8028769cf5d8750faaabce22446 (diff) |
Make the threshold from gemm to coeff-based-product configurable, and add some explanations.
Diffstat (limited to 'Eigen/src/Core/GeneralProduct.h')
-rw-r--r-- | Eigen/src/Core/GeneralProduct.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Eigen/src/Core/GeneralProduct.h b/Eigen/src/Core/GeneralProduct.h index dec24848d..483277fe6 100644 --- a/Eigen/src/Core/GeneralProduct.h +++ b/Eigen/src/Core/GeneralProduct.h @@ -18,6 +18,16 @@ enum { Small = 3 }; +// Define the threshold value to fallback from the generic matrix-matrix product +// implementation (heavy) to the lightweight coeff-based product one. +// See generic_product_impl<Lhs,Rhs,DenseShape,DenseShape,GemmProduct> +// in products/GeneralMatrixMatrix.h for more details. +// TODO This threshold should also be used in the compile-time selector below. +#ifndef EIGEN_GEMM_TO_COEFFBASED_THRESHOLD +// This default value has been obtained on a Haswell architecture. +#define EIGEN_GEMM_TO_COEFFBASED_THRESHOLD 20 +#endif + namespace internal { template<int Rows, int Cols, int Depth> struct product_type_selector; |