Shortcuts

Microsoft Demos C++ AMP Heterogeneous Computing at AMD's Fusion Developer Summit

rated by 0 users
This post has 13 Replies | 2 Followers

Top 10 Contributor
Posts 25,851
Points 1,171,205
Joined: Sep 2007
ForumsAdministrator
News Posted: Wed, Jun 15 2011 1:30 PM

AMD Fusion: A8-3500M A-Series Llano APU ReviewThe second day of the AMD Fusion Developer Summit began with a keynote from Microsoft’s Herb Sutter, Principal Architect, Native Languages and resident C++ guru. The gist of Herb’s talk centered around heterogeneous computing and the changes coming with future versions of Visual Studio and C++.

One of the main highlights of the talk was a demo of a C++ AMP application that seamlessly took advantage of all of the compute resources within a few of the various demo systems, from workstations to netbooks.  The application seamlessly switched from using CPU, integrated GPU, and discrete GPU resources, showcasing the performance capabilities of each. Heterogeneous computing capabilities in Visual Studio and C++ will be rolling out over the course of this year and next, but details of the release dates are sketchy at the moment. The demo, however, was rather interesting to see live. In this physics simulation, bodies are tracked in relation to each other and as additional bodies are added, workload increases with a ramp-up to 100s of GFLops in compute performance.



In addition to demonstrating the benefits C++ AMP in general, Herb also disclosed that the C++ AMP is going to open specification such that other compilers can target C++ AMP optimizations.

  • | Post Points: 155
Top 100 Contributor
Posts 1,120
Points 12,940
Joined: Jun 2011
Location: East Coast

"This topic is out of my league. but the part about "100s of GFLops in compute performance." sounds phenomenal."

-Optimus

  • | Post Points: 5
Not Ranked
Posts 71
Points 790
Joined: Nov 2010
EHarler replied on Wed, Jun 15 2011 3:33 PM

Would be nice to know what kind of compiler are they using. But since its MS, I guess we'll never know.

  • | Post Points: 5
Top 100 Contributor
Posts 1,120
Points 12,940
Joined: Jun 2011
Location: East Coast

"Ok, scratch my first comment. I saw the video and read the article properly . I think that this is great and a huge leap forward in both harnessing the computation power by the GPU and a more efficient level of C++ programming with the AMP moniker. Its amazing that they were able to use two discrete grahics cards that were in Crosfire and accelerate the aplication intensely"

"A couple of question though, since this will work with any GPU, does that mean that developers won't have to pay an extra license fee with for example, with NVidia and Cuda programing in mind, when they advertise a program as to be able to accelerate or enhace the eperience with a discrete graphic card.

"Will C++ AMP only work with Windows 8, I'm guessing so. "

-Optimus

  • | Post Points: 5
Top 10 Contributor
Posts 5,053
Points 60,700
Joined: May 2008
Location: U.S.
Moderator
3vi1 replied on Wed, Jun 15 2011 8:57 PM

C++? Not even C++.Net? Why aren't they pushing C#, .Net, and DirectCompute for this? MS not pushing their highest lock-in APIs. That's... weird.

What part of "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn" don't you understand?

++++++++++++[>++++>+++++++++>+++>+<<<<-]>+++.>++++++++++.-------------.+++.>---.>--.

  • | Post Points: 5
Top 50 Contributor
Posts 2,865
Points 29,645
Joined: Mar 2011
Location: United States, Connecticut

@3vi1 I was wondering the same thing. IT is very odd of MS not to be pushing their most up to date languages.

  • | Post Points: 5
Top 500 Contributor
Posts 207
Points 1,515
Joined: Feb 2011
pwrntspd replied on Wed, Jun 15 2011 11:41 PM

I like that Microsoft has jumped on the GPU bandwagon. It will be interesting to see what sorts of changes this is going to bring about over the next few years and how software is going to take advantage of gpu's. As for MS not using their most up to date languages, dunno, maybe it was easier to implement on C++ initially? Im sure support will change in the future, as this is all relatively new.

  • | Post Points: 5
Not Ranked
Posts 1
Points 20
Joined: Jun 2011
AMyers replied on Wed, Jun 15 2011 11:47 PM

If you need to question why they are using C++ then I fear this topic may be over your heads. Go back to your webapps and business tools.

  • | Post Points: 20
Top 500 Contributor
Posts 88
Points 750
Joined: Apr 2011

Interesting. Good to see that Microsoft at least is getting along with AMD, if not with Intel.

  • | Post Points: 20
Top 50 Contributor
Posts 2,865
Points 29,645
Joined: Mar 2011
Location: United States, Connecticut

Finally got a chance to watch the video this morning and that is really some amazing stuff.

It almost seems like were are going to be seeing more hybrid technology with multi-core processors in combination with multi-core GPU's on the same chip. We need more power :P

  • | Post Points: 5
Not Ranked
Posts 1
Points 5
Joined: Jun 2011
HNogueira replied on Thu, Jun 16 2011 12:38 PM

I bet folding@home and boinc will put this to some good use. =D

  • | Post Points: 5
Top 100 Contributor
Posts 1,087
Points 11,005
Joined: Jun 2010
Location: Pennsylvania
CDeeter replied on Thu, Jun 16 2011 1:03 PM

Actually a lot of us that are here, are here to learn from and help each other gain a better understanding of the computing world.

So if you can explain or shed light on a subject, please do.

Don't hold back and give as much detail as you can.

  • | Post Points: 20
Not Ranked
Posts 1
Points 5
Joined: Jun 2011
ksvanhorn replied on Thu, Jun 16 2011 8:40 PM

3vi1 wrote: "C++? Not even C++.Net? Why aren't they pushing C#, .Net, and DirectCompute for this?"

.Net and high performance are pretty much mutually exclusive. Yeah, I know we hear a lot about how there's a JIT compiler and JIT-compiled code can take advantage of the specific processor you're running on, but the reality is that you don't use .Net languages when you need high performance. I have some numeric C# code I'm optimizing, and I found that a straightforward C++ translation of the C# code outperforms the latter by a factor of 4.3.. and to get it down that low I had to replace all uses of .Net multidimensional arrays with custom multidimensional array classes of my own. (Originally the C++ code beat the C# code by a factor of 4.9.)

  • | Post Points: 5
Not Ranked
Posts 1
Points 5
Joined: Jul 2011
CBegly replied on Thu, Jun 30 2011 10:02 PM

3vi1 et al,

I'll put it to you plain and simple: c++ is faster. If you are trying to get better performance, (I assuming you are if you are trying to use c++ Amp or Opencl) c++ is faster. If you don't care about performance, develop in one of the other languages.

According to Sutter from Microsoft, they chose c++ because they wanted to "use the strong typing [and] to use the strong, powerful abstractions while still being close to the metal,"

In addition, Microsoft want's to make the specification open, and using (for example) visual basic or c#, you lose the portability. You can run c++ programs on almost any processor or platform, but you can't do the same with VB, C#, .NET, etc. - You need an interpreter of some sort.

Sources:

http://www.theregister.co.uk/2011/06/15/microsoft_c_plus_plus_amp/

I do robotics development in c++

  • | Post Points: 5
Page 1 of 1 (14 items) | RSS