NVIDIA's GPUs have high parallel processing capabilities, but those capabilities are useless if programs and systems don't have support for them, which means that NVIDIA has had to negotiate special deals and strike partnerships with builders of supercomputers and software makers.
From now on, though, it will be easier to implement GPU Acceleration in new software and machines, because NVIDIA has provided the CUDA Compiler source code to LLVM.
LLVM is one of the most popular open-source compilers with support for many programming languages, like C/C++, Objective-C, Ada, Haskell, Java bytecode, Fortran, ActionScript, GLSL, Rust, Python and Ruby.
NVIDIA's CUDA is a C/C++ architecture. Following this new development though, programmers will be able to develop applications for GPU accelerators using any of the languages mentioned above.
"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 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."
GPUs started off as chips that rendered visuals, but their high parallel computing capabilities eventually woke people up to their potential in HPC (high-performance computing).
NVIDIA already has CUDA accelerators in some supercomputers, but the new LLVM compiler will add a great deal of convenience to their use. We expect to hear of quite a few new Tesla-based conglomerates over the next several years. Quite a far cry from Intel's prediction that NVIDIA's technology would be a footnote on the supercomputing industry.
"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."