gpuamp,GPU computing to C++ with C++ AMP

Keynote at the AMD Fusion Developer Summit

April 6, 2011 by Herb Sutter
In a couple of months, I’ll be giving a keynote at the AMD Fusion Developer’s Summit, which will be held _disibledevent=>appears _disibledevent=>AFDS Keynote: “Heterogeneous Parallelism at Microsoft”
Herb Sutter, Microsoft Principal Architect, Native Languages
Parallelism is not just in full bloom, but increasingly in full variety. We know that getting full computational performance out of most machines—nearly all desktops and laptops, most game consoles, and the newest smartphones—already means harnessing local parallel hardware, mainly in the form of multicore CPU processing. This is the commoditization of the supercomputer.
More and more, however, getting that full performance can also mean using gradually ever-more-heterogeneous processing, from local GPGPU and Accelerated Processing Unit (APU) flavors to “often-on” remote parallel computing power in the form of elastic compute clouds. This is the generalization of the heterogeneous cluster in all its NUMA glory, and it’s appearing at all scales from _disibledevent=>GPUs, APUs, and other high-performance TLAs, I hope to see you there.
Note: This talk is related to, but different from, the GPU talk I’ll be presenting in August at C++ and Beyond 2011 (aka C&B). You can expect the above keynote to be, well, keynote-y… oriented toward software product features and of course AMD’s hardware, with plenty of forward-looking industry vision style material. My August C&B technical talk will be just that, an in-depth performance-oriented and sometimes-gritty technical session that will also mention product-related and hardware-specific stuff but is primarily about heterogeneous hardware, with a more pragmatically focused forward-looking eye.

Targeting Heterogeneity with C++ AMP and PPL

S.Somasegar
15 Jun 2011 8:30 AM
  • 5
Previously, I blogged about key trends in software development starting with concurrency/parallelism, and indeed today multi-core systems are everywhere. You can target multi-core systems from many mainstream programming languages, and with Visual Studio 2010 we delivered market leading tooling for parallel development and debugging. You can see my post _disibledevent=>concurrency enhancements to C++ for VS2010 and here for a walkthrough of our parallel debugging tools.
In the last few years, we have been seeing an additional trend of heterogeneous hardware where, for example, developers take advantage of the GPU for computational purposes for their data parallel algorithms. This has been successful in narrow verticals using niche programing models. Microsoft wants to bring to the mainstream the ability to write code that takes advantage of heterogeneous hardware like GPUs. So like we’ve done with multi-core before, we are bringing this ability to the next version of Visual Studio.
I’m excited to announce that we are introducing a new technology that helps C++ developers use the GPU for parallel programming. Today at the AMD Fusion Developer Summit, we announced C++ Accelerated Massive Parallelism (C++ AMP). Additionally, I’m happy to say that we intend to make the C++ AMP specification an open specification.
By building _disibledevent=>Visual C++ Team Blog or Channel 9 for those videos.
Namaste!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Introducing C++ Accelerated Massive Parallelism (C++ AMP)

Diegum
15 Jun 2011 10:30 AM
  • 2
A few months ago, Herb Sutter told about a keynote he was to delivered today in the AMD Fusion Developer Summit (happening these days). He said by then:
“Parallelism is not just in full bloom, but increasingly in full variety. We know that getting full computational performance out of most machines—nearly all desktops and laptops, most game consoles, and the newest smartphones—already means harnessing local parallel hardware, mainly in the form of multicore CPU processing. (…) More and more, however, getting that full performance can also mean using gradually ever-more-heterogeneous processing, from local GPGPU and Accelerated Processing Unit (APU) flavors to “often-on” remote parallel computing power in the form of elastic compute clouds. (…)”
In that sense, S. Somasegar, Senior Vice President of the Developer Division made this morning the following announcement:
“I’m excited to announce that we are introducing a new technology that helps C++ developers use the GPU for parallel programming. Today at the AMD Fusion Developer Summit, we announced C++ Accelerated Massive Parallelism (C++ AMP). (…) By building _disibledevent=>DirectCompute, as Sr. Program Manager Daniel Moth specifies in a later post a few minutes ago).
Daniel added that C++ AMP will lower the barrier to entry for heterogeneous hardware programmability, bringing performance to the mainstream. Developers will get an STL-like library as part of the existing concurrency namespace (whose Parallel Patterns Library –PPL- and its Concurrency Runtime –ConcRT- are also being enhanced in the next version of Visual C++) in a way that developers won’t need to learn a different syntax, nor using a different compiler.
Both Soma and Daniel finish by telling that these sessions at the AMD Fusion Developer Summit are being recorded and will be published later this week _disibledevent=>here to see the rest of the summit live.
Pedal to the metal, let’s go native at full speed!
References:
  1. S. Somasegar’s announcement: http://blogs.msdn.com/b/somasegar/archive/2011/06/15/targeting-heterogeneity-with-c-amp-and-ppl.aspx
  2. Daniel Moth’s blog post: http://www.danielmoth.com/Blog/C-Accelerated-Massive-Parallelism.aspx
  3. Herb Sutter about his keynote at the AMD Fusion Developer Summit:http://herbsutter.com/2011/04/06/fusion/
  4. AMD Fusion Developer Summit Webcasts: http://developer.amd.com/afds/pages/webcast.aspx
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#############################################################################################
Microsoft brings GPU computing to C++ with C++ AMP
by Cyril Kowaliski — 12:22 AM _disibledevent=>
GPU computing to C++ with C++ AMPgpuamp
C++ currently gives developers free reign in the bottom left corner of that jungle, Sutter said, but C++ AMP expands the roaming area dramatically. Not _disibledevent=>
The additions _disibledevent=>
(The code _disibledevent=>post on Nvidia's blog says the firm "continues to work closely with Microsoft to help make C++ AMP a success.")
Tags:  gpuamp

延伸阅读

最新评论

发表评论