Channels ▼
RSS

Design

Running CUDA Code Natively on x86 Processors


Limitations and Road Map

Currently, the CUDA compiler for x86 can build runtime API CUDA applications and SDK examples. Functionality is still being added for the texture units, as well as the CUBLAS and CUFFT libraries. Similarly, Thrust-based applications do not work at this time, although they should in the near future. CUDA driver API codes are not supported because CUDA-x86 does not require a GPU driver.

The technology concept behind the first release of the CUDA-x86 compiler is to get the product into the hands of developers to have them find bugs and identify incompatibilities. It also helps PGI create a solid regression test suite that can be used to test the optimized compiler scheduled for the second half of 2011. So, if you like the idea using CUDA for both GPU and x86, then download the functional release and help PGI deliver a solid optimizing compiler in the near future.

Longer term, as illustrated in Figure 2, PGI has plans to roll out additions and enhancements in stages:

  1. Seamless portability for CUDA runtime API applications. The functional release available now can be downloaded for Linux, Mac, and Windows.
  2. Optimized CUDA performance on x86 in the fourth quarter of this year.
  3. Application delivery through a single binary starting in the second half of 2012.

Once the PGI Unified Binary format is available in 2012, only a single binary will need to be shipped to support both GPU and CPU markets. I expect to be covering that product in Dr. Dobb's once it's released.

Summary

With the advent of a native x86 compiler, CUDA is maturing into a Viable, multi-vendor development framework for applications that can run on most of the world's computers and operating systems. Projects such as kgpu are even enabling significant speedups of Linux kernel-based capabilities such as the encrypted file system eCryptfs.

The PGI roadmap and early software release program aligns well with product development efforts that want to capitalize on the speed of CUDA-enabled hardware, while also leveraging the huge volume of potential x86-based customers as well.

For More Information


Rob Farber is a visiting HPC expert at Irish Center for High-End Computing (ICHEC), supported by Science Foundation Ireland.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<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

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video