要实现模板核函数的远程执行,需要使用CUDA的动态并行性(Dynamic Parallelism)功能。动态并行性允许在一个CUDA核函数中启动新的CUDA核函数,这样就可以在一个CUDA核函数中调用模板核函数。

具体实现步骤如下:

  1. 在主机端创建一个CUDA上下文,并将其传递给远程设备。

  2. 在远程设备上使用CUDA Runtime API劫持,拦截CUDA核函数的调用,并将其转发到主机端。

  3. 在主机端,创建一个包含模板核函数的CUDA核函数,并在其中启动新的CUDA核函数,以实现模板核函数的远程执行。

  4. 在远程设备上,等待主机端CUDA核函数的执行完成,并将结果发送回主机端。

需要注意的是,使用动态并行性需要设备支持Compute Capability 3.5及以上,并且需要在编译时启用-fmad=false选项。


原文地址: https://www.cveoy.top/t/topic/cjwE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录