Re: [eigen] FLENS C++ expression template Library has excellent documentation

[ Thread Index | Date Index | More Archives ]

> In the case of EIGEN with the expression templates we have a very strong
> base that can support such an approach. As the compiler knows the
> calculations ahead it could parallelize some calcutations. E.g. look at
> the expression:
>  E = A*B + C*D
> You could do it the dumb way to use a parallel A*B, then a parallel C*D
> and at the end a parallel E = prod1 + prod2. That's what OpenMP could
> offer you.
> But wouldn't it be much wiser to run A*B in one thread, C*D in another
> and a E = prod1 + prod2? That's much better with data location...

Cilk like parallelism then perhaps. But that would need a different
non-standard compiler.....

> But chaning that code to use a very lightweight sceduler and different
> tasks with minimal locking and still best data locality is hard work.
> But it'll be woth it - for the big matrix case (I *guess* small, fixed
> matrices won't benefit at the EIGEN level of parallelsation. There the
> bigger algorithms have to take care of it).

Which is the minimally lightweight scheduler in your opinion?
Pthreads? Intel TBB? OpenMP atleast has the advantage of being
compiler driven so can be atleast there will be no code to link to.

Rohit Garg

Senior Undergraduate
Department of Physics
Indian Institute of Technology

Mail converted by MHonArc 2.6.19+