Forgot your password?
typodupeerror
Programming

NVIDIA Releases Source To CUDA Compiler 89

Posted by Unknown Lamer
from the not-quite-there-yet dept.
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.
This discussion has been archived. No new comments can be posted.

NVIDIA Releases Source To CUDA Compiler

Comments Filter:
  • by Ken_g6 (775014) on Wednesday December 14, 2011 @12:04PM (#38370658) Homepage

    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.

  • by Anonymous Coward

    If they would open source video drivers too NVIDIA would be clear card of choice in *nix systems.

    • Re: (Score:3, Informative)

      by Anonymous Coward

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

      • Re: (Score:3, Informative)

        by Anonymous Coward

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

        • Re: (Score:1, Troll)

          by jpate (1356395)
          +1 idealist. If only...
          • Re:GPU drivers (Score:4, Insightful)

            by fnj (64210) on Wednesday December 14, 2011 @12:38PM (#38371096)

            Do you know something we don't? Is there some defiency in our understanding of patents? "A patent [wikipedia.org] ... 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).

            • by jpate (1356395)
              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.
              • by fnj (64210)

                I consider that practice a fundamental violation and agree that it should be stamped out.

                • by k_187 (61692)
                  Yup, any patent that has a software step should be required to disclose the source code at least as the best mode of the patent, if not part of the claims (depending on how strict you should be. When I'm elected Leader of the world, this will be like the 11th or 12th thing I'll do in office.
        • by tepples (727027)
          A single technology license can cover both a patented invention and related trade-secret know-how that is not patented. This know-how is how I understand "details about [...] patented crap", especially for patents that describe an invention in broad strokes. I imagine that patent licensors want NVIDIA to keep the secret parts secret too.
      • by bunratty (545641)
        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.
        • by avatar139 (918375)

          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.

          Really? Wow, and here I thought they're solely a means for companies that don't actually produce anything except lawsuits to make money via protectionist licensing schemes! :P

    • by Stele (9443)

      If they would open source video drivers too NVIDIA would be clear card of choice in *nix systems.

      It already is. At least in the post production industry. You don't see any of us wining about lack of open-source drivers. We just want to get stuff done with the most reliable drivers available.

  • by AdamJS (2466928)

    Does this mean eventually running CUDA applications on AMD GPUs?

    • by melonakos (948203)
      My guess is there will be some academic projects, like Ocelot, that will take a stab at this. But I doubt it will be a better path than using OpenCL directly as supported by AMD/ATI.
      • Re:So... (Score:5, Interesting)

        by fsckmnky (2505008) on Wednesday December 14, 2011 @12:52PM (#38371324)
        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 ).
        • by tepples (727027) <tepples AT gmail DOT com> on Wednesday December 14, 2011 @01:22PM (#38371874) Homepage Journal

          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.com]: "NVIDIA C or C++, PGI Fortran, or new language support, through LLVM-based CUDA compiler, to NVIDIA GPUs, x86 CPUs, and new processor support."

          • by fsckmnky (2505008) on Wednesday December 14, 2011 @01:29PM (#38371994)
            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.
            • by fsckmnky (2505008)
              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.
  • by Trepidity (597) <delirium-slashdot@@@hackish...org> on Wednesday December 14, 2011 @12:14PM (#38370810)

    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.

  • No they haven't (Score:5, Interesting)

    by PatDev (1344467) on Wednesday December 14, 2011 @12:17PM (#38370850)

    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.

    • by fnj (64210)

      It may so appear to some, but it may be so, or it may not be so in fact. We don't know whether they intend to open source it or not. Not from this article, anyway. It certainly doesn'y say it will NOT be open sourced, though.

    • Open Source != Free Software.

    • by Melkhior (169823)

      Why is everybody thinking this is big news?
      ftp://download.nvidia.com/CUDAOpen64/ [nvidia.com]
      The previous compiler, based upon Open64, has been available in source form since CUDA 1.0. They (partially) switched to LLVM in 4.1, and they also release the source code. They didn't have to, because unlike Open64 LLVM is not GPL, so it's nice of them, but it's not exactly earth-shattering news...

  • Stikypad [sic] has "given away" all of his "money" to a "qualified individual."

  • Discrete graphics is going away, they seem to be leaning increasingly towards the HPC market but that is tiny compared to the consumer graphics market that their company was built on. I just don't see it. Anyone?

    • by Ken_g6 (775014)

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

    • by hardwareman (144389) on Wednesday December 14, 2011 @12:49PM (#38371268) Homepage

      Well, They are making some of the best mobile/low-power solutions with the Tegra [nvidia.com] 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.

      • They are making some of the best mobile/low-power solutions with the Tegra [nvidia.com] family of chip-sets.

        That and nForce.

        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

        SWF games, such as those seen on Facebook, are targeted at PCs with Intel GMA (Graphics My Ass) IGPs. So to people for whom "gaming" means FarmVille and "upgrade" means buying a new PC, integrated graphics have replaced discrete.

        Xbox 360 and Wii have "integrated graphics" by AMD in the sense that the GPU is on the northbridge. The 360's graphics are also "integrated" in the sense that all 512 MB of its RAM can be used as VRAM. I'm not very familiar with the PS3 architecture other than tha

        • by hairyfeet (841228)

          If you are talking about chipsets my friend i'm afraid you are mistaken as nvidia got out of that business nearly two years ago, all they sell now is crappy old designs that they had finished before they got out of the business. i know because i'm having a fricking devil of a time with a new board thanks to the fact the Nvidia chips are so old they don't support AHCI and the last board did so Windows doesn't want to boot off the Nvidia. Learned a valuable lesson though, two actually. Nvidia boards are shit

      • by yupa (751893)
        You means the tegra2 that lacks neon support and have low memory bandwidth ?
    • by gupg (58086)

      Discrete graphics is going away, they seem to be leaning increasingly towards the HPC market but that is tiny compared to the consumer graphics market that their company was built on. I just don't see it. Anyone?

      Discrete GPU market is growing. See JPR's analyst reports http://jonpeddie.com/press-releases/details/embedded-graphics-processors-killing-off-igps-no-threat-to-discrete-gpus/ [jonpeddie.com]

      here is the full report http://jonpeddie.com/download/media/slides/An_Analysis_of_the_GPU_Market.pdf [jonpeddie.com]

      • long time.

        I'm going to print it out and put it on the shelf next to:

            * "Buggy whip industry still growing with no end in sight"
            * "Refrigeration is no threat to the ice delivery business"
            * "Travel agents expect little competition from internet sales"

  • Does this mean that AMD/ATI and nVidia are finally recognizing that the only people really losing out in their cold war are their users? I'm traditionally an AMD/ATI customer but have been leaning towards getting an nVidia card for the CUDA support in Adobe's Creative Suite, but if this means that at some point in the future the Radeon HD 7000 series will support CUDA and will potentially accelerate CS, then I'll stick with it...
  • by melonakos (948203) on Wednesday December 14, 2011 @12:46PM (#38371220)
    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 [accelereyes.com], which has both CUDA and OpenCL versions.
    • by melonakos (948203)
      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).
  • I think if there was a way to run the kernel in the CUDA cores would be awesome. I have a GTX GeForce 560 Ti - 384 cores. That would be awesome even if to use 1/2 of those in the kernel. Even if we used the GeForce 8800 with 112 cores. Wow...this could be awesome to use those for something productive. If you know of a linux that will run in the CUDA cores I would be happy to know about it.

"Neighbors!! We got neighbors! We ain't supposed to have any neighbors, and I just had to shoot one." -- Post Bros. Comics

Working...