Feeds

Nvidia kicks out CUDA 3.1 for GPUs

Parallel Nsight plug-in for Visual Studio, too

Next gen security for virtualised datacentres

If GPU coprocessors are going to go mainstream as adjuncts to CPUs in workstations and servers, the programming has to get easier and developers have to be able to exploit the languages, libraries, and development tools they have traditionally been using to create applications for PCs and servers.

With the launch of the CUDA 3.1 development kit and the Parallel Nsight plug-in for Microsoft's Visual Studio IDE, Nvidia is several steps closer to splashing in that mainstream.

While the CUDA 3.1 software development kit, which you can get here, was announced today alongside the Parallel Nsight plug-in, Ian Buck, software director for GPUs at Nvidia, says the code has actually been available since June 23 and has already gotten tens of thousands of downloads.

The original CUDA 1.X toolkit from 2007 had a C compiler made by Nvidia and C extensions to allow routines to be dispatched to Nvidia GPUs in a workstation or server. The SDK could do single precision math on one or more GPUs in a machine and supported 64-bit Windows XP platforms. In 2008, with the CUDA 2.X toolkit and the next generation of GPUs, Windows Vista and Mac OS X support was added, as was the ability to do double-precision math calculations on the "Tesla" family of GPUs; the Parallel Nsight plug-in for Visual Studio went into beta that year.

With the CUDA 3.0 toolkit, which came out in March of this year concurrent more or less with the "Fermi" GPUs, Nvidia added support for C++ class templates and class inheritance, beefing up its C++ support. (The official Fortran compiler for Nvidia GPUs comes from Portland Group, and according to Buck, there is no plan for Nvidia to cook up its own Fortran - or Java or PHP or any other languages other than C and C++.)

With CUDA 3.1, the SDK is getting a feature called GPUDirect, a technology Nvidia has developed in conjunction with InfiniBand networking specialist Mellanox to allow direct GPU-to-GPU data transfers over InfiniBand networks without getting those silly CPUs (who think they run everything in the system) involved. The GPUDirect APIs are about more than an InfiniBand adapter, of course, and have been written to give any third party device a means of accessing GPU memory directly. GPUDirect is supported on Quadro graphics cards and Tesla GPUs.

As you can see from the release notes, CUDA 3.1 also gives 16-way kernel concurrency, allowing for up to 16 different kernels to run at the same time on Fermi GPUs. Buck said a bunch of needed C++ features were added, such as support for function pointers and recursion to allow for more C++ apps to run on GPUs as well as a unified Visual Profiler that supports CUDA C/C++ as well as OpenCL. The math libraries in the CUDA 3.1 SDK were also goosed, with some having up to 25 per cent performance improvements, according to Buck.

Looking ahead, it doesn’t look like the GNU C/C++ compiler will ever be ported by Nvidia to GPUs, but there's nothing stopping the open source community from doing so. Looking ahead to the future of CUDA, Buck says that generally speaking, anything that a CPU can do in terms of programming will have to be supported on the GPU. That's why Nvidia will be adding more and more C++ features to CUDA over time, adding new libraries for better supporting image processing and better exploiting the parallelism in the GPU to do calculations. Generally speaking, the idea will be to have applications rely less and less on the CPU and just let the GPUs do all of the hard work. The plan calls for integrating GPUs more deeply into systems and allowing job schedulers uses to control parallel supercomputing clusters to reach in and control GPUs as they do CPUs today.

The essential guide to IT transformation

More from The Register

next story
The Return of BSOD: Does ANYONE trust Microsoft patches?
Sysadmins, you're either fighting fires or seen as incompetents now
Microsoft: Azure isn't ready for biz-critical apps … yet
Microsoft will move its own IT to the cloud to avoid $200m server bill
Oracle reveals 32-core, 10 BEEELLION-transistor SPARC M7
New chip scales to 1024 cores, 8192 threads 64 TB RAM, at speeds over 3.6GHz
US regulators OK sale of IBM's x86 server biz to Lenovo
Now all that remains is for gov't offices to ban the boxes
Object storage bods Exablox: RAID is dead, baby. RAID is dead
Bring your own disks to its object appliances
Nimble's latest mutants GORGE themselves on unlucky forerunners
Crossing Sandy Bridges without stopping for breath
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
7 Elements of Radically Simple OS Migration
Avoid the typical headaches of OS migration during your next project by learning about 7 elements of radically simple OS migration.
BYOD's dark side: Data protection
An endpoint data protection solution that adds value to the user and the organization so it can protect itself from data loss as well as leverage corporate data.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?