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: Ilya Baran <baran37@xxxxxxxxx>
- Date: Sat, 18 Apr 2009 14:00:45 -0400
- 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=2gKM8c6q1ZAVHkYwQ1e8fsNSMO7mu0S5qTbpND9PhRM=; b=tRfY11ilcs3M+oebmO7iUNBBEdQDOzPZ0Zx1wEPRBNuImjhVCv/OWf6YttTtiltkLn iWs0ZJ5zKWvN7gY3xAHNCA9xrThS0DF4P3wACjuu9GNgjlLUAyhgqDtNuaW5ir8BZiM1 nGnb2zRIZESrSGWY6U4Go+wqHw34g7z6fk/Co=
- 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=xtoGKh5XNgMUFU2JX4qh1DXawAOJeS2usbTSYowIFyT+81fvKKfJ9qQQly5zz8v6bZ 7PBkcxmgz24P/GR1l0/qz5hMa1ugnzwqoCVGKLH1nlujCgruZd6PE4tLJw27yHd8/AEq 2RS9ORTCz8Ym20GX7pXvs3uNp6+Q9kTKRorwI=
Hi, Benoit,
On Sat, Apr 18, 2009 at 12:06 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
> 2009/4/18 Ilya Baran <baran37@xxxxxxxxx>:
>> Hi, Benoit,
>>
>> Wow, you're looking far ahead :)
>>
>> While fully automatic optimized implementation is their "ultimate
>> goal," I think their methods already allow much simplified manual
>> implementation. Look, for example, at their Cholesky code:
>>
>> http://z.cs.utexas.edu/wiki/LA.wiki/Chol_l/FLAMEC/BlkVar3
>
> OK, I'm not sure I understand. This header seems to be implementing
> block cholesky calling a lot of convenience functions helping it with
> that. So FLAME is that, a set of helper functions to write block
> algorithms?
It looks like it's both the helper functions and the implemented
algorithms themselves.
> If yes, then Eigen can be improved to allow that kind of thing without
> much effort, I mean our Block expression allows to do part of that
> already, also our comma-initializer combined with xprs, so i think
> it's easy to add the rest (like repartitioning). I understand that
> they had to add a lot of C functions on top of BLAS to deal with
> blocks, but we don't need to, thanks to expressions.
Yeah, that's all I meant: they picked the right set of convenience
functions that are easy to replicate in Eigen and that make the
algorithms look clean, simple, and similar.
> I really mean to implement Block LLt or partial LU soon, it can be
> written cleanly with Eigen blocks.
>
> What I was more thinking about when I said 2015, was automatic
> transformation of non-blocked algorithms into blocked algorithms. But
> maybe I misunderstood!
I think they were talking about automatically transforming math into
code, not non-blocked into blocked: a non-blocked algorithm that's
heavily optimized to the hardware (for small matrices) makes a very
good base case, but a poor starting point for an automatic
transformation.
-Ilya