International Journal of Parallel Programming

, Volume 44, Issue 3, pp 449–465

Automatic Task-Based Code Generation for High Performance Domain Specific Embedded Language

  • Antoine Tran Tan
  • Joel Falcou
  • Daniel Etiemble
  • Hartmut Kaiser
Article

DOI: 10.1007/s10766-015-0354-9

Cite this article as:
Tran Tan, A., Falcou, J., Etiemble, D. et al. Int J Parallel Prog (2016) 44: 449. doi:10.1007/s10766-015-0354-9

Abstract

Providing high level tools for parallel programming while sustaining a high level of performance has been a challenge that techniques like Domain Specific Embedded Languages try to solve. In previous works, we investigated the design of such a DSEL—NT\(^2\)—providing a Matlab -like syntax for parallel numerical computations inside a C++ library. In this paper, we show how NT\(^2\!\) has been redesigned for shared memory systems in an extensible and portable way. The new NT\(^2\!\) design relies on a tiered Parallel Skeleton system built using asynchronous task management and automatic compile-time taskification of user level code. We describe how this system can operate various shared memory runtimes and evaluate the design by using two benchmarks implementing linear algebra algorithms.

Keywords

C++ Parallel skeletons Asynchronous programming  Generative programming 

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Antoine Tran Tan
    • 1
  • Joel Falcou
    • 1
  • Daniel Etiemble
    • 1
  • Hartmut Kaiser
    • 2
  1. 1.LRI, INRIAUniversité Paris-Sud XIOrsayFrance
  2. 2.CCTLouisiana State UniversityBaton RougeUSA

Personalised recommendations