|[eigen] giving up with OpenMP|
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
Hi, Today I removed the OpenMP stuff from Eigen: - the only thing that did give any benefit was the cacheOptimal product. This is not enough to justify bothering about parallelization: anyway the even better solution here is a BLAS backend. - the thing that would _really_ justify having parallelization in Eigen, would be to allow parallelizing generic operations with expressions. Parallelizing large assignments with cwise ops, and large redux/visitor, would be awesome. Unfortunately, today I spend 2 hours on benchmarkXcwise.cpp trying to get any benefit from OpenMP, without any success. They even had an example with addition of two large vectors (arrays) in C. When transposing this to the C++ context of Eigen, I didn't get any benefit. I even found texts on C++-specific issues with OpenMP but found that Eigen was already doing all what they recommended to. So: Unless some of you manages to implement OpenMP support in a way that actually gives benefits with assignments, cwise xprs, redux and visitor, I don't think that we should bother about OpenMP. Getting a benefit from OpenMP in a particular algorithm such as matrix product is easier, but not interesting since again that'll never beat a good BLAS/LAPACK backend. Cheers, Benoit
Description: This is a digitally signed message part.
|Mail converted by MHonArc 2.6.19+||http://listengine.tuxfamily.org/|