| [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)