Re: [eigen] FLENS C++ expression template Library has excellent documentation |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] FLENS C++ expression template Library has excellent documentation
- From: Rohit Garg <rpg.314@xxxxxxxxx>
- Date: Sat, 18 Apr 2009 14:02:24 +0530
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=4nOr7DH7TsQXaHS6ou41+BoXj92ennUYyUzZZnD6dJo=; b=bTUSrmoedMeJbRBosdRZEQnY001tD9wIPUyRHsZLbtIX1vUSSfALlWzH+5kQHMteJn 5+ee40tvUxqwFP/FJbUZT0lhfFPJ6ZNXS42jhI1M544K+EWksI9a62NuY/vx1ju9Fi/o bJmo/T+Oy7F+EBoiVUVDyC30yXgWcdD3c9rl4=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=fXQshg4ofAUoOrycrTbkdIqWGiQCgbXplnVbLfK+j4o6fzQD+q10dImmCnYdPb5klm TInAdG0JvjqhKMVyTLT+ciSZbgzP3HNYomILu6U6QeiNxjdu93/TzRc5HuE1AjXkZUWp oTA4L2iXx7q60HznWwe/u0UQKUeds1sUos2Mg=
Come to think of it, just how many times has the same thing been done
over and over again? A C++ wrapper over something that is of 70's
vintage. FLENS and tn2 are just two examples of that.
On Sat, Apr 18, 2009 at 1:01 PM, Gael Guennebaud
<gael.guennebaud@xxxxxxxxx> wrote:
> On Sat, Apr 18, 2009 at 9:24 AM, Rohit Garg <rpg.314@xxxxxxxxx> wrote:
>>>> 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, at least for discussing what kind of API we want.
>
> yes, we have to study in more details the possibilities offered by
> openMP and how it behaves when nesting parallel loops
>
>>> actually we have already experimented wit openMP, have a look at the
>>> file disabled/EvalOMP.h
>>
>> Curious, why was it disabled?
>
> mainly because of the above API issue
>
>> --
>> Rohit Garg
>>
>> http://rpg-314.blogspot.com/
>>
>> Senior Undergraduate
>> Department of Physics
>> Indian Institute of Technology
>> Bombay
>>
>>
>>
>
>
>
--
Rohit Garg
http://rpg-314.blogspot.com/
Senior Undergraduate
Department of Physics
Indian Institute of Technology
Bombay