您的位置:首页 > 其它

CUDA 问题解决 —— CUDA+MPI出错:"mpi.h" No such file or directory

2017-03-08 13:52 986 查看
在CUDA源文件里使用MPI时,编译出错

Makefile文件:

CUDA_INSTALL_PATH = /usr/local/cuda-8.0
MPI_INSTALL_PATH = /opt/intel/compilers_and_libraries_2017.0.098/linux/mpi/intel64
NVCC = $(CUDA_INSTALL_PATH)/bin/nvcc
MPICC = $(MPI_INSTALL_PATH)/bin/mpicc

LIBS = -lcudart -lcurand -L$(CUDA_INSTALL_PATH)/lib64 -L$(MPI_INSTALL_PATH)/lib

CFILES = matadd.c
CUFILES = matadd_cuda.cu
OBJECTS = matadd.o matadd_cuda.o
EXECNAME = matadd

all:
$(MPICC) -c $(CFILES)
$(NVCC) -c $(CUFILES)
$(MPICC) -o $(EXECNAME) $(LIBS) $(OBJECTS)

clean:
rm -f *.o $(EXECNAME)

编译信息
[huangx@dl1 matadd_mpi]$ make
/opt/intel/compilers_and_libraries_2017.0.098/linux/mpi/intel64/bin/mpicc -c matadd.c
/usr/local/cuda-8.0/bin/nvcc -c matadd_cuda.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
matadd_cuda.cu:2:17: fatal error: mpi.h: No such file or directory
#include <mpi.h>
^
compilation terminated.
make: *** [all] Error 1


解决:将 mpi.h 改为绝对路径
#include "/opt/intel/compilers_and_libraries_2017.0.098/linux/mpi/intel64/include/mpi.h"

编译成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐