Live data from Hacker News

Nvidia Opens CUDA Platform, Releases Compiler Source Code

developer.nvidia.com

1–10 of 30 posts

Re: Nvidia Opens CUDA Platform, Releases Compiler Source Code

#3

Unfortunately, it does not say what license will be used, which is probably relevant if they want to create an ecosystem around the compiler.

I agree that the exact licensing terms are somewhat relevant if you intend to depend on this software.

However, it's worth noting that the compiler in question is LLVM based. So you can construct your own compiler frontend that generates LLVM IR code that can be compiled for CUDA by their backend. It's very likely that there are some CUDA-specific LLVM intrinsics, so the frontend will not be entirely independent of CUDA compiler licensing terms but at least now you have a somewhat open interchange format to use between your frontend and the CUDA backend.

Re: Nvidia Opens CUDA Platform, Releases Compiler Source Code

#6

we just need documentation to understand what the generated code does then, as AFAIK the output is code for undocumented hardware.

There's a good chance the LLVM backend will emit PTX, not machine code. PTX is well documented [1]. Under such a system, the generated PTX would be JITed at runtime by the driver.

Note that LLVM already has a (very experimental and not complete) PTX backend [2].

[1] http://developer.download.nvidia.com/compute/cuda/3_0/toolki...

[2] http://llvm.org/releases/3.0/docs/ReleaseNotes.html#whatsnew

Re: Nvidia Opens CUDA Platform, Releases Compiler Source Code

#7

we just need documentation to understand what the generated code does then, as AFAIK the output is code for undocumented hardware.

It is undocumented but you can get a fairly decent idea of what is going on if you have a good understanding of such architectures in general and from the sparse documentation they provide, if you run microbenchmarks and use tools such as decuda (https://github.com/laanwj/decuda/wiki).

Also people working with those devices are often scientists that are eager to share what they found out (if only to say "You're doing it wrong!"). See for example Vasily Volkov's work here http://www.cs.berkeley.edu/~volkov/

Re: Nvidia Opens CUDA Platform, Releases Compiler Source Code

#8

This sounds very exciting! I guess it's not totally related, but I hope VLC Player will get better Nvidia hardware acceleration soon...!

It's pretty much not related at all. VLC is a player UI client, it doesn't have codecs of its own. You should be wishing for better GPU acceleration in libavcodec if anything (but even that isn't implemented with CUDA).

Re: Nvidia Opens CUDA Platform, Releases Compiler Source Code

#9
IMO, open sourcing their GPU libraries would be a much bigger deal than only open sourcing the compiler. I would like to see CUBLAS, CUFFT, CUSPARSE, CURAND, etc all get opened up to the community.

The pain is not in compiling GPU code; rather, the pain is in writing good GPU code. The major difference between NVIDIA and AMD (and the major edge NVIDIA has over AMD) is not as much the compiler as it is the libraries.

Of course, I'm biased, because I work at AccelerEyes and we do GPU consulting with our freely available, but not open source, ArrayFire GPU library, which has both CUDA and OpenCL versions.

Re: Nvidia Opens CUDA Platform, Releases Compiler Source Code

#10

IMO, open sourcing their GPU libraries would be a much bigger deal than only open sourcing the compiler. I would like to see CUBLAS, CUFFT, CUSPARSE, CURAND, etc all get opened up to the community. The pain is not in compiling GPU code; rather, the pain is in writing good GPU code. The major difference between NVIDIA and AMD (and the major edge NVIDIA has over AMD) is not as much the compiler as it is the libraries.…

Also, OpenCL is not going away, even if someone figured out how to get CUDA code to run well on ATI GPUs. OpenCL is gaining a lot of traction by mobile GPU vendors too (e.g. ARM Mali, Imagination PowerVR, Qualcomm Adreno, etc)
Post reply on HN