C++ AMP recording and slides

Fri, June 17, 2011, 02:51 PM under Events | GPGPU | ParallelComputing

Yesterday we announced C++ Accelerated Massive Parallelism.

Many of you want to know more about the API instead of just meta information. I will trickle more code over the coming months leading up to the date when we will share actual bits. Until you have bits in your hand, it is only your curiosity that is blocked, so I ask you to be patient with that and allow me to release this on our own schedule ;-)

You can now watch my 45-minute session introducing C++ AMP on channel9. You will also want to download the slides (pdf), because they are not readable in the recording.

Saturday, June 18, 2011 11:39:40 PM (Pacific Daylight Time, UTC-07:00)
Having watched both Herb Sutter's keynote and your presentation, I can say that I'm fairly anxious to see this implemented, but one thing does worry me: Why restrict(direct3d), as opposed to something more agnostic like restrict(gpu)? If Microsoft intends this to be an open standard, and hopes that g++ and Clang will eventually implement it too, shouldn't it be better to make that change? I don't see the gcc folks being overly enthusiastic about supporting something saying "direct3d" for a Unix-centric compiler.

And while we're at it, Sutter mentioned that restrict could be used to declare functions pure - that sounds wonderful, and would be most welcome - in the standard, even, but as an extension for now would be fine.
Sunday, June 19, 2011 5:35:04 PM (Pacific Daylight Time, UTC-07:00)
First, I am very excited about this project. I appreciate that all of you have dug in deep to deal with this heterogeneous processing mess ... so I don't have to learn a million different proprietary variants of C or C libraries that can only run on one type of gpu or cloud. This is a lot of work ... so thank you for your efforts.

I have the following questions/comments ... which I've posted on Herb Sutter's blog ... but if you have the time, I would also like for you to take a look at:

1) restrict( direct3d ) { ... } versus extern "direct3d" { ... }:

http://herbsutter.com/2011/06/16/c-amp-keynote/#comment-3161


2) restrict( direct3d ) { ... } versus restrict( HLSL 5.0 ):

2nd paragraph of http://herbsutter.com/2011/06/16/c-amp-keynote/#comment-3160


3) Odd ordering of (y, x) versus [row, column] in index<2>, extent<2>, ...:

3rd paragraph of http://herbsutter.com/2011/06/16/c-amp-keynote/#comment-3160


4) Two (potentially naive) ways to have both proper ordering (x, y) and a matrix view [row, column]:

Using unions, the code section of http://herbsutter.com/2011/06/16/c-amp-keynote/#comment-3168

and

Using references, the code section of http://herbsutter.com/2011/06/16/c-amp-keynote/#comment-3160


Very Respectfully, Joshua Burkholder
Joshua Burkholder
Monday, June 20, 2011 12:08:02 PM (Pacific Daylight Time, UTC-07:00)
Rodrigo, that is something that we are discussing internally. At the end of the day, it is just a word (it could have been called restrict(foo)), but the point is taken, thanks.

Joshua, thanks for all the feedback. I'll follow the discussion on Herb's blog where you made your original comments.
Comments are closed.