2489cf13b1
Replaced the old version of the PTX compiler which used external tools and llvm::ExecuteAndWait with an internal implementation. The new incremental PTX compiler uses a modified version of the cling::Interpreter instance. The instance can process the PTX built-ins and generates LLVM IR. The LLVM IR is be compiled to PTX via an additional NVPTX backend implemented in the IncrementalCUDADeviceCompiler. The new implementation has many advantages: - it's much faster than the old version - less error-prone because the ASTPrinter and some unnecessary cling transformations are avoided - reduction of problems in searching for external tools (can be very complicated on HPC systems) The IncrementalCUDADeviceCompiler is moved from the cling::IncrementalParser to the cling::Interpreter, because the second interpreter needs the input without wrappers or transformations. |
||
---|---|---|
.. | ||
Interpreter | ||
MetaProcessor | ||
UserInterface | ||
Utils | ||
CMakeLists.txt |