Meta-programming and Multi-stage Programming for GPGPUs - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Research Report) Year : 2015

Meta-programming and Multi-stage Programming for GPGPUs


GPGPUs and other accelerators are becoming a mainstream asset for high-performance computing. Raising the programmability of such hardware is essential to enable users to discover, master and subsequently use accelerators in day-to-day simulations. Furthermore, tools for high-level programming of parallel architectures are becoming a great way to simplify the exploitation of such systems. For this reason, we have extended NT2 – the Numerical Template Toolbox - a C++ scientific computing library which can generate code for SIMD and multi-threading systems in a transparent way. In this paper, we study how to introduce an accelerator-based programming model into NT2 to allow developers to reap the benefits of such an architecture from a simple, Matlab-like code. After a brief description of the NT2 framework, we explain how our accelerator programming model has been designed and integrated in a pure C++ library. We conclude by showing the applicability and performance of this tool on some practical applications.
Fichier principal
Vignette du fichier
RR-8780.pdf (945.11 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-01204661 , version 1 (24-09-2015)


  • HAL Id : hal-01204661 , version 1


Marc Baboulin, Joel Falcou, Ian Masliah. Meta-programming and Multi-stage Programming for GPGPUs. [Research Report] RR-8780, Inria Saclay Ile de France; Paris-Sud XI. 2015. ⟨hal-01204661⟩
167 View
541 Download


Gmail Facebook Twitter LinkedIn More