MPICH2

  • Cellist には MPICH2-1.0.6p がすでに入っています
  • which mpirun とかやって、無いとか言われたらおしえて

MPICH2 コンパイルの仕方

  • 基本的にはgcc の使えるオプションはすべて使えます
  • mpi.c をコンパイルする方法
    mpicc mpi.c -o mpi
  • 他にもライブラリが必要な場合はつける(以下はN体ライブラリと算術ライブラリの追加)
    mpicc mpi.c -o mpi -lm -lnbody -L/path/to/libnbody -I/path/to/libnbody
    • -l はリンクライブラリの指定
    • -L はライブラリの存在するディレクトリの追加(math ライブラリは標準ライブラリのため、gccに登録済み、省略できる)
    • -I はヘッダファイル(*.h) の存在するディレクトリの追加(math.h は標準ライブラリのため、gccに登録済み、省略できる)

MPICH2 実行方法

  • 使いたいノードのホスト名を書いたファイルをつくる
    echo cellist0 > machinefile
    echo cellist1 >> machinefile
    echo cellist2 >> machinefile
    echo cellist3 >> machinefile
    • machinefile の中は以下のようになる
      cellist0
      cellist1
      cellist2
      cellist3
    • もし使いたくないノードがあればはずす
  • MPIプロセスを複数ノード実行するための mpd というアプリケーションを実行する
    • machienfile にかかれたノードの上から 3台を使いたいときは
      mpdboot -n 3 -f machinefile
    • ちゃんと起動したか確認、mpdの起動したノードのホスト名が見れる
      mpdtrace
  • MPI プログラムを実行する
    • 4プロセスでカレントディレクトリの mpi というプログラムを実行させたいときは
      mpirun -np 4 ./mpi もしくは mpiexec -n 4 ./mpi
  • MPICH の使用を終了する
    • 起動した mpd をすべて終了する
      mpdallexit

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-05-29 (火) 19:12:57 (2157d)