新款的NVIDIA GPU支持__popc(x)指令,该指令用于计算32位寄存器中设置的位数。
我99%确定OpenCL不支持内联汇编,除非它是供应商内核扩展。
1)AMD硬件是否已经支持此功能?(我不知道)。
2)对于OS X和Linux,您如何拦截其编译为的NVIDIA中间语言,以便插入此内容?
我已经找到了如何在PyOpenCL中转储PTX“二进制文件”,现在我只需要找到如何修改后重新插入它的方法。
我99%确定OpenCL不支持内联汇编,除非它是供应商内核扩展。
1)AMD硬件是否已经支持此功能?(我不知道)。
2)对于OS X和Linux,您如何拦截其编译为的NVIDIA中间语言,以便插入此内容?
我已经找到了如何在PyOpenCL中转储PTX“二进制文件”,现在我只需要找到如何修改后重新插入它的方法。
#create the program
self.program = cl.Program(self.ctx, fstr).build()
print self.program.BINARIES[0]