5 ms·
Can you speak to Microsoft's AMP framework at all? I believe AMD has stated they will support it.
by sausagefeet 15y ago
Can you speak to Microsoft's AMP framework at all? I believe AMD has stated they will support it.
- DiabloD3 15y agoI can't find anything named Microsoft AMP. However, it sounds like you're talking about DirectCompute, the compute API for DirectX. AMD will support DirectCompute because its the native API on Windows, the same way they continue to support Direct3D. This doesn't mean that Direct3D is more viable of an API than OpenGL, but it means its popular on one platform.
- maximilianburke 15y agoC++ AMP is a framework for acceleration of general purpose C++ code with heterogeneous processors. It's not the same as DirectCompute which in this case is more like the assembly language of GPU programming on Windows as Microsoft is building C++ AMP on top of it.
- DiabloD3 15y agoNo, DirectCompute is more like the C++ of GPU programming. The syntax style of the compute shaders are the same C++-ish that Cg and HLSL uses. In comparison, OpenCL's compute shaders use the same C-ish that OpenCL does for GLSL. OpenCL and DirectCompute are pretty high level considering they're running on what equates to massively parallel DSPs. Oh, and OpenCL already runs on heterogeneous setups. There are OpenCL compilers for three different GPU archs, x86, PPC, Cell SPEs, a few DSPs, and ARM. An OpenCL program can use all of them at the same time if available.
- maximilianburke 15y agoI meant that it was the assembly language because DirectCompute is the target of the C++ AMP compiler, similar to how some people call JavaScript the assembly language of the web. It's the lowest level language that those developing in that environment can target.
- DiabloD3 15y agoIf you can find a url about AMP, I'd like to see it. Google seems to think it doesn't exist. It almost sounds like AMD's project that turns Java bytecode into GPU-able code (although it is limited to what you can do normally, such as no allocation of memory/no object construction, only certain type primitives, and it should be largely branchless/loopless). See: http://developer.amd.com/zones/java/aparapi/Pages/default.aspx http://developer.amd.com/zones/java/aparapi/Pages/default.as...
- sausagefeet 15y agohttp://blogs.msdn.com/b/vcblog/archive/2011/06/15/introducing-amp.aspx http://blogs.msdn.com/b/vcblog/archive/2011/06/15/introducin... http://blogs.msdn.com/b/nativeconcurrency/archive/2011/12/01/introductory-articles-for-c-amp.aspx http://blogs.msdn.com/b/nativeconcurrency/archive/2011/12/01...
- Impossible 15y agoRelevant link to the C++AMP announcement (http://channel9.msdn.com/posts/AFDS-Keynote-Herb-Sutter-Heterogeneous-Computing-and-C-AMP http://channel9.msdn.com/posts/AFDS-Keynote-Herb-Sutter-Hete...). It's basically OpenMP for GPGPU, magic C++ macros that convert your code to DirectCompute shaders (although in theory OpenCL or Cuda could be targets as well). Like OpenMP, I'm skeptical whether or not it will actually lead to a any kind of speed up of random C++ code, even random C++ code that is data parallel, but its an interesting idea and like OMP is very low cost for developers to try out on their existing code base.