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:
- Seamless portability for CUDA runtime API applications. The functional release available now can be downloaded for Linux, Mac, and Windows.
- Optimized CUDA performance on x86 in the fourth quarter of this year.
- 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
- CUDA, Supercomputing for the Masses: Part 21
- CUDA, Supercomputing for the Masses: Part 20
- CUDA, Supercomputing for the Masses: Part 19
- CUDA, Supercomputing for the Masses: Part 18
- CUDA, Supercomputing for the Masses: Part 17
- CUDA, Supercomputing for the Masses: Part 16
- CUDA, Supercomputing for the Masses: Part 15
- CUDA, Supercomputing for the Masses: Part 14
- CUDA, Supercomputing for the Masses: Part 13
- CUDA, Supercomputing for the Masses: Part 12
- CUDA, Supercomputing for the Masses: Part 11
- CUDA, Supercomputing for the Masses: Part 10
- CUDA, Supercomputing for the Masses: Part 9
- CUDA, Supercomputing for the Masses: Part 8
- CUDA, Supercomputing for the Masses: Part 7
- CUDA, Supercomputing for the Masses: Part 6
- CUDA, Supercomputing for the Masses: Part 5
- CUDA, Supercomputing for the Masses: Part 4
- CUDA, Supercomputing for the Masses: Part 3
- CUDA, Supercomputing for the Masses: Part 2
- CUDA, Supercomputing for the Masses: Part 1
Rob Farber is a visiting HPC expert at Irish Center for High-End Computing (ICHEC), supported by Science Foundation Ireland.


