Channels ▼

Open Source

NVIDIA CUDA 4.0 Aims To Open Doors To Parallel Programming

Graphics processing unit pioneer NVIDIA has announced the latest version of its CUDA toolkit for developing parallel programming-compliant applications using NVIDIA GPUs. The toolkit's central proposition is to build a gateway for more developers to port their applications to GPUs by providing NVIDIA GPUDirect 2.0, a technology that offers support for peer-to-peer communication among GPUs within a single server or workstation -- a feature which the company says will enable easier and faster multi-GPU programming and application performance.

CUDA also features two other main parallel programming-enabling functions. Unified Virtual Addressing (UVA) to provide a single merged-memory address space for the main system memory and the GPU memories, enabling quicker and easier parallel programming -- and second, Thrust C++ template performance primitives libraries, a collection of open source C++ parallel algorithms and data structures intended to ease programming for C++ developers. With Thrust, routines such as parallel sorting are five to one hundred times faster than with Standard Template Library (STL) and Threading Building Blocks (TBB).


  • Multi-thread sharing of GPUs -- Multiple CPU host threads can share contexts on a single GPU, making it easier to share a single GPU by multi-threaded applications.
  • MPI integration with CUDA applications -- Modified MPI implementations like OpenMPI automatically move data from and to the GPU memory over Infiniband when an application does an MPI send or receive call.
  • Multi-GPU sharing by single CPU thread -- A single CPU host thread can access all GPUs in a system. Developers can then coordinate work across multiple GPUs for tasks such as "halo" exchange in applications.
  • New NPP image and computer vision library -- A set of image transformation operations that enable rapid development of imaging and computer vision applications.


Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags


<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags


<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

