将代码加载到GPU(Intel Sandy Bridge)

use*_*182 7 c assembly gpu intel

我的问题不是关于GPGPU.我非常了解GPGPU,这不是我想要的.据称,英特尔的Sand Bridge具有一些功能,允许您直接在GPU上执行计算.

这是真的吗?

我打算编写的代码将采用内联汇编(在C中).是否有汇编指令而不是在CPU上执行将内容输出到GPU?

一些相关文件:

PDF具有指令集.

Gun*_*iez 2

回答你的第一个问题:不,这不是真的。

让我引用您链接的资源:

图形处理单元由 CPU 通过内存映射 IO 寄存器的直接接口以及通过解析 CPU 放置在内存中的命令来间接控制。(SB GPU手册第2.2章)

所以在cpu上下文中不能直接执行GPU代码。

对于你的第二个问题:“将东西推送到 GPU”是通过 mov 指令完成的。Target是一个mem-mapped IO寄存器,source你想写的东西。您可能需要插入一些“sfence”或类似的指令,以确保不会发生弱内存重新排序。