← Back to team overview

yade-dev team mailing list archive

Re: [Branch ~yade-pkg/yade/git-trunk] Rev 4009: Enable vectorization in eigen3-lib

 

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, noreply@xxxxxxxxxxxxx wrote:
> ------------------------------------------------------------
> revno: 4009
> committer: Anton Gladky <gladky.anton@xxxxxxxxx>
> 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     : yade-dev@xxxxxxxxxxxxxxxxxxx
> 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
________________


Follow ups

References