Boost logo

Boost :

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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk