SAN FRANCISCO—Nvidia Corp. said Wednesday (May 9) that LLVM, a popular open source compiler, now supports Nvida GPUs.
Nvidia (Santa Clara, Calif.) said it worked with LLVM developers to provide its CUDA compiler source code changes to the LLVM core and parallel thread execution backend. Programmers can now develop applications for GPU accelerators using a broader selection of programming languages, Nvidia said.
LLVM is a widely used open source compiler infrastructure with a modular design said to make it easy to add support for programming languages and processor architectures. The CUDA compiler provides C, C++ and Fortran support for accelerating application using Nvidia's GPUs.
LLVM supports a 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, Nvidia said.
"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, in a statement. "This is truly 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."
David Patterson, known for his pioneering research that led to RAID, clusters and more, is part of a team at UC Berkeley that recently made its RISC-V processor architecture an open source hardware offering. We talk with Patterson and one of his colleagues behind the effort about the opportunities they see, what new kinds of designs they hope to enable and what it means for today’s commercial processor giants such as Intel, ARM and Imagination Technologies.