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

[ Thread Index | Date Index | More Archives ]

>> I was thinking of something like -DEIGEN_PARALLEL 4 (ie opt in
>> parallelization) at compile time to launch that many threads at
>> compile time. BLAS 1 should be trivial to parallelize and BLAS2
>> shouldn't be too difficult either.
> unfortunately no, the problem is that we need to be able to control
> that per expression, and we ave to come up with a good API for
> that.Since eigen is a pure template library we cannot have global
> states for that.

I see. Since the compiler is generating a lot of code for us, we need
to parallelize the = assignment operator as it is the one that does
all the actual calculations. I don't want to have global state either.
May be an eigen_parallel macro which just does omp_set_procs(). So all
the functions which are parallel are automatically parallelized w/o
user bothering about it. And it can be done per expression. Since
changing it per expression is kinda corner case, may be this is a good
starting point, atleast for discussing what kind of API we want.

> actually we have already experimented wit openMP, have a look at the
> file disabled/EvalOMP.h

Curious, why was it disabled?

Rohit Garg

Senior Undergraduate
Department of Physics
Indian Institute of Technology

Mail converted by MHonArc 2.6.19+