DALAB情報発信用ブログ:OpenCAE+GPGPU+Peridynamics編

DALABで行っている研究活動の中で、OpenCAEやGPGPUや破壊解析の取り組みについてまとめてゆきます。

DEXCS2012-Salomeの有効活用:並列版Code_Asterの構築手順(1)

2013年05月19日 17時20分55秒 | OpenCAE活用
ここでは、並列版Code_Asterの活用を目指してソースコンパイルに挑戦します。なおここで示した構築手順は、Code_Asterの活用について情報提供を頂いているMKさんの以下の資料を参考にしています。

構築手順まとめ:https://sites.google.com/site/codeastersalomemeca/home/code_asterno-heiretuka

構築するシステムは、平成25年5月19日現在の最新版である安定版10.8と開発版11.3を対象として、それぞれのCode_Asterソースコードを用いて、単独実行と並列実行の2種類のソルバーシステムを構築することを目指します。以下の手順では、最初に開発版11.3の単独実行を構築した後で並列実行を構築します。続いて安定版10.8についても同様に2段階で進めます。全体としては、以下の4種類のシステムを構築します。
  開発版11.3 : 単独実行 STA11.3(stable)  並列実行 PAR11.3
  安定版10.8 : 単独実行 STA10.8(stable)  並列実行 PAR10.8

検証に用いたベースのシステムは DEXCS2012-Salome-D1-B1-64(平成25年5月末公開予定) なのですが、基本的にOSとしてはUbuntu 12.04(64) になります。なお以下の手順は 64bitのDEXCS2012-Salomeを前提としています。大容量メモリの活用を考えて、64bit版でのみ構築を検証します。

■ 準備

まずはDEXCSをインストールしますが、並列高速処理を目指すので、複数CPUコアや大容量メモリが前提です。それなりのハードウエアが必要ですが、仮想マシンでの構築においては、ゲストOSに対して、CPUコアは2以上4程度、メモリは4GB程度以上、HDDは50GB程度は確保する必要があります。なお、以下の手順では仮想マシンを用いて検証していますが、並列実行で高速化を目指すならば直截にHDDにインストールする方法が良いですね。

構築が完了したらネットワークを接続して、システムアップデートを行っておきます。DEXCS2012-Salomeでは「アプリケーション」→「システムツール」→「システム設定」→「詳細の概要」→「システムの更新」で進め、再チェックしてアップデートを完了させておきます。なお構築手順を検証したシステムは、ユーザーはdexcsとしています。

■ インストール先など

この作業は dexcs ユーザーとして行っています。これはそれぞれの設定で読み替えてください。
ダウンロードしたファイルの保存:~/Install_Files (ユーザーdexcsのホームディレクトリ内/home/dexcs/にInstall_Filesdexcsを作成)
$ mkdir ~/Install_Files

システムをインストールする場所:/opt (この中に構築したソルバーシステムが作られます。初めはgoogle,salomeなどがあります)

■ 必要なファイル5個のダウンロード

Code_Aster : aster-full-src-11.3.0-3.noarch.tar.gz → http://www.code-aster.org/V2/spip.php?article272 (最新版は11.3ですが、パッチレベルは更新される場合もあります)
ACML : acml-5-3-1-gfortran-64bit.tgz → http://developer.amd.com/tools-and-sdks/cpu-development/amd-core-math-library-acml/acml-downloads-resources/#download(最新版5-3-1を用います)
ParMETIS : ParMetis-3.2.0.tar.gz → http://glaros.dtc.umn.edu/gkhome/metis/parmetis/download (最新版がありますが、実績のある3.2.0を旧版の中から探してダウンロードします。)
ScaLAPACK :  scalapack_installer.tgz → http://www.netlib.org/scalapack/ (MenuよりScaLAPACK Installer [for Linux]を選択して、リンク先にある1.0.1をダウンロードします。)
PETSc : petsc-3.3-p7.tar.gz → http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/(沢山あるファイル一覧から開発版で指定のバージョンをダウンロードします。)

■ 色々な準備作業

まずここでは、DEXCS2012-SalomeにあるChromeを用いてダウンロードしており、ホームディレクトリの~/Downloadsに以上の5つのファイルがあるので、これを~/Install_Filesに移動mvしておきます。
$ mv ~/Downloads/* ~/Install_Files

次に、インストール先の/optの所有者を変更します。本来/optはrootが所有ですが、導入や利用を考えて一般ユーザーdexcs(ここでの設定)にしておきます。要は作業者dexcsが読み書きできるようにします。sudoコマンドを実行するときは最初に、作業者のパスワードを入力します。
$ sudo chown dexcs /opt/

■ 追加パッケージのインストール

構築に必要なパッケージを sudo apt-get install でインストールします。途中で「続行しますか?」と何か聞かれたら、指示に従ってyで進めます。以下のコマンドラインで、全てを一度に導入できます。
sudo apt-get install gfortran g++ python-dev python-qt4 python-numpy liblapack-dev libblas-dev tcl tk zlib1g-dev bison flex checkinstall openmpi-bin openmpi-dev

gfortran g++ → コンパイラの追加
python-dev python-qt4 python-numpy → Pythonの機能追加
liblapack-dev libblas-dev → lapack,blasに対応する数値処理ライブラリの追加
tcl tk → スクリプト言語tclとGUIツールキットtk
zlib1g-dev → 圧縮ファイル対応ライブラリの追加
bison flex → コンパイルツールの追加
checkinstall → コンパイル支援ツールの追加
openmpi-bin openmpi-dev → 並列処理用MPIの実装

エラー無く最後までインストールが進んだら、追加パッケージの準備は完了です。最後には「build-essential (11.5ubuntu2.1) を設定しています」と表示されています。

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。