Code_Aster の並列化

Code_Aster ForumCAE Linuxの情報を参考に記述しています。

OS:Ubuntu 10.04
Code_Aster : ver.10.6
 *10.6を対象に記述していますが、11.1も同様の方法で並列化できます。

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

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

 aster-full-src-10.6.0-3.noarch.tar.gz
 acml-4-4-0-gfortran-64bit.tgz
 ParMetis-3.2.0.tar.gz
 mpiblacs.tgz
 scalapack-1.8.0.tgz
 petsc-2.3.3.tar.gz


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.6.0-3.noarch.tar.gz
$ cd aster-full-src-10.6.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


6. .mpd.confの設定

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

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

7. scalapackのインストール

$ mkdir /opt/scalapack
$ mkdir /opt/scalapack/build
$ mkdir /opt/scalapack/lib
$ cp ~/Install_Files/mpiblacs.tgz /opt/scalapack/build
$ cp ~/Install_Files/scalapack-1.8.0.tgz /opt/scalapack/build
$ cd /opt/scalapack/build
$ tar xfvz mpiblacs.tgz
$ tar xfvz scalapack-1.8.0.tgz
$ cd /opt/scalapack/build/BLACS
$ cp ./BMAKES/Bmake.MPI-LINUX ./Bmake.inc

 Bmake.incを添付ファイルのように書き換えるfileBmake.inc

$ make mpi
$ cp LIB/*.a /opt/scalapack/lib
$ cd /opt/scalapack/build/scalapack-1.8.0
$ cp SLmake.inc.example SLmake.inc

 SLmake.incを添付ファイルのように書き換えるfileSLmake.inc

$ make
$ cp libscalapack.a /opt/scalapack/lib


8. ParMetisのインストール

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

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

$ make


9. mumpsのインストール

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

 Makefile.inc を添付ファイルのように書き換えるfileMakefile.inc

$ make all


10. petscのインストール

$ cp ~/Install_Files/petsc-2.3.3.tar.gz /opt
$ cd /opt
$ tar xfvz petsc-2.3.3.tar.gz
$ cd petsc-2.3.3-p16
$ ./config/configure.py --with-mpi-dir=/usr/lib --with-blas-lapack-lib=/opt/acml4.4.0/gfortran64/lib/libacml.a --with-debugging=0 COPTFLAGS=-O3 FOPTFLAGS=-O3 --with-shared=0 --configModules=PETSc.Configure --optionsModule=PETSc.compilerOptions  --with-x=0
$ PETSC_ARCH=linux-gnu-c-opt; export PETSC_ARCH
$ PETSC_DIR=/opt/petsc-2.3.3-p16; export PETSC_DIR
$ make


11. PAR10.6の作成
 /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.6 PAR10.6
$ cd /opt/aster/PAR10.6

 profile.sh を添付ファイルのように書き換えるfileprofile.sh
 config.txt を添付ファイルのように書き換えるfileconfig.txt
 *config.txtのID_PERFの項は自身のコンピュータ名に書き換えてください。
 *11.1の場合はconfig.txtのPAR10.6をPAR11.1に置き換えてください。

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

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

12. comm の設定
 下図のように、MECA_STATIQUEやSTAT_NON_LINEのオプションで並列ソルバーを選択してください。
 b_mumps以下の項目はオプションですので、任意で設定してください。

#ref(): File not found: "MUMPS_option.jpg" at page "SALOME-Mecaの活用技術"


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

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

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

  mpi_nbcpu=20、mpi_nbnoeud=2

 下図のようにASTKでVersionをPAR10.6に切り替えます。

ASTK10.6.jpg

 Runボタンを押せば並列計算が実行されます。


添付ファイル: fileASTK10.6.jpg 474件 [詳細] fileMakefile.inc 581件 [詳細] fileBmake.inc 550件 [詳細] fileconfig.txt 726件 [詳細] fileprofile.sh 507件 [詳細] fileSLmake.inc 525件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-11-30 (金) 17:07:27 (423d)