|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: Christian Mayer <mail@xxxxxxxxxxxxxxxxx>
- Date: Fri, 17 Apr 2009 21:20:09 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :reply-to:user-agent:mime-version:to:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=RLjgLJ4epDw3hY4SHNbsykjkitL47o2SbJcZvgrbP1g=; b=ZNAKUOr6NnA8KMRvTrnQQZmJb/Thib/UehlLnqHKj4hDmapi73Y/zUtrdMLSnKZ4up WjfI1TKaqh5Hhm309f/T2X7QOO/Cz5yELyhC893Uy+VsjS/5vSeeA4bmZwWynsC1erRE JR9oeWGkSMLAWqfmcFQ1S6JMag6rCCc2KpFJ0=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:message-id:date:from:reply-to:user-agent:mime-version:to :subject:references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=B4N1F137d7yoSrSaeNjZSNAUztdk2PKS1d0TJ0+z29M8au3nt2SBAoX9EfjTO+BhAc 6/bvOHChq8eMOPVKbzhdu7XANDs/4g1fF/rhzL6i5q7+7ssz7Yr8ar65nLyEb2rf6prf c4MrDAR1vuM7LW0QSyJeoJI5Qw65NbCvaTECY=
-----BEGIN PGP SIGNED MESSAGE-----
Benoit Jacob schrieb:
> 2009/4/17 Andre Krause <post@xxxxxxxxxxxxxxxx>:
>> Hello EIGEN - List,
>> i want to point you to the lib FLENS. It provides a C++ Interface to BLAS and
>> LAPACK in a expression template manner. I am mentioning flens here, because it
>> may be a source of inspiration for further eigen2 design desicions.
> Do you have something specific in mind? We took the different approach
> of replacing BLAS and LAPACK, rather than wrapping around them.
> Although there is work left to do, we are at the point where, given
> sufficient contributions, we can hope to quickly become a complete
> enough replacement for a vast majority of users.
(Disclaimer: I'm not knowing FLENS)
FLENS and EIGEN have totally different use cases:
- - EIGEN is a lib that gives you the best performance for small, fixed
size matrices and vectors that's possible (e.g. those that are typical
for 3D intensive applications)
- - BLAS/LAPACK gives you the best performance (using the right
implementation) for big, variable sized matrices and vectors (i.e. those
used in numerical applications). FLENS is adding a modern, object
orientated wrapper around this functionality.
In this case both libs can peacefully coexist...
As EIGEN is supporting variable sized matrices as well, both are
starting to compete in exactly the same field of use. EIGEN has the
advantage that the expression templates are the base and not something
built on top, i.e. EIGEN can optimize "between" BLAS function calls.
FLENS has the advantage that it can use extremely optimized BLAS
libraries (e.g. Intel MKL), something that EIGEN can't do (as it's cross
platform) and won't do (as it doesn't have the funding that MKL has as a
marketing platform for Intel...).
=> it would be interesting to see a benchmark of a non trivial numerical
algorithm to see wich approach wins.
But as EIGEN could include a BLAS/LAPACK lib as well, there shouldn't be
a way for FLENS to win...
Perhaps it's best to convince the FLENS author to join effords?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
-----END PGP SIGNATURE-----