Looking at the stack trace included at the end of the message, it seems the
Eigen is parallelizing the GEMM, which is allocating memory. Is there any
way to prevent this parallelization to ensure that we work within the
memory already allocated?
Graham
#5 0x00000001002ae571 in Eigen::internal::aligned_malloc(unsigned long) ()
#6 0x0000000100139fb0 in
Eigen::internal::general_matrix_matrix_product<long, float, 1, false,
float, 0, false, 0>::run(long, long, long, float const*, long, float
const*, long, float*, long, float, Eigen::internal::level3_blocking<float,
float>&, Eigen::internal::GemmParallelInfo<long>*) ()
#7 0x0000000100139ae5 in Eigen::internal::gemm_functor<float, long,
Eigen::internal::general_matrix_matrix_product<long, float, 1, false,
float, 0, false, 0>, Eigen::Transpose<Eigen::Map<Eigen::Matrix<float, -1,
-1, 0, -1, -1>, 0, Eigen::Stride<0, 0> > const>,
Eigen::Map<Eigen::Matrix<float, -1, -1, 0, -1, -1>, 0, Eigen::Stride<0, 0>
, Eigen::Map<Eigen::Matrix<float, -1, -1, 0, -1, -1>, 0, Eigen::Stride<0,
0> >, Eigen::internal::gemm_blocking_space<0, float, float, -1, -1, -1, 1,
false> >::operator()(long, long, long, long,
Eigen::internal::GemmParallelInfo<long>*) const ()
#8 0x0000000100139956 in void Eigen::internal::parallelize_gemm<true,
Eigen::internal::gemm_functor<float, long,
Eigen::internal::general_matrix_matrix_product<long, float, 1, false,
float, 0, false, 0>, Eigen::Transpose<Eigen::Map<Eigen::Matrix<float, -1,
-1, 0, -1, -1>, 0, Eigen::Stride<0, 0> > const>,
Eigen::Map<Eigen::Matrix<float, -1, -1, 0, -1, -1>, 0, Eigen::Stride<0, 0>
, Eigen::Map<Eigen::Matrix<float, -1, -1, 0, -1, -1>, 0, Eigen::Stride<0,
0> >, Eigen::internal::gemm_blocking_space<0, float, float, -1, -1, -1, 1,
false> >, long>(Eigen::internal::gemm_functor<float, long,
Eigen::internal::general_matrix_matrix_product<long, float, 1, false,
float, 0, false, 0>, Eigen::Transpose<Eigen::Map<Eigen::Matrix<float, -1,
-1, 0, -1, -1>, 0, Eigen::Stride<0, 0> > const>,
Eigen::Map<Eigen::Matrix<float, -1, -1, 0, -1, -1>, 0, Eigen::Stride<0, 0>
, Eigen::Map<Eigen::Matrix<float, -1, -1, 0, -1, -1>, 0, Eigen::Stride<0,
0> >, Eigen::internal::gemm_blocking_space<0, float, float, -1, -1, -1, 1,
false> > const&, long, long, bool) ()
#9 0x0000000100137b1d in void
Eigen::internal::generic_product_impl<Eigen::Transpose<Eigen::Map<Eigen::Matrix<float,
-1, -1, 0, -1, -1>, 0, Eigen::Stride<0, 0> > const>,
Eigen::Map<Eigen::Matrix<float, -1, -1, 0, -1, -1>, 0, Eigen::Stride<0, 0>
, Eigen::DenseShape, Eigen::DenseShape,
8>::scaleAndAddTo<Eigen::Map<Eigen::Matrix<float, -1, -1, 0, -1, -1>, 0,
Eigen::Stride<0, 0> > >(Eigen::Map<Eigen::Matrix<float, -1, -1, 0, -1, -1>,
0, Eigen::Stride<0, 0> >&, Eigen::Transpose<Eigen::Map<Eigen::Matrix<float,
-1, -1, 0, -1, -1>, 0, Eigen::Stride<0, 0> > const> const&,
Eigen::Map<Eigen::Matrix<float, -1, -1, 0, -1, -1>, 0, Eigen::Stride<0, 0>
const&, float const&) ()