[eigen] Multi-threading in array operation

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


Hi,

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
    PartialPivLU
    row-major-sparse * dense vector/matrix products
    ConjugateGradient with Lower|Upper as the UpLo template parameter.
    BiCGSTAB with a row-major sparse matrix format.
    LeastSquaresConjugateGradient

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,

Ghislain

--------------------------
Research engineer THOTH TEAM
INRIA Grenoble Alpes (France)




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