OpenMPI 1.6.3- CentOS 6.3 中的 64 位安装失败



如何在已安装 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

问题不在于 Open MPI buth,而在于捆绑的 VampirTrace 库。只需使用 --disable-vt 配置构建即可。1.6.1 默认不构建 VT。也许 1.6.3 对此进行了更改。如果您需要 MPI 跟踪,请从其主站点获取最新的 VampirTrace 并单独构建它。

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

最新更新