用户
 找回密码
 立即注册
Lwarrior 该用户已被删除
发表于 2011-5-25 14:29:21
74156
我不太清楚这两个怎么放在一起编译,如果将mpi调用也放在cu文件里,就算是通过了编译,生成了exe但是放在mpiexec中运行会自动退出。我也试过将cu的部分生成dll再在cpp中mpi启动后在调用kernel,但是使用mpiexec后,会自动退出,显示说MPI_Finalize()没有启用。期望有高人指点。
使用道具 举报 回复
发表于 2011-5-26 07:06:39
看过一个一摸一样的问题。
当时看到的建议是:
用driver api去load module&function,然后cuLaunch
使用道具 举报 回复 支持 反对
发表于 2011-5-26 12:53:21

回复 #2 nooron 的帖子

您能说的详细一点吗,不太明白啊,谢谢了,或者告诉我原帖在哪,我自己查看。
使用道具 举报 回复 支持 反对
发表于 2011-5-28 23:48:47
找不到那个帖子了。。。
这样吧,创造一个.cu,里面有你的kernel,没有别的东西,用nvcc把它compile成cubin
在MPI的文件中调用cuModuleLoad, cuModuleGetFunction以及cuLaunchKernel来加载并运行cubin中的kernel.
用MPICC来compile那个MPI文件,就可以了。
具体那几个driver API怎么用,可以参照NVIDIA CUDA Library Documentation
使用道具 举报 回复 支持 反对
发表于 2011-5-29 00:54:19
或者。。。用mpiexec的时候加一个-localonly
http://forums.nvidia.com/index.php?showtopic=200618
使用道具 举报 回复 支持 反对
发表于 2011-5-31 08:25:06
这个 -localonly 的参数是针对某些问题有效,但我和楼主遇到相似的问题,且和他在另一个帖子中有过交流,似乎这个方法还是不行。
使用道具 举报 回复 支持 反对
发表于 2020-5-15 22:48:15
请问你有源码吗,我是结合成功了,但是没有具体的例子。有的麻烦你发一下,谢谢你了
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册