Slashdot Mirror


NVIDIA Releases Source To CUDA Compiler

An anonymous reader writes "NVIDIA has announced they have 'open-sourced' their new CUDA compiler so that their GPGPU platform can be brought to new architectures. NVIDIA's CUDA compiler is based upon LLVM. At the moment though they seem to be restricting the source code's access to 'qualified' individuals.' The official press release implies wider access to the source will happen later. It so happens that a few days ago AMD opened their OpenCL backend and added initial support to the Free Software r600 driver.

22 of 89 comments (clear)

  1. Should work well with AMD 7000 series by Ken_g6 · · Score: 2

    Based on what we know about the high-end AMD 7000 series, that it will forgo VLIW for separate threads, CUDA might actually work very well on that architecture. As long as the right 'qualified' individuals work on it.

    --
    (T>t && O(n)--) == sqrt(666)
    1. Re:Should work well with AMD 7000 series by GameboyRMH · · Score: 3, Interesting

      D'oh, NM, I RTFA'd:

      Nvidia's CUDA compiler will be able to create code that supports more programming languages and will run on AMD and Intel processors, while previously it ran only on Nvidia's GPUs. The company made the announcement today at the GPU Technology Conference in Beijing.

      Continuing to call it a CUDA compiler is a bit misleading then isn't it?

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
  2. Re:GPU drivers by Anonymous Coward · · Score: 3, Informative

    They cant, not fully at least. They have to keep details about tilt-bits and other DRM and patented crap secret.

  3. any word on a license? by Trepidity · · Score: 3, Insightful

    Despite the phrase "open-source", there seems to be a distinct lack of information about whether this is a "source is now available for inspection" type release, or actually under an open-source license, and if so, which one.

  4. Re:GPU drivers by Anonymous Coward · · Score: 3, Informative

    If it's patented, then it isn't a secret anymore, by virtue of the patent.

  5. No they haven't by PatDev · · Score: 5, Interesting

    Title is correct. From TFA, the summary appears wrong. It seems they are not open sourcing anything. To quote TFA

    On December 13th, NVIDIA announced that it will open up the CUDA platform by releasing source code for the CUDA Compiler.

    They will let you look at the code, and they might let you send patches back to them. Nowhere I can find did NVIDIA promise anything along the lines of an open license, or even any license at all. This is more like a Microsoft shared-source deal, where you can look, but no rights or privileges are transferred to you.

    That said, it would still be cool to see.

  6. Re:Can someone tell me NVidia's business model? by Ken_g6 · · Score: 2

    (Off topic): [url=http://en.wikipedia.org/wiki/Tegra]Tegra[/url]? (An ARM chip with nVIDIA graphics.)

    --
    (T>t && O(n)--) == sqrt(666)
  7. Re:GPU drivers by fnj · · Score: 3, Insightful

    Do you know something we don't? Is there some defiency in our understanding of patents? "A patent ... consists of a set of exclusive rights granted by a sovereign state to an inventor or their assignee for a limited period of time in exchange for the public disclosure of an invention" (emphasis added).

  8. Re:In related news by chill · · Score: 2

    Ah, you're married, aren't you.

    --
    Learning HOW to think is more important than learning WHAT to think.
  9. Open Source the Libraries by melonakos · · Score: 4, Interesting

    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.

    1. Re:Open Source the Libraries by melonakos · · Score: 2

      Also, OpenCL is not going anywhere, even if someone figured out how to get CUDA code to run well on ATI GPUs. In addition to many other reasons which I'm are getting discussed in these comments, OpenCL is gaining a lot of traction by mobile GPU vendors too (e.g. ARM Mali, Imagination PowerVR, Qualcomm Adreno, etc).

  10. Re:Can someone tell me NVidia's business model? by hardwareman · · Score: 4, Informative

    Well, They are making some of the best mobile/low-power solutions with the Tegra family of chip-sets.

    I also believe that it's still going to take some time before the integrated solutions (Intel IGP and AMD Fusion) are good enough to replace discrete graphics for gamers - where they are strong today.

  11. Re:So... by fsckmnky · · Score: 4, Interesting

    imho ... OpenCL is a much better path, because it can execute code on a CPU as well as a GPU. It can even target FPGAs for executing the parallel operations on reconfigurable hardware, as well as sharing output paths with OpenGL for visualization.

    The Nvidia driver ( at least for linux ) currently seems to only support Nvidia GPUs as a target, but the AMD driver supports AMD GPUs as well as the host systems CPU. Again, on linux at least, you can install both AMD and Nvidias drivers if you want to utilize your CPU ( via AMD driver ) and Nvidia GPU ( via Nvidia driver ) at the same time, although there are some minor framework related hoops to jump through to get parallel execution across multiple device platforms concurrently.

    These features seem to indicate native CUDA is pretty much a dead platform ( looking forward ).

  12. Re:Still no news about the specific license by hedwards · · Score: 2, Interesting

    OK, then how do you explain the rather large numbers of companies that give back to BSD projects? This anti-BSD FUD that the Linux and GPL camp seem to need to spread got old many,many years ago.

    Without a permissive license the internet would have been greatly delayed as MS and the others would have had to develop their own TCP/IP stack from scratch.

  13. Re:GPU drivers by bunratty · · Score: 2

    Without patents, there would be far more trade secrets. Patents make inventions public, not private. That's the whole purpose of patents: to promote the spread of ideas by making them public.

    --
    What a fool believes, he sees, no wise man has the power to reason away.
  14. From TFA: CUDA runs on x86 by tepples · · Score: 3, Interesting

    OpenCL is a much better path, because it can execute code on a CPU as well as a GPU.

    So can CUDA, according to a graphic in one of the featured articles: "NVIDIA C or C++, PGI Fortran, or new language support, through LLVM-based CUDA compiler, to NVIDIA GPUs, x86 CPUs, and new processor support."

    1. Re:From TFA: CUDA runs on x86 by fsckmnky · · Score: 3, Interesting

      And as I said, the OpenCL driver I downloaded from Nvidia a week ago, doesn't support CPU's as a target. This is not to say CUDA isn't capable of doing this at some point or with some 3rd party addition, just that the capability currently doesn't exist, or at the very least, isn't being provided by Nvidia.

      Given the choice of a vendor-neutral platform, or a vendor-supplied platform ( where the odds of CUDA having support for AMD GPU's is near 0 ) ... as a developer, which would you choose ?

      Hence my prediction, OpenCL will win ( the hearts and minds contest ). It's already won mine. I wouldn't touch CUDA for fear of being locked into Nvidia products versus the open, broad support, of OpenCL. I even ordered an AMD video card, so I can ditch the Nvidia only driver entirely.

    2. Re:From TFA: CUDA runs on x86 by fsckmnky · · Score: 2

      and now that I contemplate this more, it seems like this announcement is Nvidia's attempt to win back people like myself, and convince everyone to use CUDA instead of OpenCL. Much like the DirectX vs OpenGL thing Microsoft pulled off, but perhaps with less chance of success.

  15. Re:GPU drivers by jpate · · Score: 2

    That might be the intent, but, for a lot of software patents, at least, the language is too vague and broad to for things to work out this way. They're written with the intent of catching as many possible technologies in the same net; disclosure is not a concern.

  16. Re:GPU drivers by hairyfeet · · Score: 3, Interesting

    Yes, please help proprietary hardware vendors by making sure nobody will support you, that's the ticket!

    I mean what do you think other hardware vendors are gonna do? they are gonna look at what happened with AMD. AMD releases all the specs they can (there are some bits that are part of HDCP they don't have the right to release) and even go so far as to hire developers out of their own pocket to support the free drivers, and what does the community do? What do you see on every forum, including here? "LOL use nvidia".

    Any company with a brain after seeing that would tell you and the rest of your little ungrateful "community" to fuck right off. So thanks, you are helping to ensure that FOSS stays the choice of hobbyist nerds and never gains any share, making sure guys like me have plenty of work, appreciate it pal.

    --
    ACs don't waste your time replying, your posts are never seen by me.
  17. Re:GPU drivers by marcosdumay · · Score: 2

    "It is shit, but will be supported and won't stop working after the kernel upgrades from 3.8.54-patch3 to 3.8.54-patch4."

    Seems to be a sane option.

  18. Re:sitting idle by Bengie · · Score: 2

    You probably wouldn't gain anything. Passing data between your CPU and GPU has a high latency penalty. OpenVPN processes small amounts of data. You would need to probably buffer a few hundred KB before it would become worth it.

    A GPU would be great for any large amounts of data, like a block device, but small packetized datastreams work best with super low latency instruction level acceleration.

    My guess anyway.