The numerical template toolbox
2014
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: NT 2 . 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. We propose a design strategy for DSEL including architecture information in the process.We propose an implementation of a C++ DSEL for scientific computing using this strategy.Implementation demonstrates extensibility on new architectures.Benchmarks show that hierarchical architecture features are properly used.
Keywords:
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
45
References
10
Citations
NaN
KQI