[eigen] Multi-threading in array operation

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


I am an enthusiastic user of Eigen and I have a question regarding multi-threading support in array operations.

The dedicated webpage (https://eigen.tuxfamily.org/dox/TopicMultiThreading.html) states that, currently, the following algorithms can make use of multi-threading:

    general dense matrix - matrix products
    row-major-sparse * dense vector/matrix products
    ConjugateGradient with Lower|Upper as the UpLo template parameter.
    BiCGSTAB with a row-major sparse matrix format.

Is there any project in the future to extend multi-threading support to array operation in Eigen ? basically matrix element-wise operations like:

MatrixXd A = MatrixXd::Zero(100,100);
MatrixXd B = MatrixXd::Ones(100,100);

MatrixXd C = A.array() + B.array(); // element-wise addition
MatrixXd D = A.array() / B.array(); // element-wise division

It would be great if it was parallelized. I have a lots of these element-wise operations in my code, and it would be heavier to redefine all of these with OpenMP.

If it is not planned, I will probably work on implementing such feature in a near future, I just don't want to spend too much time on it if the work is already done or near done.

Thanks in advance,
Best regards,


Research engineer THOTH TEAM
INRIA Grenoble Alpes (France)

Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/