Interesting! It seems to me that it needs more than that to be really efficient, because eigen takes the max number of threads by default. So that if you run -j4, parallel eigen in parallel interaction loop will take theoretically 16 threads. Surely a perf killer if you have only 4 threads. There is Eigen::setNbThreads(n) for this purpose, "n" could be a runtime variable of yade. Another thing is to allow nested parallel loop in openmp, it is not the case by default on most systems. It can be enable explicitely using omp_set_nested(k). All this needs benchmarking, too.
Bruno On 08/06/14 23:54, [email protected] wrote: > ------------------------------------------------------------ > revno: 4009 > committer: Anton Gladky <[email protected]> > timestamp: Sun 2014-06-08 23:32:06 +0200 > message: > Enable vectorization in eigen3-lib > > Together with vectorazation some other flags were > removed: > EIGEN_DONT_VECTORIZE > EIGEN_DONT_ALIGN > EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT > EIGEN_NO_DEBUG > > It should increase the calculation speed of some > vector-matrixes operations. > modified: > lib/base/Math.hpp > > > -- > lp:yade > https://code.launchpad.net/~yade-pkg/yade/git-trunk > > Your team Yade developers is subscribed to branch lp:yade. > To unsubscribe from this branch go to > https://code.launchpad.net/~yade-pkg/yade/git-trunk/+edit-subscription > > > _______________________________________________ > Mailing list: https://launchpad.net/~yade-dev > Post to : [email protected] > Unsubscribe : https://launchpad.net/~yade-dev > More help : https://help.launchpad.net/ListHelp -- _______________ Bruno Chareyre Associate Professor ENSE³ - Grenoble INP Lab. 3SR BP 53 38041 Grenoble cedex 9 Tél : +33 4 56 52 86 21 Fax : +33 4 76 82 70 43 ________________
_______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

