*Code_Aster の並列化 [#pff8d5dc] 本家の情報: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(SALOME-Mecaの活用技術/setup.cfg);)~ ~ 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(SALOME-Mecaの活用技術/Makefile.inc);~ $ 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(SALOME-Mecaの活用技術/profile.sh);~ config.txt を添付ファイルのように書き換える&ref(SALOME-Mecaの活用技術/config.txt);~ $ ../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(SALOME-Mecaの活用技術/Parallelize_3.pdf);~