Code_Aster の並列化

本家の情報:http://www.code-aster.org/forum2/viewtopic.php?id=14892

ダウンロードしたファイルの保存先 ~/Install_Files
インストール先 /opt と /opt/aster

1. ファイルのダウンロード

 aster-full-src-10.3.0-3.noarch.tar.gz
 acml-4-4-0-gfortran-64bit.tgz
 ParMetis-3.1.1.tar.gz
 scalapack_installer.tgz


2. フォルダの所有者の変更(root → user)

$ sudo chown username /opt/


3. 必要なインストール

$ sudo apt-get install gfortran g++ python-dev python-numpy zlib1g-dev libatlas-base-dev grace bison flex python-qt4 checkinstall mpich2


4. acmlのインストール

$ cd ~/Install_Files/
$ mkdir ./acml
$ cp acml-4-4-0-gfortran-64bit.tgz ./acml
$ cd ./acml
$ tar xfvz acml-4-4-0-gfortran-64bit.tgz
$ ./install-acml-4-4-0-gfortran-64bit.sh -accept -installdir=/opt/acml4.4.0
$ echo /opt/acml4.4.0/gfortran64/lib | sudo tee -a /etc/ld.so.conf.d/amd_math.conf
$ sudo ldconfig


5. Code_Asterのインストール

$ cd ~/Install_Files
$ tar xfvz aster-full-src-10.3.0-3.noarch.tar.gz
$ cd aster-full-src-10.3.0/
$ sed -i "s:PREFER_COMPILER\ =\ 'GNU':PREFER_COMPILER\ =\'GNU_without_MATH'\nMATHLIB=\ '-L/opt/acml4.4.0/gfortran64/lib -lacml':g" setup.cfg
$ python setup.py install --prefix=/opt/aster

 (sed で書き換えた後の setup.cfg&ref(): File not found: "setup.cfg" at page "SALOME-Mecaの活用技術";)

6. .mpd.confの設定

$ cd ~/
$ echo MPD_SECRETWORD=mr-secret > .mpd.conf
$ chmod 600 .mpd.conf

 /opt/aster/etc/codeaster/aster-mpihosts を作成し、コンピュータ名:プロセッサー数を記入 例 : comp1:8

7. scalapackのインストール

$ cd ~/Install_Files
$ tar xfvz scalapack_installer.tgz
$ cd scalapack_installer_0.96/
$ ./setup.py  --blaslib=/opt/acml4.4.0/gfortran64/lib/libacml.a --downblacs --lapacklib=/opt/acml4.4.0/gfortran64/lib/libacml.a --mpicc=mpicc --mpif77=mpif90 --mpiincdir=/usr/include/mpich2/ --prefix=/opt/scalapack --f90=/usr/bin/gfortran


8. ParMetisのインストール

$ cp ~/Install_Files/ParMetis-3.1.1.tar.gz /opt
$ cd /opt
$ tar xfvz ParMetis-3.1.1.tar.gz
$ cd ParMetis-3.1.1

 Makefile.in に 'XTRALIBS = -lmpich' を加える

$ make


9. mumpsのインストール

$ cp ~/Install_Files/aster-full-src-10.3.0/SRC/mumps-4.9.2.tar.gz /opt/
$ cd /opt
$ tar xfvz mumps-4.9.2.tar.gz
$ mv mumps-4.9.2 mumps-4.9.2_mpi
$ cd mumps-4.9.2_mpi/

 Makefile.inc を添付ファイルのように書き換える&ref(): File not found: "Makefile.inc" at page "SALOME-Mecaの活用技術";

$ make all


10. PAR10.3の作成
 /opt/aster/etc/codeaster/asrun を開き、mpirun_cmd の部分を下のように書き換える
 mpirun_cmd : mpiexec -machinefile %(mpi_hostfile)s -n %(mpi_nbcpu)s %(program)s

$ cd /opt/aster
$ cp -ax STA10.3 PAR10.3
$ cd /opt/aster/PAR10.3

 profile.sh を添付ファイルのように書き換える&ref(): File not found: "profile.sh" at page "SALOME-Mecaの活用技術";
 config.txt を添付ファイルのように書き換える&ref(): File not found: "config.txt" at page "SALOME-Mecaの活用技術";

$ ../bin/as_run --vers=PAR10.3 --make clean
$ ../bin/as_run --vers=PAR10.3 --make clean bibf90/mumps
$ mpd &
$ ../bin/as_run --vers=PAR10.3 --make

 DIAGNOSTIC JOB : OK と表示されれば成功
 /opt/aster/etc/codeaster/aster を開いて、 vers : STA10.3 の下に vers : PAR10.3 を追加すればASTKに PAR10.3 が登録される

11. ASTK の設定
 Options でプロセッサー数を設定

  mpi_nbcpu=プロセッサー数
  mpi_nbnoeud=コンピューター数

 2台のコンピューターがそれぞれ10個のプロセッサーを持ち、合計20個のプロセッサーがある場合は、

  mpi_nbcpu=20、mpi_nbnoeud=2


12. comm の設定
13. 並列化の効果
 添付のJPGか、PDFの最後の2ページを見てください。内容は同じです。&ref(): File not found: "Parallelize_3.pdf" at page "SALOME-Mecaの活用技術";

*バージョン11.0の並列化は、上記の資料と同様の手順で実行できる。ただし、11.0 と 10.3 で config.txt が違うため、PAR10.3 の config.txt は流用できない。そのため、STA10.3 → PAR10.3 で行ったものと同様の書き換えを、PAR11.0 の config.txt に行う必要がある。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS