backtop


Print 38 comment(s) - last by R0B0Ninja.. on Aug 8 at 7:42 AM

NVIDIA says its GPUs are in fact programmable in C language

Yesterday, DailyTech ran a story about details on Intel's upcoming Larrabee architecture for the graphics market. One of Intel's most important talking points when it plays up the benefits of Larrabee over NVIDIA's GPUs is the fact that NVIDIA's GPUs require developers to learn a new programming language called CUDA.

Intel says that with its Larrabee architecture developers can simply program in C or C++ languages for just as they would for any other x86 processor. According to Intel, the ability to program Larrabee with C or C++ makes it much easier for developers to port applications from other platforms to the Larrabee architecture.

After DailyTech ran the story, NVIDIA wanted to address what it considers to be misinformation when it comes to CUDA. NVIDIA says:

CUDA is a C-language compiler that is based on the PathScale C compiler. This open source compiler was originally developed for the x86 architecture. The NVIDIA computing architecture was specifically designed to support the C language - like any other processor architecture. Competitive comments that the GPU is only partially programmable are incorrect - all the processors in the NVIDIA GPU are programmable in the C language.

NVIDIA's approach to parallel computing has already proven to scale from 8 to 240 GPU cores. Also, NVIDIA is just about to release a multi-core CPU version of the CUDA compiler. This allows the developer to write an application once and run across multiple platforms. Larrabee's development environment is proprietary to Intel and, at least disclosed in marketing materials to date, is different than a multi-core CPU software environment.

Andrew Humber from NVIDIA distilled things a bit further saying, "CUDA is just our brand name for the C-compiler. They aren't two different things."

Humber also pointed out that at NVIDIA's financial analyst day in April it showed an astrophysics simulation running on integrated graphics with an eight-core GPU, a GeForce 8 series GPU with 128 cores and a quad-core CPU. NVIDIA says that the demonstration used exactly the same binary program across the range of GPUs and the exact same source code for the CPU and GPU.



Comments     Threshold


This article is over a month old, voting and posting comments is disabled

By MisterAnderson42 on 8/5/2008 5:23:45 PM , Rating: 5
CUDA is MUCH closer to C than you are assuming. The only additions NVIDIA made to C were some built in variables and a new syntax to call a function specifying the grid of threads it executes on the GPU.

Basically, any C code goes in the kernel: enums, structs, pointer arithmetic, switch statments, etc... everything in the C syntax just works. NVIDIA wasn't joking when they said as quoted in the article above that nvcc is just a modified C compiler :) C# definately is not that.

If you don't believe me, check out the programming guide: http://www.nvidia.com/object/cuda_get.html

As for Larabee: I'll wait and see when they release their programming guide before I make a judgment. If they just provide a C language with big 16-wide SSE instructions for math operations I will be very disappointed because that will be an absolute pain to program compared to CUDA which has one thread working on each SP and automatically handles divergences.


"We basically took a look at this situation and said, this is bullshit." -- Newegg Chief Legal Officer Lee Cheng's take on patent troll Soverain

Related Articles
Intel Talks Details on Larrabee
August 4, 2008, 12:46 PM



Latest Headlines
4/21/2014 Hardware Reviews
April 21, 2014, 12:46 PM
4/16/2014 Hardware Reviews
April 16, 2014, 9:01 AM
4/15/2014 Hardware Reviews
April 15, 2014, 11:30 AM
4/11/2014 Hardware Reviews
April 11, 2014, 11:03 AM










botimage
Copyright 2014 DailyTech LLC. - RSS Feed | Advertise | About Us | Ethics | FAQ | Terms, Conditions & Privacy Information | Kristopher Kubicki