MPI のインストールと設定

  • 履歴
    • 2012/08/12 杉山耕一朗
    • 2013/04/03 小高正嗣, 荻原弘尭
    • 2013/04/05 小高正嗣, 荻原弘尭
    • 2013/04/09 杉山耕一郎, 荻原弘尭
    • 2013/04/10 荻原弘尭

インストール

PGI fortran でコンパイルしインストールする.

環境設定

  • システム全体で使えるように PGI fortran に対してパスを通す(ログインノード, 計算ノード両方必要)

    # vi /etc/profile.d/pgi.sh
    
    export PATH=$PGI/linux86-64/2012/bin:$PATH
    export MANPATH=$MANPATH:$PGI/linux86-64/2012/man
    export LM_LICENSE_FILE=$PGI/license.dat
  • MPI まわりのインストール先にもパスを通す

    # vi /etc/profile.d/mpich.sh
    
    export PATH=/work00/mpich2/bin:$PATH

mpich のインストール

  • <URL:http://www.mpich.org> より, 最新版 mpich を取得する(最新版は mpich-3.0.3 (2013/04/04 現在))

    $ wget http://www.mpich.org/static/tarballs/3.0.3.tar.gz
    $ tar zxvf mpich-3.0.3.tar.gz
    $ cd mpich-3.0.3/
  • mpich2 のコンパイルおよびインストール
    • コンパイルオプションの付け方は, PGI fortranのサポートページ <URL:http://www.softek.co.jp/SPG/Pgi/TIPS/public/general/mpich2_install2.html>を参照. 但し, OSC mpiexec を後でインストールするので --with-device オプションは指定しない

      $ export CC=pgcc FC=pgfortran F77=pgfortran CXX=pgcpp CFLAGS=-fast \
        FCFLAGS=-fast FFLAGS=-fast CXXFLAGS=-fast MPICH2LIB_LDFLAGS=-pgf90libs
      $ ./configure --enable-shared --prefix=/work00/mpich2
      $ make
      $ sudo -s
      # export PGI=/work00/pgi
      # export PATH=$PGI/linux86-64/2012/bin:$PATH
      # make install

テストプログラムの実行

ソフテックの解説ページ <URL:http://www.softek.co.jp/SPG/Pgi/TIPS/public/general/mpich2_install2.html>に記載されているテストプログラムを作成し, 実行してみる.

  • Fortran プログラム(single 実行)

    $ mpif90 mpihello.f
    $ ./a.out
    Hello - I am process 0 host hikari
    Hello world! I'm node
  • C プログラム(single 実行)

    $ mpicc myname.c
    PGC-W-0156-Type not specified, 'int' assumed (myname.c: 3)
    PGC/x86-64 Linux 11.10-0: compilation completed with warnings
    $ ./a.out
    My name is hikari

OSC mpiexec のインストール

ジョブスケジューラ pbs (torque はそのフリー版) を使う場合 Hydra mpiexec (mpich のデフォルト) と OSC mpiexec がある. Hydra mpiexec は各ユーザが計算ノードに nopass login できないといけないようなので OSC mpiexec を使う

参考:<URL:http://www.mpich.org/static/docs/guides/mpich2-1.5-userguide.pdf>, <URL:http://www.clusterresources.com/torquedocs21/7.1mpi.shtml>

  • ジョブスケジューラ torque のライブラリだけインストール(torque のライブラリがないと OSC mpiexec がインストールできない)

    # apt-get install libtorque2 libtorque2-dev
  • mpiexec の入れ替え および OSC mpiexec のインストール
    • デフォルトのリンクを消す

      # rm /work00/mpich2/bin/mpiexec
    • OSC mpiexec のページから OSC mpiexec の最新版(最新版は mpiexec-0.84(2013/04/04 現在))を取得する

      $ wget https://www.osc.edu/~djohnson/mpiexec-0.84.tgz
      $ tar zxvf mpiexec-0.84.tgz
      $ cd mpiexec-0.84
      $ export CC=gcc
      $ ./configure --with-default-comm=mpich2-pmi --prefix=/work00/mpich2
      $ make
      $ sudo -s
      # make install

参考文献