Prev Up
Go backward to A Generic Programming Environment for
High-Performance Mathematical Libraries
Wolfgang Schreiner

Go up to Applications

Generic and Generative Programming in Blitz++
Todd Veldhuizen

Scientific computing requires domain-specific abstractions, such as arrays, matrices, and tensors. Implementing these abstractions in libraries (rather than in compilers) makes them hard to optimize, since compilers lose semantic knowledge of the abstractions. The solution may be to move high-level optimizations out of compilers and into libraries. The Blitz++ library offers an example of how this may be done: using the compile-time metalevel processing abilities of C++, Blitz++ implements many optimizations which were previously the responsibility of compilers. The library offers functionality and efficiency competitive with Fortran, but without any language extensions.


 

Prev Up