cuda runtime api劫持怎样实现模板核函数的远程执行
要实现模板核函数的远程执行,需要使用CUDA的动态并行性(Dynamic Parallelism)功能。动态并行性允许在一个CUDA核函数中启动新的CUDA核函数,这样就可以在一个CUDA核函数中调用模板核函数。
具体实现步骤如下:
-
在主机端创建一个CUDA上下文,并将其传递给远程设备。
-
在远程设备上使用CUDA Runtime API劫持,拦截CUDA核函数的调用,并将其转发到主机端。
-
在主机端,创建一个包含模板核函数的CUDA核函数,并在其中启动新的CUDA核函数,以实现模板核函数的远程执行。
-
在远程设备上,等待主机端CUDA核函数的执行完成,并将结果发送回主机端。
需要注意的是,使用动态并行性需要设备支持Compute Capability 3.5及以上,并且需要在编译时启用-fmad=false选项。
原文地址: https://www.cveoy.top/t/topic/cjwE 著作权归作者所有。请勿转载和采集!