LLVM is a widely used open-source compiler infrastructure, with a modular design that makes it easy to add support for programming languages and processor architectures. The CUDA compiler provides C, C++ and Fortran support for accelerating application using the massively parallel Nvidia GPUs. Nvidia has worked with LLVM developers to provide the CUDA compiler source code changes to the LLVM core and parallel thread execution backend. As a result, programmers can develop applications for GPU accelerators using a broader selection of programming languages, making GPU computing more accessible and pervasive than ever before.
LLVM supports a wide range of programming languages and front ends, including C/C++, Objective-C, Fortran, Ada, Haskell, Java bytecode, Python, Ruby, ActionScript, GLSL and Rust. It is also the compiler infrastructure Nvidia uses for its CUDA C/C++ architecture, and it has been widely adopted by leading companies such as Apple, AMD and Adobe.
“Double Negative has ported their fluid dynamics solver over to use their domain-specific language, Jet, which is based on LLVM,” said Dan Bailey, researcher at Double Negative and contributor to the LLVM project. “In addition to the existing architectures supported, the new open-source LLVM compiler from Nvidia has allowed them to effortlessly compile highly optimized code for Nvidia GPU architectures to massively speed up the computation of simulations used in film visual effects.”
“MathWorks uses elements of the LLVM tool chain to add GPU support to the MATLAB language,” said Silvina Grad-Freilich, senior manager, parallel computing marketing, MathWorks. “The GPU support with the open source LLVM compiler is valuable for the technical community we serve.”
“The code we provided to LLVM is based on proven, mainstream CUDA products, giving programmers the assurance of reliability and full compatibility with the hundreds of millions of Nvidia GPUs installed in PCs and servers today,” said Ian Buck general manager of GPU computing software at Nvidia. “This is a game-changing milestone for GPU computing, giving researchers and programmers an incredible amount of flexibility and choice in programming languages and hardware architectures for their next-generation applications.”
To download the latest version of the LLVM compiler with Nvidia GPU support, visit the LLVM site <http://llvm.org/> .