How to install OpenMPI 1.6.3 – 64 bit version in a machine with CUDA 5.0 installed already. OS using is CentOS 6.3 x86_64.
After doing the configure i gave the command make. At last it is showing some conflict with the CUDA include files.
I
have gave the following options in configure command
./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
configure command successfully executed. After that i gave
make
After a lot of output i got the following errors in the terminal.
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
The problem is not in Open MPI buth rather with the bundled VampirTrace library. Simply configure the build with –disable-vt. 1.6.1 does not build VT by default. Maybe 1.6.3 had this changed. If you need MPI tracing, obtain the latest VampirTrace from its home site and build it separately.
This answer is provided by Hristo Iliev Nov 16 at 12:35