Meta-programming and Multi-stage Programming for GPGPUs
Autor: | Marc Baboulin, Ian Masliah, Joel Falcou |
---|---|
Přispěvatelé: | Laboratoire de Recherche en Informatique (LRI), Université Paris-Sud - Paris 11 (UP11)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS), Performance Optimization by Software Transformation and Algorithms & Librairies Enhancement (POSTALE), Université Paris-Sud - Paris 11 (UP11)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-Université Paris-Sud - Paris 11 (UP11)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-Inria Saclay - Ile de France, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria), Inria Saclay Ile de France, Paris-Sud XI, Systèmes parallèles (LRI) (ParSys - LRI), Université Paris-Sud - Paris 11 (UP11)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-Université Paris-Sud - Paris 11 (UP11)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS), IEEE Computer Society |
Jazyk: | angličtina |
Rok vydání: | 2015 |
Předmět: |
[INFO.INFO-AR]Computer Science [cs]/Hardware Architecture [cs.AR]
Multi-stage programming Generic programming Computer science CUDA 010103 numerical & computational mathematics 02 engineering and technology computer.software_genre 01 natural sciences 0202 electrical engineering electronic engineering information engineering Multi-stage 0101 mathematics MATLAB C++ computer.programming_language Syntax (programming languages) Programming language Metaprogramming meta-programming Multithreading Programming paradigm 020201 artificial intelligence & image processing [INFO.INFO-DC]Computer Science [cs]/Distributed Parallel and Cluster Computing [cs.DC] computer generic programming |
Zdroj: | [Research Report] RR-8780, Inria Saclay Ile de France; Paris-Sud XI. 2015 MCSoC |
DOI: | 10.1109/MCSoC.2016.49⟩ |
Popis: | International audience; 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. |
Databáze: | OpenAIRE |
Externí odkaz: |