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.
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)
They cant, not fully at least. They have to keep details about tilt-bits and other DRM and patented crap secret.
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.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
If it's patented, then it isn't a secret anymore, by virtue of the patent.
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.
(Off topic): [url=http://en.wikipedia.org/wiki/Tegra]Tegra[/url]? (An ARM chip with nVIDIA graphics.)
(T>t && O(n)--) == sqrt(666)
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).
Ah, you're married, aren't you.
Learning HOW to think is more important than learning WHAT to think.
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.
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.
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 ).
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.
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.
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."
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.
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.
"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.
Rethinking email
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.