$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Greg Colvin (greg_at_[hidden])
Date: 1999-09-03 18:31:07
From: Andy Glew <glew_at_[hidden]>
> > Have you looked at blitz++ library ? It uses no assembler, just templates etc...
You might also check out the Matrix Template Library, Iterative Template 
Library, and Generic Graph Component Library at Notre Dame:
   http://www.lsc.nd.edu/research/
and especially
   http://www.lsc.nd.edu/research/mtl/performance.php3
To quote:
The tests here illustrate several points. 
First, they demonstrate how a single generic algorithm can provide high levels 
of performance across different architectures. The same generic matrix-matrix 
product algorithm provides vendor-tuned levels of performance on both the 
UltraSPARC and the RS6000. (We note that the optimizations within the 
algorithms are parameterized in a generic fashion and these parameters are set 
appropriately for the target architecture. The code within the routine itself 
is the same for both targets, however.) 
Second, they demonstrate how a single generic algorithm can provide high 
levels of performance across vastly different data formats. The same generic 
matrix-vector product algorithm gives high levels of performance for both 
dense and sparse matrix types. 
Finally, they demonstrate that vendor-tuned levels of performance (or, if you 
like, Fortran levels of performance) can be achieved with C++ and that this 
level of performance is achievable in the presence of domain-specific 
abstractions.