Parallel computing and GPGPU, the super-PC genesis between universal libraries and proprietary platforms

December 29, 2008 · Filed Under Hardware & Peripherals, In Depth 

In Depth - A merciless lens pointed on the hot topics, passionate and detailed retrospectives, reflections beyond the appearances Far from slowing down because of the worldwide economic crisis, PC technology evolution (and particularly the videogaming peripherals one) continues to break records and Gigaflops, opening usage scenarios that was solely related to super-computers just a few years ago. Such scenarios are currently colliding with the opposite development of standards and API competing with each other, resulted from the desire of market supremacy or from the need to reach an agreement on a common computing platform.

The discreet graphic peripherals scenario has become extremely complex in a relatively short period of time, and what can be considered no more like simple “accelerator cards” for 3D videogames years by now have achieved an even greater importance since Intel decided to fight on the same ground of NVIDIA and AMD-ATI opposing the well-known GeForce and Radeon brands with the upcoming Larrabee technology.

Next to the exponential growth of the mere power, modern GPUs feature a design able to magnify their capabilities in those fields in which it is necessary to crunch complex mathematical algorithms, a design that includes a great number of computing units working in parallel. The functionality and the versatility of the many stream processors within the modern GeForce or Radeon cards allow the manufacturers to sell such cards like general purpose graphics processing units (GPGPU), that is peripherals capable of working on stuff not necessarily linked to real-time (videogame) 3D graphics.

To take advantage of such hardware in areas ruled by the traditional CPUs it is obviously essential to be able to count on suitable software development tools, software like the CUDA (Compute Unified Device Architecture) framework with which NVIDIA has turned whatever GeForce (starting from the “8″ series) in a GPGPU peripheral relatively simple to program with some common code written in C language.

For the GPGPU-powered parallel computing market to explode there is however the need for a less exclusive approach as the CUDA and competing AMD-ATI technology Stream one, a standard that at the beginning of December has taken shape with the release of the 1.0 specifics of OpenCL. Open Computing Language is “the first open, royalty-free standard for general-purpose parallel programming of heterogeneous systems“, a uniform programming environment capable of exploiting the simultaneous presence on PC, servers, handheld devices and videogaming consoles of multi-core CPU, GPU, DSP processors and more.


By creating an efficient, close-to-the-metal programming interface“, it can be read on the standard homepage, “OpenCL will form the foundation layer of a parallel computing ecosystem of platform-independent tools, middleware and applications“. OpenCL starts up like an industrial standard supported by a huge number of IT companies including NVIDIA, AMD, Intel, IBM, Nokia, Samsung, Broadcom, Texas Instruments and much more.

In respect of the specific GPGPU area, OpenCL finally brings the opportunity for users and companies to invest on a concrete development, during the next months and years, of scenarios in which the GPU power will be exploited to the max without obviously the exclusion of programming extremely elaborated videogames from a graphical and technical standpoint. Both AMD and NVIDIA have rushed to guarantee support to OpenCL on Radeon and GeForce cards, and NVIDIA has in particular stated that the new open standard will be implemented on the basis of its CUDA proprietary architecture.

Manju Hegde, NVIDIA’s CUDA division general manager, has revealed that now the official nomenclature defines “CUDA” as the overall technology which lets the GeForce cards make general-purpose computations, while “C for CUDA” refers to the programming language at first known as “CUDA”. The CUDA platform is able to indistinctly run both OpenCL and C for CUDA software, Hedge says, and the difference between the two tools is that the first can be used by programming the hardware in details while the second also features a high-level programming style with an abstraction layer that “is at the same level as C“.

CUDA Architecture

NVIDIA, the larger discreet PC GPU manufacturer, has decided in short to follow a double track for the GPGPU applications supporting OpenCL but advancing at the same time the work made with (C for) CUDA until now. Conversely AMD is persuaded about the certain death of proprietary standards, and with Director of Technical Marketing Godfrey Cheng retorts to the NVIDIA “success” with its PhysX, the 3D physics technology that is spreading among the videogame makers like Electronic Arts and the Mirror’s Edge software house.

Cheng states that Havok, PhysX competing middleware technology acquired by Intel that should be supported by the AMD GPU within the next months, is better than the NVIDIA’s proprietary one implemented as an extension of the CUDA platform and it has already been used in more than 150 games since 2000, and that above all the exclusive agreements between NVIDIA and publishers won’t be enough to push PhysX adoption now that a universal and open framework like OpenCL is available.

While the competition in the new field of GPGPU-based computing starts, waiting for Intel and Larrabee NVIDIA and AMD-ATI continue to struggle for the pure performance leadership with 3D graphics applied to videogames. The ATI Radeon HD 4870 X2 card, based on the RV770 architecture featuring two GPU in parallel on the same PCB will be soon forced to hand over the scepter to GeForce GTX 295, the new speed queen (GT200 architecture, 2 GTX 280 GPU+PCB stacked in a single package, 240 stream processors per core and 1.792 Megabytes of overall RAM) according to the preview from PC Perspective that will be available from 2009 at the cheap price of about 500 dollars.

GeForce GTX 295

Share this post!
  • Slashdot
  • Reddit
  • Digg
  • Facebook
  • StumbleUpon
  • Technorati

Related posts


Leave a Reply