C++ Accelerated Massive Parallelism
danielmoth.com
danielmoth.com
http://hothardware.com/News/Microsoft-Demos-C-AMP-Heterogene...
Impressive. Especially at the end when they use two discrete GPUs.
I wish Microsoft would quit calling stuff that only works on their one particular compiler "C++ this-or-that". This MS blogger even calls it "heterogeneous", I guess because it runs on two AMD chips in the same PC. http://blogs.msdn.com/b/somasegar/archive/2011/06/15/targeti...
No, I think its hetergeneous because the code can target the CPU, APUs, or GPUs, or a combination thereof.
Also, according to some articles on it, "Herb also disclosed that the C++ AMP is going to open specification such that other compilers can target C++ AMP optimizations."
So in theory Intel's compiler can also target it. From looking at one snippet of code, it looks like something that would also work on any platform, even non-Windows, despite the current implementation sitting on DX. But I haven't seen the spec to know for sure.
Right, two AMD chips in the same PC, unless its a combined CPU/GPU thingies they're always talking about.
Well OK, maybe it could be an Intel emulating the AMD64 instruction set and an Nvidia GPU running DirectX. But still, just two, and only one implementation of the compiler and runtime environment.
Like the Microsoft habit calling their stuff "cross platform" because it runs on both XP and Vista, the term "heterogeneous" means something different to the rest of the world.
So in theory Intel's compiler can also target it.
Note that one of the prerequisites for Intel's Windows compiler is Visual Studio.
I need to watch the video if I'm going to complain any more.
From (written by NVidia): http://benchmarkreviews.com/index.php?option=com_content&...
What is heterogeneous computing?
Heterogeneous computing is the idea that to attain the highest efficiency applications should use both of the major processors in the PC: the CPU and GPU. CPUs tend to be best at serial operations with lots of branches and random memory access. GPUs, on the other hand, excel at parallel operations with lots of floating point calculations. The best result is achieved by using a CPU for serial applications and a GPU for parallel applications. Heterogeneous computing is about using the right processor for the right operation.
I was used to the older concept of "heterogeneous systems" which tended to emphasize interoperability between independent platforms and vendors.
Is it really? That would be funny, because it's not even a prereq for the Microsoft Visual C++ compiler!
Just checked again, it looks like the "Intel C++ Composer XE 2011 for Windows" has relaxed that requirement a bit. http://software.intel.com/file/31856 It looks like it actually can be installed with just the Microsoft SDK now and no longer requires MSVC++ or Visual Studio.
For those who grudgingly accept vendor lock-in as a matter of practicality, this is probably worth keeping tabs on though.
If the Daniel Moth blog. I'm not sure how you can argue that the Daniel Moth blog misrepresents anything.