Skip to Main content Skip to Navigation
Reports

Meta-programming and Multi-stage Programming for GPGPUs

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-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.
Complete list of metadata

Cited literature [32 references]  Display  Hide  Download

https://hal.inria.fr/hal-01204661
Contributor : Marc Baboulin <>
Submitted on : Thursday, September 24, 2015 - 1:25:36 PM
Last modification on : Friday, April 30, 2021 - 9:54:29 AM
Long-term archiving on: : Tuesday, December 29, 2015 - 9:47:54 AM

File

RR-8780.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01204661, version 1

Citation

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⟩

Share

Metrics

Record views

325

Files downloads

865