Hi~
I want to use a jetson orin nx and jetson orin nano to build a distributed environment ,and I want to use mpi to communicate , so I install openmpi as ucx and openmpi official website :
configure as follow:
# configure environment
export CUDA_HOME="/usr/local/cuda-12.2" && \
export UCX_HOME="/usr/local/ucx" && \
export OMPI_HOME="/usr/local/ompi" && \
export PATH="${CUDA_HOME}/bin:$PATH}" && \
export PATH="{UCX_HOME}/bin:$PATH}" && \
export PATH="{OMPI_HOME}/bin:$PATH}" && \
export LD_LIBRARY_PATH="${CUDA_HOME}/lib64:$LD_LIBRARY_PATH}" && \
export LD_LIBRARY_PATH="${UCX_HOME}/lib64:$LD_LIBRARY_PATH}" && \
export LD_LIBRARY_PATH="${OMPI_HOME}/lib64:$LD_LIBRARY_PATH}"
# install UCX
git clone https://github.com/openucx/ucx.git
cd ucx
git clean -xfd
./autogen.sh
mkdir build && cd build
../configure --prefix=$UCX_HOME --enable-debug --with-cuda=$CUDA_HOME --enable-mt --disable-cma
make -j$(nproc)
sudo make install
# install openmpi
git clone --recursive https://github.com/open-mpi/ompi.git
cd ompi
git clean -xfd
./autogen.pl
mkdir build && cd build
./configure --prefix=$OMPI_HOME --with-cuda=$CUDA_HOME --with-ucx=$UCX_HOME --with-ucx-libdir=$UCX_HOME/lib
make -j$(nproc)
sudo make install
# configure
MPI_HOME=/usr/local/ompi && \
export PATH=${MPI_HOME}/bin:$PATH && \
export LD_LIBRARY_PATH=${MPI_HOME}/lib:$LD_LIBRARY_PATH && \
export MANPATH=${MPI_HOME}/share/man:$MANPATH
Then, I use two command to verify:
ompi_info | grep "MPI extensions"
ompi_info --parsable --all | grep mpi_built_with_cuda_support:value
I don’t know why , I build with cuda all the time .
Has anyone succeeded on jetson?