Registered Member
|
I am writing a multithreaded app (Mac OS 10.5.8, Eigen 2.0.3) and getting slower performance with threads than without. There are lots of ways to go wrong in this but I thought I'd check just to make sure that there was nothing in Eigen that would cause undue contention between threads, i.e., nothing that would form a bottleneck that would cause hidden serialization or wait states.
Am I correct in this? or could it be the way malloc(), etc., is used in Eigen? I have an older version of this app (Carbon, not Cocoa) that used BLAS/LAPACK and there the threading worked perfectly (2 threads gave twice the speed). |
Registered Member
|
It's hard to be very specific here. Eigen doesn't do anything special in that respect, it doesn't do a lot of malloc's. It's true that it may use different malloc-like functions for aligned memory allocation, so if you think that's the issue, edit Eigen/src/Core/util/Memory.h to select another path and see if that helps (I doubt it would, but i'm no expert).
Join us on Eigen's IRC channel: #eigen on irc.freenode.net
Have a serious interest in Eigen? Then join the mailing list! |
Registered users: Bing [Bot], daret, Google [Bot], sandyvee, Sogou [Bot]