Adding CUDA® Support to Cling: JIT Compile to GPUs


Adding CUDA® Support to Cling: JIT Compile to GPUs

Ehrig, S.; Hübl, A.; Naumann, A.; Vassilev, V.

Jupyter Notebooks are omnipresent in the modern scientist's and engineer's toolbox just as CUDA C++ is in accelerated computing. We present the first implementation of a CUDA C++ enabled read-eval-print-loop (REPL) that allows to interactively "script" the popular CUDA C++ runtime syntax in Notebooks. With our novel implementation, based on LLVM, Clang and CERN's C++ interpreter Cling, the modern CUDA C++ developer can work as interactively and productively as (I)Python developers while keeping all the benefits of the vast C++ computing and library ecosystem coupled with first-class performance.

Keywords: Cling; CUDA; Jupyter Notebook; interactive C++; LLVM; interactive simulation; rapid prototyping

  • Open Access Logo Lecture (Conference) (Online presentation)
    2020 Virtual LLVM Developers' Meeting, 06.-08.10.2020, Virtuell, USA

Downloads

Permalink: https://www.hzdr.de/publications/Publ-31357
Publ.-Id: 31357