My question is not about GPGPU. I understand GPGPU pretty decently and that is not what I am looking for. Intel’s Sand Bridge has supposedly some features that allow you to directly perform computations on the GPU.
Is that really true?
The code I am planning to write is going to be in inline assembly (in C). Are there assembly instructions that instead of executing on the CPU push stuff out to the GPU?
Some related documentation :
- http://intellinuxgraphics.org/documentation.html
- http://intellinuxgraphics.org/documentation/SNB/IHD_OS_Vol4_Part2.pdf
The PDF has the instruction set.
Answering your first question: No it is not true.
Let me quote from the resources you have linked:
So no direct execution of GPU code in the cpu context.
For your second question: “Pushing stuff out to the GPU” is done with the mov instruction. Target is a mem-mapped IO register, source the stuff you want to write. You might need to insert some “sfence” or similar instructions to make sure no weak memory reordering does happen.