CUDA与MPI结合,求助。

Lwarrior 2011-04-21 07:23:29
在学习MPI和CUDA的相关内容。使用的是vs2008,mpich2,cuda3.2

我只是想试一下两者的结合。编了很简单的程序。先是用CUDA vs Wizard创立了工程。将sample中的main改成cudaFun。另外创立了一个cpp用来写main在main中只是对mpi进行了初始化,用于显示主机个数,和主机的序号。

现在编译的时候发生了问题,会出现无法识别cuda函数调用的“<<<>>>"的问题。
我也试过直接将mpi的内容写入到cu文件中,但是编译的时候,关于mpicxx会出现很多no effect的警告。生成的exe只能直接运行,放入mpiexec中就无法运行了。
cpp的代码如下。cu的代码就是只将main改为了cudaFun并且将所需参数省去
#include <stdio.h>
#include <mpi.h>
#include "sample.cu"

int main(int argc, char *argv[])
{
int size, rank;

MPI_Init( &argc, &argv);
MPI_Comm_rank( MPI_COMM_WORLD, &rank);
MPI_Comm_size( MPI_COMM_WORLD, &size);

fprintf( stderr, "Processor %d of %d\n", rank, size);

cudaFun( );

MPI_Finalize();
return 0;
}
...全文
693 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
自由飞翔lxf 2013-04-19
  • 打赏
  • 举报
回复
请问大牛问题怎么解决的,我也遇到一样的问题。
Lwarrior 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 linxxx3 的回复:]

注意看下编译的选项。
结合mpi要用联合编译,nvcc编译 .cu文件,mpicxx编译 .cpp文件,最后把两个 .obj链接成可执行程序。
VS的设置不熟,我用linux的,不过道理是相通的。
[/Quote]
多谢了,我去试一试
linxxx3 2011-04-21
  • 打赏
  • 举报
回复
注意看下编译的选项。
结合mpi要用联合编译,nvcc编译 .cu文件,mpicxx编译 .cpp文件,最后把两个 .obj链接成可执行程序。
VS的设置不熟,我用linux的,不过道理是相通的。
Lwarrior 2011-04-21
  • 打赏
  • 举报
回复
不好意思啊,应该是发在on win xp 的啊,不过有大神懂的,求教了

374

社区成员

发帖
与我相关
我的任务
社区描述
CUDA on Linux
社区管理员
  • CUDA on Linux社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧