Skip to Main content Skip to Navigation
Conference papers

Meta-programming and Multi-stage Programming for GPGPUs

Ian Masliah 1 Marc Baboulin 1 Joel Falcou 1
1 ParSys - LRI - Systèmes parallèles (LRI)
LRI - Laboratoire de Recherche en Informatique
Abstract : 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-today 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 (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 this library 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.
Complete list of metadata

Cited literature [25 references]  Display  Hide  Download
Contributor : Marc Baboulin <>
Submitted on : Wednesday, December 14, 2016 - 6:41:05 PM
Last modification on : Sunday, May 2, 2021 - 3:30:24 AM
Long-term archiving on: : Wednesday, March 15, 2017 - 3:23:50 PM


Files produced by the author(s)



Ian Masliah, Marc Baboulin, Joel Falcou. Meta-programming and Multi-stage Programming for GPGPUs. 10th IEEE International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSOC 2016), IEEE Computer Society, Sep 2016, Lyon, France. pp.369 - 376, ⟨10.1109/MCSoC.2016.49⟩. ⟨hal-01416797⟩



Record views


Files downloads