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.
Type de document :
[Research Report] RR-8780, Inria Saclay Ile de France; Paris-Sud XI. 2015
Liste complète des métadonnées

Littérature citée [32 références]  Voir  Masquer  Télécharger
Contributeur : Marc Baboulin <>
Soumis le : jeudi 24 septembre 2015 - 13:25:36
Dernière modification le : jeudi 5 avril 2018 - 12:30:23
Document(s) archivé(s) le : mardi 29 décembre 2015 - 09:47:54


Fichiers produits par l'(les) auteur(s)


  • 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〉



Consultations de la notice


Téléchargements de fichiers