
joel wrote:
That's a given no ?
Stricly speaking, yes, but from a user's point of view I don't think so. Please see my reply to Pavel.
* split algorithms from expressions, i.e., enable pluggable/customisable back-ends into the expression templates
Ultimately, the idea could be to have a way to fall back to BLAS or w/e exists ona given platform when specified.
I would say LAPACK is where the fun starts. Selecting algorithms based on the lowest complexity would be good I guess. One could think of it as a compile-time analytic/semantic preprocessor of an expression.
* achieve performance of FORTRAN-based programs (dominant in HPC)
By handling low level parallelism construct, we can even out perform it.
Add also multi-parallel architecture support. Next 10 years will eb full of dense integrated multicores everywhere. So better take time to be prepared for that.
I would say let's start where they (fortran-based code) are now, and improve from there? I.e., start with plugged BLAS and LAPACK, replace with faster C++ constructs? Cheers, Rutger