GPUCC: Google's Open-Source CUDA Compiler
Last month I wrote about how Google has been working on CUDA compiler optimizations in LLVM and they were claiming to achieve results where their open-source compiler work was generating better code than NVIDIA's own NVCC compiler. More details are now available.
Last month was the LLVM Developers' Meeting 2015 and the videos have been available while more of the slides are finally beginning to appear. For those interested on Google's open-source CUDA/GPGPU compiler work, there are slides by Jingyue Wu of Google.
GPUCC is their name for an open-source GPGPU compiler built atop LLVM. They call it "the first fully-functional, open-source high performance CUDA compiler" that is up to 51% faster on internal end-to-end benchmarks, on par with open-source benchmarks, compile time is 8% faster on average and 2.4x faster for pathological compilations compared to NVIDIA's official CUDA compiler (NVCC).
The developers working on GPUCC are hoping to eventually integrate their work with Clang and they've done several optimizations in GPUCC from straight-line scalar optimizations to loop unrolling and function inlining, memory-space alias analysis, speculative execution, and more.
It should be interesting to see how GPUCC evolves and if enough traction is gained by it whether NVIDIA will be any more open about their Compute Unified Device Architecture tech.
Interested in learning more? See the PDF slides.