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