【发布时间】:2015-09-11 10:30:13
【问题描述】:
我想把一个设备函数的地址传给内核,可以按照this post来做。但是,我想知道,当我有多个设备时,地址是否特定于某个设备?我是否必须跟踪不同设备上每个功能的地址?
【问题讨论】:
标签: cuda
我想把一个设备函数的地址传给内核,可以按照this post来做。但是,我想知道,当我有多个设备时,地址是否特定于某个设备?我是否必须跟踪不同设备上每个功能的地址?
【问题讨论】:
标签: cuda
是的,地址特定于某个设备。不能保证两个设备之间的地址相同。 (在具有 2 个不同 GPU 的系统上,对您链接到的答案中的代码进行简单修改即可证明这一点。)
如果您查看用于确定设备函数地址或函数指针的各种机制,您会发现它们全部都依赖于通过设备代码以某种形式进行的发现。无法在主机代码中直接发现__device__ 函数地址。
因此,逐个设备跟踪这一点应该没有问题,因为必须逐个设备执行发现。
【讨论】: