|
|
1
3
如果您的数据结构已经在全局内存中,那么您可以只传入一个指针作为内核参数。 另一方面,对于计算能力为2.x或更高的设备,内核参数的限制为4KB:
(参考。 http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#function-parameters ) |
|
|
2
2
正如罗伯特·克罗维拉(Robert Crovella)在评论中所建议的那样,你应该能够传递一个指向这些领域的指针。 我在opencl也遇到过类似的问题。。 这是我实现结构的方式: (我的内核和主机函数是opencl的,语法可能是你的问题……但上下文是一样的。!) 以下两个在我的“Mapper.c”中定义-->主机功能
在设备的全局内存上分配内存后,我传输了数据。 我不得不在我的另一个内核函数中重新定义结构定义,如下所示: 映射.cl:
你可以看到我只传递了指向这些区域的指针。。即keyMobj和valueMobj。
上面的代码行属于主机端函数(mapper.c),它创建内核函数(maper.cl)..,接下来的4行(clSetKernelArg..)将参数传递给内核函数。 |
|
|
ProEns08 · cuDNN库是否适用于All nvidia图形卡? 10 年前 |
|
|
Zach Dwiel · 如何计算Theano中的GPU内存使用量? 10 年前 |
|
|
user3116936 · 当X Server打开时,大型阵列的内核超时 10 年前 |
|
|
Controller · 用推力排序Cuda中的2D阵列 11 年前 |
|
|
chafner · C++函数调用后SSBO的内容无效 12 年前 |
|
|
Kukunin · 如何扩展GPGPU的顶点着色器功能 12 年前 |
|
|
mrei · 参数超过256字节的CUDA内核调用的想法 12 年前 |