diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-07-03 12:20:13 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-07-03 12:20:13 +0200 |
commit | b4ef323e90789fb30cd3bb43d564cd25817eaf73 (patch) | |
tree | 235eb011f32a187b46dd7944dca0c810caa9e249 /Eigen/src/Core/products/GeneralMatrixMatrix.h | |
parent | d6791e8f3d365f1cffdb4a64ed5b2dd3e897ad38 (diff) |
fix bug with openmp
Diffstat (limited to 'Eigen/src/Core/products/GeneralMatrixMatrix.h')
-rw-r--r-- | Eigen/src/Core/products/GeneralMatrixMatrix.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Eigen/src/Core/products/GeneralMatrixMatrix.h b/Eigen/src/Core/products/GeneralMatrixMatrix.h index f0816f3ee..295dd8f25 100644 --- a/Eigen/src/Core/products/GeneralMatrixMatrix.h +++ b/Eigen/src/Core/products/GeneralMatrixMatrix.h @@ -228,12 +228,16 @@ struct ei_gemm_functor : m_lhs(lhs), m_rhs(rhs), m_dest(dest), m_actualAlpha(actualAlpha), m_blocking(blocking) {} + void initParallelSession() const + { + m_blocking.allocateB(); + } + void operator() (Index row, Index rows, Index col=0, Index cols=-1, GemmParallelInfo<Index>* info=0) const { if(cols==-1) cols = m_rhs.cols(); - if(info) - m_blocking.allocateB(); + Gemm::run(rows, cols, m_lhs.cols(), (const Scalar*)&(m_lhs.const_cast_derived().coeffRef(row,0)), m_lhs.outerStride(), (const Scalar*)&(m_rhs.const_cast_derived().coeffRef(0,col)), m_rhs.outerStride(), |