NVIDIA release CUDA 2.0

Monday 25th August 2008, 01:15:00 PM, written by Rys

After a relatively short public beta period, NVIDIA have gone gold with 2.0 of CUDA, their C-based programming environment for their recent graphics processors.

Not to be confused with the compute capability of the devices that support CUDA, 2.0 of the toolkit is an upgrade to the programming environment rather than hardware support (although the two intermix at times of course).

Want to know what's new in 2.0?  Read our analysis!

Want to get CUDA 2.0 and start tinkering? Grab the software from developer.nvidia.com and hit the CUDA forums.

Discuss on the forums

Tagging

nvidia ± cuda, 2.0, development, gpgpu, tim, murray


Latest Thread Comments (17 total)
Posted by Tim Murray on Thursday, 21-Aug-08 16:06:01 UTC
Quoting Rootax
Hum, all 177.xx drivers support Cuda 2 i believe.I say that because you can run folding@home with any 177.xx driver, and i think f@h requires cuda 2, so...(sorry for my english)
Correct--so long as you have a 177.xx driver, you support CUDA 2.

Posted by Scali on Friday, 22-Aug-08 08:32:34 UTC
Yes, I tried with the 177.83 driver (from the PowerPack stuff), and most Cuda 2.0 stuff ran on my 8800GTS320.
Both D3D and OGL worked one, which is good. There were a handful of examples that didn't work, but I'm not sure if it's a driver problem, or the fact that I have a G80-based card, and it requires a newer architecture.
One such example reported my card as a Cuda 1.0 device?

Posted by pcchen on Friday, 22-Aug-08 09:52:08 UTC
8800GTS 320MB (which is based on G80) is indeed a CUDA 1.0 device.

Posted by Rootax on Friday, 22-Aug-08 10:01:21 UTC
I'm not sure i understand but, g80 compute capability is 1.0 (1.1 for g8x and g9x, 1.3 for gt200, etc ), ok , but it is not related to cuda version (1.0 or 2.0), right ?

Posted by pcchen on Friday, 22-Aug-08 10:21:07 UTC
Yeah, it's a bit confusion. Basically a device has "compute capability" from 1.0 to 1.3 right now. G80 is 1.0, G8x/G92 is 1.1, and GT200 is 1.3. 1.2 devices are mysteriously missing right now.

CUDA version, on the other hand, is about softwares, including driver, toolkits, etc. The latest one is CUDA 2.0.

Posted by Scali on Friday, 22-Aug-08 10:45:48 UTC
Okay, so I can probably assume that the examples that didn't work require a later card.
I've not really looked into that "compute capability" stuff yet, saw the term mentioned here and there.
I'll look around to see what those different versions mean when developing software. I hope there's a relatively easy way to make Cuda work on all architectures (without just going lowest common denominator).

Posted by silent_guy on Friday, 22-Aug-08 15:55:23 UTC
Quoting Scali
I hope there's a relatively easy way to make Cuda work on all architectures (without just going lowest common denominator).
There isn't. If you want to use > 1.0 compute capabilities (e.g. atomic updates), it's simply going to work on a G80.

Posted by Tim Murray on Friday, 22-Aug-08 18:22:03 UTC
Compute 1.0: basic CUDA compatibility.Compute 1.1: asynchronous memory copies and atomic global operationsCompute 1.2: dramatically improved memory coalescing rules, double the register count, intra-warp voting primitives, atomic shared memory operations, probably other stuff I'm forgettingCompute 1.3: double precisionG80 is 1.0, G84, G86, G92, G94, G96, and G98 are 1.1, and GT200 is 1.3.

Posted by Scali on Friday, 22-Aug-08 22:27:24 UTC
Quoting silent_guy
There isn't. If you want to use > 1.0 compute capabilities (e.g. atomic updates), it's simply going to work on a G80.
I assume you mean it's NOT going to work.
Yes I figured that. But I was thinking about setting up multiple code paths. Just like how you'd have an SSE and non-SSE codepath in x86 applications for example.

Posted by pcchen on Saturday, 23-Aug-08 09:38:15 UTC
Quoting Scali
I assume you mean it's NOT going to work.
Yes I figured that. But I was thinking about setting up multiple code paths. Just like how you'd have an SSE and non-SSE codepath in x86 applications for example.
It should be possible, as .cubin files are loaded like a dynamic linked library. So a program can detect the computing capability of the device then decide which .cubin file to use.


Add your comment in the forums

Related nvidia News

So long, Chris, and thanks for all the fish
NVIDIA GF100 graphics architecture details
NVIDIA Fermi: new GPU architecture, starting with GF100
NVIDIA release OpenCL GPU drivers for Linux and Windows
NVIDIA GeForce GTX 275 at $250 to fight HD 4890
A look at NVIDIA's SLI Multi-OS and new Quadros
Ahead Nero gets CUDA support for video encoding
G92b renamed again, this time for notebooks
NVIDIA GeForce GTS 250 announced
New NVIDIA display driver for Windows 7 beta