|Re: [eigen] FLENS C++ expression template Library has excellent documentation|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] FLENS C++ expression template Library has excellent documentation
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Sat, 18 Apr 2009 09:31:02 +0200
- 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=SvXVvprt0gH/qMqGOoQMLaYpQQ6EFR09+Qxr7RqdA2w=; b=auteUyjQKU16WIDg1StfDbfwWgP/R15xPjWwFv28bTbeTzhbRup+gIouMjuR9lne0i 7cM4pCIZNm5iWJpgMXDxpuiF7x9PTaJhd/ePSsmYphCI8s0RAp5/bpVLp7pSdHMg5q/3 6OenDPwAmT4m5/7yYj9YpXoI/qFkrrA+oxlVA=
- 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=mYwfKAQ3Z9oMCbApnioYi9Tdd80WBIeXNoZfpCjQablCjhwFUSLuyJab+XUJBImKDC VGwPlqvT6UNJHSxDhYsjgVu6CbIsJC5Ivm+rX6lxOtFtSegxUJZKq5QsVgNkjWGzjPBQ r5ulAq9+t1lwN9FyYumWJkjChNPY7V9MdnXpo=
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
> Senior Undergraduate
> Department of Physics
> Indian Institute of Technology