FrontISTRのビルドについて 国 研 究 開 発 法 海 洋 研 究 開 発 機 構 地 球 情 報 基 盤 センター 川 道 夫 第 24 回 FrontISTR 研 究 会 2015 年 12 21 ( )
紹 介 専 攻 は 航 空 宇 宙 ( 主 に 機 構 構 造 制 御 ) インターネットプロバイダのエンジニア オーディオメーカーで 分 散 ファイルシステム 当 時 の 地 球 シミュレータセンターへ 現 在 に る 学 時 代 は 秋 葉 原 の 部 品 やでバイトをしていました 弱 電 系 は 趣 味 程 度 ですが 現 在 も 続 けています
FrontISTRを 取 り 巻 く 実 環 境 FrontISTR 最 新 版 東 奥 研 からダウンロード REVOCAP_PrePostの 公 開 版 もここから ブラウザからFrontISTRを 使 える cistr なども DEXCS RDstr (easyistr) 岐 業 等 専 学 校 柴 先 が 主 催 しているオールインワンCAEシステム CAD(Salome-meca)も 同 梱 商 版 アドバンスソフト 株 式 会 社 Advance/FrontSTR (プリポスト 付 き) 株 式 会 社 計 算 学 研 究 センター 株 式 会 社 エデュサイエンス 綜 合 研 究 所 EduS/FrontISTR/Quake EduS/FrontISTR/Tectron ( 地 震 動 地 殻 変 動 解 析 ) などなど
CADで 形 状 作 成 解 析 の 流 れ プリ 解 析 FrontISTR STLなどでexport REVOCAP_PrePost ポスト Windows10 標 準 添 付 の3D Builder DEXCS-RDstr (Salome-meca + easyistr) REVOCAP_PrePost Paraview
前 ビルドすることで 最 新 の 機 能 を 試 すことが 出 来 る 実 環 境 に 合 わせた 最 適 化 がしやすくなる 使 いたい 機 能 を 取 捨 選 択 できる ただし 解 決 は 前 で ただし 選 択 する 機 能 とライブラリによって 排 他 となる 場 合 があります 川 なりの ビルド 順 FrontISTRのビルド の 巻 を 書 きました インストールマニュアルの 補 助 資 料 として 使 ってください 誤 り ご 指 摘 アドバイス 等 は michioga@jamstec.go.jp へ 是 お 寄 せ 下 さい
Windows 版 のビルド 環 境 MSYS2が 便 利 (MinGW64ベース) pacmanというパッケージ 管 理 ツールで 導 が 簡 単 MS Visual Studio のライブラリには 少 し 細 が 必 要 MSYS2はパッケージのアップデートが 頻 繁 なため 過 去 出 来 たことが 出 来 なく なることもあります 再 配 布 のライセンスが 較 的 由 で Unix 由 来 のソフトへの 親 和 性 の い MinGWを 利 しました (Cygwinと 違 い sys/socket.hは 無 いので 移 植 が 必 要 になります)
Ubuntu 版 のビルド 環 境 apt-get で 発 インストール ソースのコンパイルも 迷 うところなし Virtualbox 等 の 仮 想 環 境 でUbuntuは 使 えます PCクラスタなど 規 模 環 境 は Unix 系 のOSが 多 いです 将 来 スパコンを 利 する 場 合 も 移 が 簡 単 です (JAMSTECのスパコンでも 使 えます!)
各 ソフトウェアの 依 存 関 係 FrontISTR OpenBLAS (LAPACK) Metis MUMPS MPI ML REVOCAP_Refiner その 他 ツールも 必 要 cmake, gendef 等 ScaLAPACK OpenBLASか REVOCAP_Refinerからビル ドするのが 良 いと 思 います
ビルドの 順 番 1. REVOCAP_Refiner 2. OpenBLAS 3. ScaLAPACK 4. ML 5. Metis 6. MUMPS 7. FrontISTR をお 勧 めします( 依 存 関 係 の 少 ない 物 から 順 に)
機 能 別 チャート -p tools refiner metis parmetis mkl mumps paracon lapack ml serial 〇 〇 〇? 〇 〇 OpenMP 有 効 MPI(Open MP 無 効 ) MPI(Open MP 有 効 ) 〇 〇 〇? 〇? 〇 〇 〇 〇 〇? 〇 〇 〇 〇 〇 〇 〇 〇? 〇 〇 〇 〇 私 はmklを 持 っていないのでテスト 出 来 ませんでした(-p --with-mklは 排 他 ) paraconを 有 効 にする 場 合 metis4を 使 う 必 要 があります MLはMPIを 必 要 ではないが zoltanの 機 能 を 使 う 場 合 必 要 になります parmetisは 再 配 布 が 出 来 ません ptscotchなら 出 来 るが 安 定 した 動 作 を 確 認 出 来 ませんでした
Metisに 何 を 使 うか? fistr2 paracon 64ビット 化 の 可 能 性 バイナリ での 配 布 Thread(O penmp) 対 応 MPI 対 応 metis4 版 〇 〇 metis5 版 〇 〇 〇 scotch6 版 〇 〇 〇 fistr2はmetis5に 対 応 していません Scotch6はMetis4の 互 換 APIを 持 っていますが 部 実 装 していない 機 能 があるため 利 できません paraconはmetis5に 対 応 していません Metis4の 扱 うインデックスのサイズは32ビットです Metis5とScotch6は64ビットに 対 応 しました Metis4はライセンスの 関 係 で 再 配 布 は 認 められていません ライブラリレベルでThread(OpenMP)に 対 応 しているのは Metis5とScotch6です か 所 Parmetis3を 利 している 箇 所 があります それ 以 外 ではParmetisは 使 いませ ん
Ubuntu/Windowsのビルド 注 意 点 ビルド 環 境 MPI ライブラリの 対 応 具 合 ビルドの 時 間 Windows バラバラ MS-MPI 試 錯 誤 が 必 要 Ubuntu 標 準 パッケージ OpenMPI MPICH2 等 ほぼ 問 題 なし 中 Windowsの 開 発 環 境 はCygwin, MSYS/MINGW(32bit), MSYS2, rubyinstaller devkit, Visual Studio 等 様 々 Ubuntuはapt-getで 簡 単 にインストールする 事 が 出 来 る Windowsで 動 作 するMPIは 現 在 はMicrosoft MPIのみ( 他 のMPIは 既 に 開 発 が まっています) UbuntuではOpenMPI, MPICH, MPICH2が 使 える Windowsではバイナリの 利 ( 簡 便 に) Ubuntu(Linux)では 分 でビルド( 新 しい 機 能 の 利 ) が 良 いと 思 います
ビルド 時 の 注 意 点 Microsoft MPIは 細 が 必 要 ( 元 来 Visual Studio ) OpenBLASをビルドする 時 はTARGETに 注 意 METISは4.0.3と5.1.0がある(paracon, openmpの 利 時 には 注 意 ) MUMPSをビルドする 時 ORDERINGSFに 注 意 (-Dmetis と -Dmetis4 があります) Windows 版 ではScotch6の 利 は 挙 動 が 不 安 定 (iterationが 極 端 に 増 える) Makefile.conf などで 指 定 する define の 書 き 忘 れに 注 意 (-D_WINDOWS, -D VC 等 ) ディレクトリ 名 にスペースが らないように 夫 ( 特 にWindows)
CADで 形 状 作 成 解 析 の 流 れ プリ 解 析 FrontISTR STLなどでexport REVOCAP_PrePost ポスト Windows10 標 準 添 付 の3D Builder DEXCS-RDstr (Salome-meca + easyistr) REVOCAP_PrePost Paraview
REVOCAP_PrePostのビルドについて 現 在 FrontISTR 研 究 会 に 上 がっている REVOCAP_PrePostの 構 築 法 は 問 題 があることが 分 かりました 新 しいREVOCAP_PrePostが 間 もなくアップロード されると 思 いますので 暫 くお 待 ちください
REVOCAP_PrePostの 構 築 に 必 要 なソフト ruby-2.1.5 特 にWidnows 版 の 場 合 このバージョンでないとインストールできません fxruby-1.6.29, opengl, glu, glutのrubyモジュール Windows/Ubuntu 版 共 に このバージョンに 依 存 しています glew, glut 等 Windows 版 はバイナリが できます Ubuntu 版 のパッケージも 意 されています REVOCAP_Mesh REVOCAP_PrePostに 同 梱 されています ビルドしたライブラリはREVOCAP_PrePost/lib/ <ruby_version>/<arch> 以 下 にコピーして 利 します ADVENTURE_TetMesh Net:SSH rubyモジュール OpenCASCADE OCE 版 コミュニティー 版 として 公 開 されているものです CADファイルを 使 わない 場 合 は 必 要 ありません
REVOCAP_PrePostのビルドでの 注 意 点 Windows 版 は バイナリ 配 布 パッケージをご 利 ください ビルドが 変 です( 頑 張 れば 出 来 ます) Ubuntu 版 は fxrubyは 必 ず 1.6.29をインストールして 下 さい gem install fxruby v 1.6.29 アドバンスソフト 株 式 会 社 徳 永 様 から 教 えて 頂 きました
プリ (メッシュ 成 境 界 条 件 設 定 ) Windows/Ubuntuどちらも 同 じ 様 に 操 作 出 来 ます メッシュ 成 にADVENTURE_TetMeshを 利 しています 成 されるメッシュの 品 質 は 較 的 良 いようですが 複 雑 な 形 状 だとメッシュが 切 れない 事 もあります Virtualboxなどの 仮 想 環 境 で 利 する 時 は 3DアクセラレーションをOFFにした が 良 いようです(Virtualboxのドライバ に 期 待 )
その 他 ポスト 処 理 結 果 等 REVOCAP_PrePost Paraview 〇 〇 〇.cntファイル!output_type = COMPLETE_REORDER_AVS
最 後 に 少 しずつ 規 模 が きくなってくると そんな 時 は 是 より 多 くのプロセッサ より きなメモリ を 使 いたくなると 思 います JAMSTECへ
JAMSTECのスパコン メモリ32TB/コア 数 2,560 個 のLinuxスパコン UV2000 1CPU(10コア) 時 間 87 円 ( 税 込 ) メモリバンド 幅 256GB/s, 総 コア 数 20,480 個 のベクトル 型 スパコン 地 球 シミュレータ 1ノード(4CPU) 時 間 216 円 ( 税 込 ) でご 利 いただけます
ご 清 聴 ありがとうございました