【发布时间】:2019-06-26 11:21:23
【问题描述】:
我正在使用英特尔集成 gpu 来实现我的 opencl。我正在实现一个零副本的程序,我没有将数据复制到 gpu,而是共享公共内存 (RAM)。
我有一个 64 位 cpu,但在 gpu 规格中显示它只有 32 位寻址模式。
我在 gpu 和 cpu 之间共享一个 malloc 堆空间,当我打印地址时,我看到以下内容。
在 GPU 中:
if(id==0){
printf("Mem address: %p\n",A);
//Outputs Mem address: 0x1010000
在 CPU 中:打印
printf("Outside Mem address: %p\n",cpuA);
Device: Intel(R) HD Graphics IvyBridge M GT2
Outside Mem address: 0x7fcd529d9000
我不知道它是如何在 gpu 中映射的。我想知道 2^28/2^32 是否是 gpu 可以访问的最大地址?
【问题讨论】:
标签: opencl