Deutsch
 
Hilfe Datenschutzhinweis Impressum
  DetailsucheBrowse

Datensatz

DATENSATZ AKTIONENEXPORT

Freigegeben

Forschungspapier

Automatic generation of CUDA code performing tensor manipulations using C++ expression templates

MPG-Autoren
/persons/resource/persons213835

Pfeiffer,  Harald P.
Astrophysical and Cosmological Relativity, AEI-Golm, MPI for Gravitational Physics, Max Planck Society;

Externe Ressourcen
Es sind keine externen Ressourcen hinterlegt
Volltexte (beschränkter Zugriff)
Für Ihren IP-Bereich sind aktuell keine Volltexte freigegeben.
Volltexte (frei zugänglich)

1804.10120.pdf
(Preprint), 2MB

Ergänzendes Material (frei zugänglich)
Es sind keine frei zugänglichen Ergänzenden Materialien verfügbar
Zitation

Lewis, A. G. M., & Pfeiffer, H. P. (in preparation). Automatic generation of CUDA code performing tensor manipulations using C++ expression templates.


Zitierlink: https://hdl.handle.net/21.11116/0000-0003-652B-C
Zusammenfassung
We present a C++ library, TLoops, which uses a hierarchy of expression
templates to represent operations upon tensorial quantities in single lines of
C++ code that resemble analytic equations. These expressions may be run as-is,
but may also be used to emit equivalent low-level C or CUDA code, which either
performs the operations more quickly on the CPU, or allows them to be rapidly
ported to run on NVIDIA GPUs. We detail the expression template and C++-class
hierarchy that represents the expressions and which makes automatic
code-generation possible. We then present benchmarks of the expression-template
code, the automatically generated C code, and the automatically generated CUDA
code running on several generations of NVIDIA GPU.