Research highlight : THE NUMERICAL TEMPLATE TOOLBOX: A MODERN C++ DESIGN FOR SCIENTIFIC COMPUTING
THE NUMERICAL TEMPLATE TOOLBOX: A MODERN C++ DESIGN FOR SCIENTIFIC COMPUTING 1 August 2004
The design and implementation of high level tools for parallel programming is a major challenge as the complexity of modern architectures increases. Domain Specific Languages (or DSL) have been proposed as a solution to facilitate this design but few of those DSLs actually take full advantage of said parallel architectures. In this paper, we propose a library-based solution by designing a C++ DSLs using generative programming: By adapting generative programming idioms so that architecture specificities become mere parameters of the code generation process, we demonstrate that our library can deliver high performance while featuring a high level API and being easy to extend over new architectures.