New user self-registration is currently disabled. Please email eigen-core-team @ lists.tuxfamily.org if you need an account.
Bug 51 - no malloc in fixed-size products
no malloc in fixed-size products
Status: RESOLVED FIXED
Product: Eigen
Classification: Unclassified
Component: Core - matrix products
3.0
All All
: --- Unknown
Assigned To: Gael Guennebaud
:
Depends on:
Blocks: 3.3
  Show dependency treegraph
 
Reported: 2010-10-16 04:23 UTC by Benoit Jacob
Modified: 2016-01-27 16:30 UTC (History)
1 user (show)



Attachments

Description Benoit Jacob 2010-10-16 04:23:40 UTC
Fixed-size matrix products should never malloc. It's OK if this means that they never do any cache-friendliness/parallellization. Guaranteeing no malloc is more important.
Comment 1 Gael Guennebaud 2011-01-28 11:07:40 UTC
for the record only fancy matrix-matrix products involving triangular or selfadjoint views are not safe regarding this issue.
Comment 2 Gael Guennebaud 2011-02-01 11:46:42 UTC
progress: triangular*vector and self-adjoint*vector are now fine too.
Comment 3 Benoit Jacob 2011-02-03 16:20:47 UTC
OK, given that it's only in triangular*matrix and selfadjoint*matrix products, and does not happen in triangular.solve(matrix), I think that we can ship with that. Must fix this in 3.1.
Comment 4 Gael Guennebaud 2016-01-25 20:18:17 UTC
https://bitbucket.org/eigen/eigen/commits/0421a90c2606/
Summary:     Bug 51: make general_matrix_matrix_triangular_product use L3-blocking helper so that general symmetric rank-updates and general-matrix-to-triangular products do not trigger dynamic memory allocation for fixed size matrices.
Comment 5 Gael Guennebaud 2016-01-26 22:12:18 UTC
https://bitbucket.org/eigen/eigen/commits/0e4037f5848f/
Summary:     Bug 51: add block preallocation mechanism to selfadjoint*matrix product.

Note You need to log in before you can comment on or make changes to this bug.