Nvidia Releasing CUDA's Compiler Source Code

On Tuesday Nvidia announced its plans to provide the source code for the new CUDA low level virtual machine (LLVM) based compiler. This will be available for academic researchers and software tool vendors so they can easily add GPU support for more programming languages and support CUDA applications on alternative processor architectures. The actual compiler itself resides in the latest release of the publicly available CUDA Toolkit (v4.1), and is enhanced to support Nvidia's parallel GPUs.

"Opening up the CUDA platform is a significant step," said Sudhakar Yalamanchili, professor at Georgia Institute of Technology and lead of the Ocelot project, which maps software written in CUDA C to different processor architectures. "The future of computing is heterogeneous, and the CUDA programming model provides a powerful way to maximize performance on many different types of processors, including AMD GPUs and Intel x86 CPUs."

LLVM is an open source compiler infrastructure with a modular design that makes it easy to add support for new programming languages and processor architectures. It is used for a range of programming requirements by many leading companies, including Adobe, Apple, Cray, Electronic Arts, and others.

Nvidia believes that releasing the source code to the LLVM-based CUDA compiler will enable alternate approaches to programming and thus accelerate the development of exascale computing. Researchers will have more flexibility in mapping the CUDA programming model to other architectures. It will also further the overall development of next-generation higher performance computing platforms.

Early access to the CUDA compiler source code is available for qualified academic researchers and software tools developers by registering here: http://developer.nvidia.com/cuda-source. To learn more about the Nvidia CUDA programming environment, visit the CUDA web site.

  • NightLight
    as it should be with all tech. should become open source after 2 years.
  • JasonAkkerman
    NightLightas it should be with all tech. should become open source after 2 years.After you invent the next million dollar idea, let's see how eager you are to relinquish all rights and patents.
  • dalethepcman
    NightLightas it should be with all tech. should become open source after 2 years.I think I agree with your line of thinking, just not the ends to the means per say.

    Within 2 years of development I would like the ability to license any tech. When an entity (apple) claims another entity(every other company in the world) is abusing their patents and wishes to block all use of infringing technology, then the patent is being used to stifle progress. When an entity (cequint) just wants money for use of their invention, then its not being used to stifle innovation. This is all just my opinion.

    Back to the topic on hand though, its great to see CUDA becoming more open. What would truly be incredible is if they could find a middle ground with OpenCL and make a single standard.
  • amdfangirl
    It's great news for GP-GPU applications such as Adobe Premiere which was built using CUDA.
  • alidan
    anyone else hate nvidia?

    now here me out.

    nvidia has made some collosal failures in the past, and we all know they will again, but things like cuda and physx (thank god its barely ever used) would force people to either buy the dud, or use an older gpu.

    where as an open solution would be applicable on any gpu, so you can truely pick which one is the best for you, and not be pigeonholed into one or the other.
  • kronos_cornelius
    JasonAkkermanAfter you invent the next million dollar idea, let's see how eager you are to relinquish all rights and patents.
    It is a balance between open-source and close-source. Nobody is going to play your game if the rule is you always win. If Nvidia has all its technology close-sourced, it would be on track to become a monopoly. Nobody likes that so they would not license CUDA software. On the other hand if they open-source everything like Sun did, they will go bankrupt and the world will be worse for it.

    The balance is something like Google and IBM are doing, where you open-source some things ( like Android) but keep close source on other things (#1 Search Algorithm).

    Microsoft seems to be getting this idea now, with their openness of the Kinet. Apple never has and never will be able to get that idea into their business model, they depend on ignorant users. Thankfully for them, there is no shortage of them.
  • They should release the source to physx :)
  • enewmen
    I agree with dalethepcman. I wanted to see Nv use their CUDA experience to get an upper hand in OpenCL while slowing stop supporting CUDA. Or is there a chance CUDA IS better and Intel & AMD likes CUDA more?
  • CaedenV
    It is stuff like this that makes everyone know that CUDA exists, which makes demand for CUDA, when then brings programmers to use CUDA. AMD has something similar to CUDA, and as far as I understand it is quite powerful... but nobody knows about it because AMD doesn't know how to open things up enough to let other people use their technology in ways they never thought to.
    Personally I love the CUDA rendering in Premiere, and I am stoked at the mention that there will be future multi-card CUDA options in the future (SLi rendering... OMG that would be amazing!). CUDA produces better results in Premiere, and does it quickly :)
  • iLLz
    This is good. Although I see it as a way to compete with OpenCL, openness is definitely good and certainly gets the demand for CUDA up there.