Brussels / 3 & 4 February 2018

schedule

Heterogeneous Computing with D

Using the PTX and SPIR-V targets with a system programming language


GPU programming is popular with scientists who need massive parallel computing power. DCompute is an extension of LDC, the LLVM-based D compiler, which uses the PTX and SPIR-V targets of LLVM for a smooth integration in a system programming language.

GPU programming is popular with scientists who need massive parallel computing power. However, programming requires learning new programming languages and integrating additional compilers into the build system, making it difficult to use. Since LLVM supports GPU targets, it makes sense to extend an existing compiler. DCompute is an extension of LDC, the LLVM-based D compiler. This allows the user to write OpenCL and CUDA kernels in D. In this talk, I show what steps were necessary to integrate not only the code generation for conventional CPUs but also the code generation for GPUs. I also look at where the use of LLVM could be improved and which challenges still exist in LLVM.

Speakers

Photo of Kai Nacke Kai Nacke

Links