在 Ubuntu 12.04 上构建支持 CUDA 的 openMPI 找不到 cuda.h

Building CUDA-aware openMPI on Ubuntu 12.04 cannot find cuda.h

我正在 Ubuntu 12.04 上构建 openMPI 1.8.5,安装了 CUDA 6.5 并使用默认示例进行了测试。我打算在具有以下配置的单个节点上 运行 它:

Dell Precision T7400
双至强 X5450
英伟达 GT730/Tesla C1060

发出的配置命令是

    $ ./configure --prefix=/usr --with-cuda=/usr/local/cuda

在生成的 config.log 中,显然配置脚本无法在 /usr/loca/cuda/include 中找到确实存在的 cuda.h 和 cuda_runtime_api.h。

对于cuda.h:

    configure:73774: checking cuda.h usability
    configure:73774: gcc -std=gnu99 -c -O3 -DNDEBUG    conftest.c >&5
    conftest.c:645:18: fatal error: cuda.h: No such file or directory
    compilation terminated.
    configure:73774: $? = 1
    configure: failed program was:
    | /* confdefs.h */

对于cuda_runtime_api.h:

    configure:73857: checking cuda_runtime_api.h presence
    configure:73857: gcc -E   conftest.c
    conftest.c:612:30: fatal error: cuda_runtime_api.h: No such file or directory
    compilation terminated.
    configure:73857: $? = 1
    configure: failed program was:
    | /* confdefs.h */

我试图将路径更改为特定于版本的目录,即 /usr/loca/cuda-6.5/cuda 但出现了同样的错误。

我尝试继续安装,ompi_info 给了

    mca:mpi:base:param:mpi_built_with_cuda_support:value:false

有没有人有类似的经验可以帮助我?非常感谢!

好的,我想我已经解决了问题。 conftest.c 似乎在 /usr/include 中寻找 cuda.h,而不是假定的 /usr/local/cuda/include。一旦我创建了 cuda.h 和 cuda_runtime_api.h 的软 link,问题就解决了。