Clang is a compiler front end for the C, C++, Objective-C and Objective-C++ programming languages, as well as the OpenMP, OpenCL, RenderScript and CUDA frameworks. CUDA is a parallel computing platform and application programming interface model created by Nvidia. It allows software developers and software engineers to use a CUDA-enabled graphics processing unit for general purpose processing. While Clang supports compiling CUDA C++ code in simple workflows, more work is needed to enable features like separate compilation and linking.
The goal of this project is to write a front end for Clang that supports more advanced the CUDA tools.