Nvidia Does Accelerated Programming

Santa Clara (CA) - Back when we first saw the capabilities of Nvidia’s CUDA technology and Tesla acceleration cards, it was clear to us that the company had all the tools necessary to change the way we use computers today - the enormous computing horsepower of graphics cards open up possibilities we have talked about for some time, but didn’t think were possible in the foreseeable future. The company now challenges developers for the first time to exploit the hidden potential graphics cards in a mainstream application.

Nvidia was first to come up with a development framework that used a relatively easy-to-learn way to accelerate traditional CPU-centric applications through a graphics processor. But while CUDA, which is based on C++ and has some GPGPU extensions, is generally available, Nvidia pitched the technology mainly to universities, scientists and industries that have a need for floating-point-heavy applications - such as financial institutions and the oil and gas sector.

Both Nvidia and ATI have been showing mainstream applications based on GPGPU technologies, but neither one has targeted the mainstream application segment yet. When we asked Nvidia CEO Jen-Hsun Huang when Cuda would go into the mainstream market, he told us that such a move would depend on Microsoft and their efforts to provide a Windows interface for GPGPUs.

It appears that Nvidia is shifting its enterprise-only strategy and is turning its focus on a mainstream opportunity as well. In a contest announced today, the company looks for the "most talented CUDA programmers in the world". Nvidia will provide a "partially GPU-optimized version of an MP3 LAME encoder" and asks developers to "optimize [the software] to run as fast as possible on a Cuda-enabled GPU." The encoder has to be created in the CUDA programming environment and must achieve a speed up in run-time.

So, the challenge in this contest is not to port a mainstream application to CUDA, but rather optimize it to squeeze as many gigaflops out of the GPU as possible. That challenge may sound easier than it really is, as we were told before by researchers at University of Illinois’ Beckman Institute and the National Center for Supercomputing Applications that getting an application to run on a GPGPU is the simple task, while accelerating it takes up most of the time - and knowledge.

Those scientific GPGPU applications simulating fluid dynamics or biological processes are impressive to watch, but of course we are interested to see what these processors are capable of in mainstream applications. AMD previously demonstrated its stream processors in an application that rendered a user’s hand, which was captured by a webcam, in near real-time and replaced the mouse as moving around objects on a screen.

Optimizing an MP3 encoder is far from the sophistication of such an application, but it is a first step.


Create a new thread in the US News comments forum about this subject
This thread is closed for comments
Comment from the forums
    Your comment
  • Anonymous
  • randomizer
    Running Vista on GPGPU... sounds like fun :D
  • christian summer
    if you consider the power efficiency of gpgpu processing to that of normal intel based chips you will also see many disadvantages...sure we all have a miniature super computer inside each graphics card...sure we have super high system bandwidth over the pci x(2.0)etc bus and extremely fast and high capacities of video ram...but the gpu's eat a hell of a lot more power under load than a general purpose processor...

    while it would be great to take advantage of the gpu horse power, especially in fpu intensive processing, i dont see the gpu completely replacing the processor anytime soon...i am an artist that does a lot of music and video, and it would be great to offload a lot of the processing, but when i am running word or surfing the internet i dont need my computer eating quite as many watts as playing cod4...