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

To quote myself from yesterday....
By DanoruX on 8/5/2008 1:41:39 PM , Rating: 2
http://www.dailytech.com/article.aspx?newsid=12567...

quote:
1. Cuda is based on C.
2. Computer graphics (today) is mostly done in HLSL and GLSL which are both also based on C.
3. Above languages are really easy to learn.


:-)




RE: To quote myself from yesterday....
By Master Kenobi (blog) on 8/5/2008 4:12:58 PM , Rating: 3
I would like to point out that "Based on C" and "C/C++" are not the same thing. I can say C# is "Baced on C" but anyone who has ever programmed in C# would know that my statement is half baked at best.


RE: To quote myself from yesterday....
By Master Kenobi (blog) on 8/5/2008 4:14:25 PM , Rating: 2
That should be Based* wow I can't spell today. Ready to go home and relax eh?


By chmilz on 8/5/2008 4:43:10 PM , Rating: 2
Quick, someone program Tuesday to be the new Friday!


By JakLee on 8/5/2008 4:55:00 PM , Rating: 5
All your BASED are belong to us.


RE: To quote myself from yesterday....
By DanoruX on 8/5/2008 4:39:29 PM , Rating: 2
Let me correct the semantics then - "closely related" to C, C-like, etc.

Better? :P

Oh and yes, C# is very different (though very awesome in its own way).


By jvillaro on 8/6/2008 12:31:49 AM , Rating: 1
C# is more "closely related" to JAVA actually :) with a little bit of C++

But it's the most "awesomest" of them all ;)


By DeepBlue1975 on 8/5/2008 5:18:10 PM , Rating: 2
I'm sure I wouldn't wanna touch one of those half baked arguments even with a 10 meter pole, have enough digestive disorders by the moment :D


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.


RE: To quote myself from yesterday....
By Flunk on 8/5/2008 7:53:09 PM , Rating: 5
I don't think Microsoft ever claimed C# was based on C. I think the term "C-like syntax" is what they were marketing.


By drmo on 8/6/2008 7:37:56 AM , Rating: 2
Intel's compiler will also contain the much loved feature of: if not GenuineIntel then suckass.


By TomZ on 8/7/2008 9:03:50 AM , Rating: 2
quote:
I don't think Microsoft ever claimed C# was based on C. I think the term "C-like syntax" is what they were marketing.

C# is clearly based on Java, C++, and C before it. To deny that is like denying the existance of gravity.


"Paying an extra $500 for a computer in this environment -- same piece of hardware -- paying $500 more to get a logo on it? I think that's a more challenging proposition for the average person than it used to be." -- Steve Ballmer

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













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