0

如何在已安装CUDA 5.0的机器上安装OpenMPI 1.6.3 - 64 位版本。使用的操作系统是CentOS 6.3 x86_64

完成配置后,我给出了命令make。最后它显示了与 CUDA 包含文件的一些冲突。

我在配置命令中给出了以下选项

./configure --enable-heterogeneous --enable-cxx-exceptions --enable-opal-multi-threads --enable-mpi-thread-multiple --with-wrapper-cflags=-m64 --with-wrapper-cxxflags=-m64 --with-wrapper-ldflags=-m64 --with-wrapper-libs=-m64 --with-wrapper-fflags=-m64 --with-wrapper-fcflags=-m64 --with-exflags=-m64 --with-timer=TYPE CFLAGS=-m64 LDFLAGS=-m64 CPPFLAGS=-m64 CXXFLAGS=-m64 CCASFLAGS=-m64 FFLAGS=-m64 FCFLAGS=-m64 --prefix=/usr/local/openmpi

配置命令成功执行。之后我给了

make

经过大量输出后,我在终端中收到以下错误。

Making all in vtlib
make[5]: Entering directory `/Softwares/OpenMPI/openmpi-1.6.3/ompi/contrib/vt/vt/vtlib'
  CC     vt_comp_gnu.lo
  CC     vt_getcpu.lo
  CC     vt_gpu.lo
  CC     vt_cudartwrap.lo
vt_cudartwrap.c:145: error: conflicting types for 'cudaGetSymbolAddress'
/usr/local/cuda/include/cuda_runtime_api.h:4263: note: previous declaration of 'cudaGetSymbolAddress' was here
vt_cudartwrap.c:164: error: conflicting types for 'cudaGetSymbolSize'
/usr/local/cuda/include/cuda_runtime_api.h:4285: note: previous declaration of 'cudaGetSymbolSize' was here
vt_cudartwrap.c:392: error: conflicting types for 'cudaGetTextureReference'
/usr/local/cuda/include/cuda_runtime_api.h:5055: note: previous declaration of 'cudaGetTextureReference' was here
vt_cudartwrap.c:501: error: conflicting types for 'cudaFuncGetAttributes'
/usr/local/cuda/include/cuda_runtime_api.h:2241: note: previous declaration of 'cudaFuncGetAttributes' was here
vt_cudartwrap.c:797: error: conflicting types for 'cudaFuncSetCacheConfig'
/usr/local/cuda/include/cuda_runtime_api.h:2122: note: previous declaration of 'cudaFuncSetCacheConfig' was here
vt_cudartwrap.c:969: error: conflicting types for 'cudaGetSurfaceReference'
/usr/local/cuda/include/cuda_runtime_api.h:5110: note: previous declaration of 'cudaGetSurfaceReference' was here
vt_cudartwrap.c:1565: error: conflicting types for 'cudaFuncSetSharedMemConfig'
/usr/local/cuda/include/cuda_runtime_api.h:2173: note: previous declaration of 'cudaFuncSetSharedMemConfig' was here
make[5]: *** [vt_cudartwrap.lo] Error 1
make[5]: Leaving directory `/Softwares/OpenMPI/openmpi-1.6.3/ompi/contrib/vt/vt/vtlib'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/Softwares/OpenMPI/openmpi-1.6.3/ompi/contrib/vt/vt'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/Softwares/OpenMPI/openmpi-1.6.3/ompi/contrib/vt/vt'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/Softwares/OpenMPI/openmpi-1.6.3/ompi/contrib/vt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/Softwares/OpenMPI/openmpi-1.6.3/ompi'
make: *** [all-recursive] Error 1
4

1 回答 1

1

问题不在 Open MPI 中,而是在捆绑的 VampirTrace 库中。只需使用--disable-vt配置构建。1.6.1 默认不构建 VT。也许 1.6.3 已经改变了。如果您需要 MPI 跟踪,请从其主页获取最新的 VampirTrace 并单独构建。

此答案由Hristo Iliev 11 月 16 日 12:35提供

于 2012-12-17T09:18:27.860 回答