CppCon 2014: Marc Gregoire 'Introduction to C++ AMP (GPGPU Computing)'

preview_player
Показать описание

--
Meet C++ AMP (Accelerated Massive Parallelism), an abstraction layer on top of accelerators such as GPUs. In its current version it allows you to run code on any DX11 GPU, independent of the vendor, and it will even distribute workload across GPUs of different vendors simultaneously. C++ AMP was originally designed by Microsoft but is now an open standard. C++ AMP can deliver orders of magnitude performance increase with certain algorithms by utilizing the GPU to perform mathematical calculations. This talk will give a high level overview of what C++ AMP is and what it can do for you. It is time to start taking advantage of the computing power of GPUs!
--
--

*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

The great thing about C++AMP is that it's a GPGPU-wrapper for C++. It only has some limitations not discussed in this talk, but it is good for massively parallel computations like N-Body and image manipulations (like Google's RenderScript). There are several other wrappers which are more useful, which were not discussed at all.

StreamHPC
Автор

Moreover, Intel did not support C++AMP via DirectX/DirectCompute, but created an implementation that works on OpenCL, about 2 years ago.
How Intel thinks about it since a year: "The Shevlin Park prototype was a proof of concept we have presented."

StreamHPC
Автор

Personally I'd suggest VexCL, Boost.Compute, SYCL or SkelCL for easy OpenCL with C++. Those are far more advanced and more open source than C++AMP. They are each very different, to appeal to different kinds of programmers - so you'll find one that suits you.

StreamHPC
Автор

AMD has not "released open source C++AMP drivers a few weeks ago". They've released it again, to appeal to the newsworthy. It has been there since 2011 (see Google), and has not catched on since then - I wouldn't call it a standard for that reason.
It neither is "open" by definition: it needs to be administered by a standards body for that, but Microsoft releases the specs themselves. For instance my company cannot be at the table to discuss these specs.

StreamHPC
Автор

SYCL has not come out yet :) SkeCL is GPL licensed, that's a show-stopper for commercial use. AMD's open source implementation of C++AMP can generate SPIR as well, can it be generated from VexCL or Boost.Compute?

iamvfx
Автор

SYCL is out, and AMD has implemented triSYCL, available on Github. Aks the guys from SkelCL why they have GPL - what I understood it's for extending the lib, not for using it. Good point: SPIR should eventually become a target of all wrappers indeed, now Intel and AMD have support already.

StreamHPC
Автор

Only a subset of OpenCL was compared in this talk, and then the proposition of what OpenCL can offer (FPGAs-support and such) was stolen to be a part of C++AMP. The presenter really made a fool of himself, by secretly being a marketeer instead of a tech guy.

StreamHPC