본문 바로가기

IT n Linux

OpenMPI 설치하기

클러스터에 병렬연산을 하기 위해서 꼭 설치해야 되는게 MPI Library 입니다. MPI 라이브러리에는 다양한 종류가 있는데요. 가장 많이 사용되는게 MPICH, LAM MPI, OpenMPI 정도 인 것 같습니다.

여기서는 이중 OpenMPI 를 설치해 보겠습니다.

설치환경
  • OS : CentOS 5.1 (updated 2008. 4. 12)
  • Arch : x86_64
  • 설치경로 : /opt/openmpi
  • 컴파일러
    • CC : icc
    • CXX : icpc
    • F77 : ifort
    • FC : ifort
파일받기
파일은 OpenMPI 홈페이지에서 받을 수 있습니다. 현재 최신버젼은 1.2.6 입니다.

설치
설치과정은 단순합니다.
# ./configure --prefix=/opt/openmpi --enable-mpi-threads
# make all
# make install
기본적인 thread 기능만을 활성화 한 상태 입니다. progress-thread 의 경우 아직 문제가 있는 것 같습니다. 또한  intel compiler 와 같이 사용할 경우 정상적인 실행이 되지 않았습니다.

환경설정
OpenMPI 를 사용하기 위한 환경 변수 설정을 합니다. 다음 내용을 가진 /etc/profile.d/openmpi.sh 파일을 만들어 줍니다.
OPENMPI_PATH=/opt/openmpi
MPI_HOME=${OPENMPI_PATH}
if ! echo ${PATH} | /bin/grep -q ${OPENMPI_PATH}/bin ; then
        PATH=${OPENMPI_PATH}/bin:${PATH}
fi
Library 경로를 ld 경로에 추가시켜 줍니다.
# echo "/opt/openmpi/lib" > /etc/ld.so.conf.d/openmpi.conf
# ldconfig
다음과 같은 결과가 나타나는지 확인하면 됩니다.
# ldconfig -p | grep mpi
        libopen-rte.so.0 (libc6,x86-64) => /opt/openmpi/lib/libopen-rte.so.0
        libopen-rte.so (libc6,x86-64) => /opt/openmpi/lib/libopen-rte.so
        libopen-pal.so.0 (libc6,x86-64) => /opt/openmpi/lib/libopen-pal.so.0
        libopen-pal.so (libc6,x86-64) => /opt/openmpi/lib/libopen-pal.so
        libmpi_f90.so.0 (libc6,x86-64) => /opt/openmpi/lib/libmpi_f90.so.0
        libmpi_f90.so (libc6,x86-64) => /opt/openmpi/lib/libmpi_f90.so
        libmpi_f77.so.0 (libc6,x86-64) => /opt/openmpi/lib/libmpi_f77.so.0
        libmpi_f77.so (libc6,x86-64) => /opt/openmpi/lib/libmpi_f77.so
        libmpi_cxx.so.0 (libc6,x86-64) => /opt/openmpi/lib/libmpi_cxx.so.0
        libmpi_cxx.so (libc6,x86-64) => /opt/openmpi/lib/libmpi_cxx.so
        libmpi.so.0 (libc6,x86-64) => /opt/openmpi/lib/libmpi.so.0
        libmpi.so (libc6,x86-64) => /opt/openmpi/lib/libmpi.so
        libmca_common_sm.so.0 (libc6,x86-64) => /opt/openmpi/lib/libmca_common_sm.so.0
        libmca_common_sm.so (libc6,x86-64) => /opt/openmpi/lib/libmca_common_sm.so
#



참고 자료
  • http://www.open-mpi.org/
  • http://www-unix.mcs.anl.gov/perfvis/software/viewers/jumpshot-4/node34.html