Design and Develop a CUDA engine working along with C/C++ mode in clang-repl

Description

Incremental compilation pipelines process code chunk-by-chunk by building an ever-growing translation unit. Code is then lowered into the LLVM IR and subsequently run by the LLVM JIT. Such a pipeline allows creation of efficient interpreters. The interpreter enables interactive exploration and makes the C++ language more user friendly. The incremental compilation mode is used by the interactive C++ interpreter, Cling, initially developed to enable interactive high-energy physics analysis in a C++ environment.

Our group puts efforts to incorporate and possibly redesign parts of Cling in Clang mainline through a new tool, clang-repl. The project aims to generalize the IncrementalCUDADeviceCompiler of Cling and add this functionality in clang-repl.

Task ideas

There are several foreseen tasks:

Technology

Desirable Skills

Expected results

Evaluation Task

Interested students please contact the mentors for an evaluation task.

Mentors

Additional Information

Corresponding Project

Participating Organizations