如何在Linux Debian中使用Cuda-Aware MPI安装Open MPI

时间:2015-09-30 02:40:46

标签: linux cuda mpi openmpi

我正在Linux Debian上安装带有CUDA v7.5的Open MPI v1.8.8。 我测试了CUDA并且它可以工作,测试了OpenMPI,它也可以工作。但是当我尝试将它们组合成一个程序时,我遇到了一个错误:找不到cuda.h文件。这是我的情景:

我的程序源代码包含这些.h文件

include "cuda.h" include "mpi.h"

我运行命令: mpicc <filePath> -o test And error appear: cuda.h:没有这样的文件或目录  #include&#34; cuda.h&#34;`

omp_info告诉我:mca:mpi:base:param:mpi_built_with_cuda_support:value:false

我用谷歌搜索了,我按照我发现的一些方法: ./configure --with-cuda ./configure --with-cuda=/usr/local/cuda-7.5 (来源链接:http://mirror.its.dal.ca/openmpi/faq/?category=buildcuda) 之后,我重拍所有,重制安装Open Mpi。我运行:mpicc或mpirun,编译器给我错误:mpirun error mca: base: component find: unable to open /usr/local/lib/openmpi/mca_mpool_sm

我设置了软链接:ln -s /usr/local/cuda/include /usr/include(在链接中描述:Building CUDA-aware openMPI on Ubuntu 12.04 cannot find cuda.h)。 但它无法解决我的问题。

有没有人成功安装它?请帮助我或分享您的经验。 感谢。

1 个答案:

答案 0 :(得分:2)

我认为您将安装问题与错误的编译器选项混淆。在将主机代码与mpi包装的主机编译器进行编译和链接时,有必要明确指定CUDA的包含路径,库路径和库。

类似的东西:

mpicc -I/usr/local/cuda-7.5/include -L/usr/local/cuda-7.5/lib -o test <filePath> -lcuda

将是构建调用cuda驱动程序API的简单MPI程序的常规方法。您需要为设备代码和使用运行时API的主机代码添加nvcc编译。

您的MPI风格明显缺乏CUDA支持是一个单独的问题,您可能应该在另一个论坛中使用(例如您使用的MPI风格的用户邮件列表)。