プログラムの高速化・並列化サービス 事例一覧

以下は、弊社のプログラムの高速化・並列化サービスの主な事例の一覧です。
その対象分野は,物質・物性化学・量子化学海洋・気象学航空宇宙・ターボ機械・流体解析医学・生体工学地球物理・プラズマ物理, その他多岐にわたります。

ここでは、英国国立スーパーコンピューティングリソースプロジェクト:HECToR、 EUのHPCプロジェクトPerformance Optimisation and Productivity (POP)、 EUのエクサスケールプロジェクト EXascale Algorithms and Advanced Computational Techniques (EXA2CT)、 および日本国内のお客様の事例を掲載しています。
HECToRプロジェクトにおける実際の簡単な最適化事例を、ケーススタディーとして、また詳細なチューニングの実際を、チューニングレポートとして掲載しました。

物質・物性分野

お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子構造計算
アプリケーション名 CASTEP
チューニング方法 バンド並列化
成果 速度が4倍化しスケーラビリティが改善
推定削減コスト(円換算):3億2千万円 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子構造計算
アプリケーション名 CASTEP
チューニング方法 時間依存DFT機能の追加
成果 時間依存DFT機能を追加し、256コアまで良好なスケール性を示した。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子構造計算
アプリケーション名 CASTEP/ONETEP
チューニング方法 limited-memory版BFGSアルゴリズム(L-BFGS)への切り替え
成果 パフォーマンス改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子構造計算
アプリケーション名 CONQUEST
チューニング方法 Kerker前処理,K点並列,Methfessel-Paxton smearingの導入
成果 パフォーマンスの改善と機能追加 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子構造計算
アプリケーション名 CONQUEST
チューニング方法 効率的な動的負荷バランスの実装による線形スケール性改善
成果 MDシミュレーション計算時間が40%-90%削減された。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子構造計算
アプリケーション名 CONQUEST
チューニング方法 スピン分極、van der Waals相互作用計算追加。マルチコアCPU対応ハイブリッド並列化
成果 1000コアまで弱スケールした。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子構造計算
アプリケーション名 VASP
チューニング方法 OpenMP+MPI版VASPの開発,密度汎関数理論/ハートリー・フォック(Hartree-Fock)コードの再構築
成果 パフォーマンス改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子構造計算
アプリケーション名 VASP
チューニング方法 並列処理の最適化,K点並列化の導入
成果 3倍から12倍の加速化とスケーラビリティの改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子-分子散乱シミュレーション
アプリケーション名 UKRMol
チューニング方法 ハミルトニアン行列の構築と対角化計算の並列化
成果 負荷バランスとスケーラビリティが向上、CCPForgeへ公開 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム パルスレーザによる多原子分子の電子散乱シミュレーション
アプリケーション名 RMT
チューニング方法 負荷バランスとMPI通信の最適化、伝搬関数コードの改良
成果 8192コアの場合に30%高速化、伝搬関数コードの改良で80%高速化 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム パルスレーザによるヘリウム原子散乱シミュレーション
アプリケーション名 HELIUM
チューニング方法 OpenMP/MPIハイブリッド並列、配位空間から運動量空間への変換コードの改良
成果 8千コアまでリニアにスケールした。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 量子モンテカルロアプリケーション
アプリケーション名 CASINO
チューニング方法 OpenMP,階層型並列処理
成果 パフォーマンスが4倍に改善
推定削減コスト(円換算):1億3千万円 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 量子モンテカルロアプリケーション
アプリケーション名 CASINO
チューニング方法 MDとの連成実装
成果 82,944コアで線形な弱スケーリング性を示した。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 磁気モデリングコード
アプリケーション名 MicroMag
チューニング方法 PETScライブラリとParMetisの適用による並列化
成果 100245要素ケースで初期化を省いた実行時間が16コア上で5倍高速化 詳しくはこちら
お客様名/プロジェクト名 POPプロジェクト
対象プログラム 密度汎関数タイトバインディング法コード
アプリケーション名 DFTB
チューニング方法 計算スケール性、負荷バランス、通信負荷の分析と概念実証の作成評価
成果 MPI通信と計算の同時実行による性能改善の可能性を提案。 詳しくはこちら
お客様名/プロジェクト名 POPプロジェクト
対象プログラム 一般個体輸送モデルによる粒子トラッキングコード
アプリケーション名 GITM
チューニング方法 OpenMP性能改善とMPI並列による並列性能改善の予測分析
成果 ベクトル化の促進とNetCDFによる並列I/Oの導入によるスケーラビリティ改善の提案。 詳しくはこちら

化学・量子化学分野

お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 物性学シミュレーション
アプリケーション名 CP2K
チューニング方法 変換ルーチンの最適化,OpenMPの実装
成果 速度改善とスケーラビリティの改善
推定削減コスト(円換算):6億3千万円 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 材料モデリング
アプリケーション名 CRYSTAL
チューニング方法 分割統治法の実装
成果 パフォーマンスの改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 触媒化学シミュレーション
アプリケーション名 ChemShell
チューニング方法 タスクファーミングの手法を用いた並列処理の実装
成果 速度が8倍に改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 分子動力学シミュレーション
アプリケーション名 DL_POLY
チューニング方法 I/Oの最適化
成果 DL_POLY_3のパフォーマンスが20倍に加速 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 分子動力学シミュレーション
アプリケーション名 DL_POLY
チューニング方法 ロードバランシング,剛体力学の実装
成果 速度改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 粗視化分子動力学シミュレーション
アプリケーション名 LAMMPS
チューニング方法 離散要素法(DEM)機能の追加
成果 ボロノイ図形による、移動境界および固定応力制御境界条件機能の実装 詳しくはこちら

海洋・気象分野

お客様名/プロジェクト名 統計数理研究所(東京大学地震研究所 長尾大道様)
対象プログラム 粒子フィルタ法による長期潮位変動解析プログラム
アプリケーション名 SLDECOMP
チューニング方法 足し合わせ処理で非ゼロ成分のみを加算するように変更、内部ループにおける配列要素アクセス順序を連続的になるよう変更、可能な部分においてメモリの領域コピーを参照コピーに変更。
成果 計算速度が5.3倍になった。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 混相流シミュレーション
アプリケーション名 Fluidity
チューニング方法 有限要素メッシュの領域分割法の改善
成果 ヒルベルト空間充填曲線法(HSFC)を実装 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 海洋学モデリングアプリケーションプログラム
アプリケーション名 Fluidity-ICOM
チューニング方法 行列のアセンブリコードの最適化,インターリーブI/Oの実装,コードリファクタリング
成果 スケーラビリティが劇的に改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 海洋学アプリケーション
アプリケーション名 NEMO
チューニング方法 I/Oデータサイズの縮小によるI/Oボトルネックの削減
成果 速度と入出力パフォーマンスが改善
推定削減コスト(円換算):3億9千万円 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 海洋学アプリケーション
アプリケーション名 NEMO
チューニング方法 3次元配列インデックスとネストしたループの入れ替え、スカラープロセッサ上のキャッシュ再利用効率向上、マルチコアに適した領域分割および地表の不必要な計算の削除
成果 実行時間が10%削減されました。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 海洋流体および空力音響アプリケーション
アプリケーション名 PEQUOD/Cfoam-CABARET
チューニング方法 MPI_ALLTOALL集団通信の改善。MPI-IOによるI/O効率化
成果 PEQUODは実行時間が2倍に高速化し、512コアで1638グリッド点までスケールした。Cfoam-CABARETでは膨大な数のファイルIOを削減した。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 大気化学シミュレーション
アプリケーション名 GLOMAP/TOMCAT
チューニング方法 ハイブリッド並列化(OpenMP/MPI)
成果 速度が4倍に改善 詳しくはこちら

航空宇宙・ターボ機械分野・流体解析

お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 航空機騒音シミュレーション
アプリケーション名 CABARET
チューニング方法 ハイブリッド(OpenMP/MPI)並列化
成果 速度改善、より大きなモデルの取り扱いが可能に 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 物体乱流シミュレーション
アプリケーション名 EBL
チューニング方法 2次元領域分割
成果 スケーラビリティを40倍に改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 乱流シミュレーション
アプリケーション名 Incompact3D
チューニング方法 領域分割法の更新,OpenMP
成果 パフォーマンスが6倍に改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 乱流シミュレーション
アプリケーション名 Incompact3D
チューニング方法 2DECOMP&FFTライブラリへの1対1通信を実装し、通信/計算オーバーラップによるMPI並列効率の改善
成果 15%性能向上した。複数の独立FFTライブラリ呼出しを1つにまとめた。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 乱流シミュレーション
アプリケーション名 Compact3D
チューニング方法 2DECOMP&FFTフレームワークで並列化し, ハロ(halo)セル構築と1対1通信による隣接ペンシル間データ交換通信を実装
成果 並列効率80%を達成した 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 乱流シミュレーション
アプリケーション名 SWT/SS3F
チューニング方法 2D領域分割の適用、FFT3W、2DECOMP&FFTライブラリの適用
成果 スケーラビリティが10倍以上改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 圧縮性流体シミュレーション
アプリケーション名 COSA
チューニング方法 ハイブリッドOpenMP/MPI並列効率の改善、MPI I/Oの改善
成果 大規模ケースで30%性能改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 多相反応流/乱流燃焼シミュレーション
アプリケーション名 DSTAR
チューニング方法 2D領域分割の適用、I/O最適化、コードのリファクタリング
成果 並列効率50%に改善、リファクタリングにより20%高速化 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 高解像度LESシミュレーション
アプリケーション名 BOFFS
チューニング方法 MPIによるブロックデータ間通信の実装、メモリー利用の効率化、OpenMPによるブロック内通信の実装
成果 千2百万グリッドで1.5倍の速度向上、並列効率の改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 流体/MD連成シミュレーション
アプリケーション名 Transflow/StreamMD
チューニング方法 アプリケーション連成モジュールの開発
成果 90%以上の並列効率を達成詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 流体解析シミュレーション
アプリケーション名 Code_Saturne
チューニング方法 領域分割パッケージの評価
成果 Metis,ParMetis,Scotch,PT-Scotch,Zoltanによる領域分割についてシミュレーション評価を行った詳しくはこちら

医学・生体工学分野

お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 心臓モデリング
アプリケーション名 CARP
チューニング方法 非同期の並列処理機能,改善された並列メッシュ分割スキーマの実装
成果 パフォーマンスが20倍に改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 骨格モデリング
アプリケーション名 VOX-FE
チューニング方法 HDF5フォーマットへ変換、netCFD並列I/Oルーチンの実装
成果 ファイルサイズ190倍縮小、I/O時間は7倍高速化 詳しくはこちら

地球物理、プラズマ物理分野

お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 地球力学熱対流シミュレーション
アプリケーション名 CITCOM
チューニング方法 マルチグリッド法の改善,マルチグリッドサイクルの実装,局所的メッシュの改良
成果 30%以上の加速化 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 磁気プラズマ乱流シミュレーション
アプリケーション名 GS2
チューニング方法 FFTW2からFFTW3へのライブラリ入替
成果 FFTW3によるSSE命令の効果はほとんどなかった。新たに間接指標アクセスが性能を抑制していることが分析により判明した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 磁気プラズマ乱流シミュレーション
アプリケーション名 GS2
チューニング方法 間接アドレッシングコードの改良、アンバランス・データ分割法の適用
成果 計算時間が2048コアで20%削減詳しくはこちら

その他

お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 並列可視化コード
アプリケーション名 AVS/Express DDR
チューニング方法 AVS/Express分散データレンダラーの移植
成果 7000x7000x7000データの並列レンダリングとイメージ合成が可能となった。 詳しくはこちら
お客様名/プロジェクト名 EXA2CTプロジェクト
対象プログラム Yales2,OASIS3-MCT,MDコード
アプリケーション名 exaFarm,exaIO,exaMD
チューニング方法 計算コード部分を模擬するプロトタイプ・アプリケーション開発による性能改善
成果 二相流燃焼解析コード、気候モデリング結合コード、分子動力学コードに対して、新たな改善策を実装・評価できた。 詳しくはこちら

ケーススタディー

お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 燃焼コード
アプリケーション名 SoFTaR
チューニング方法 通信コードの最適化
成果 速度が5倍化しパフォーマンスが改善 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 直接数値流体シミュレーション(DNS)
アプリケーション名 DG-DES
チューニング方法 コンパイラの変更、最適化オプションおよび冗長なコードの削除等の最適化
成果 実行時間が70%削減詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子構造計算
アプリケーション名 CASTEP
チューニング方法 コンパイラ最適化オプション、MPI環境変数およびMPI_Alltoall通信のシェアードメモリーバッファ利用による最適化
成果 最大1.78倍の性能向上詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 非構造格子の領域分割
アプリケーション名 METIS,Scotch,CABARET
チューニング方法 METIS,Scotchの領域分割による並列性能を比較した。
成果 流体シミュレーションCABARETへ適用し、Scotchが僅かに良好な性能を示した。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 数値計算/乱数発生器/電子状態計算のAMD Interlagosプロセッサー性能
アプリケーション名 DGEMM/BLAS,メルセンヌ・ツイスター,CASTEP
チューニング方法 AMD Interlagosプロセッサーでのコンパイラとコード最適化によるスケーリング・チューニング
成果 プロセッサー内の物理コアへのプロセス/スレッド配置ポリシーが性能に大きく影響を与えていることが判明した。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 電子状態計算/ベクトル演算性能
アプリケーション名 CASTEP
チューニング方法 Cray X2でのトレース情報に基づくコード最適化によるチューニング
成果 ベンチマークal3x3ケースにおいて16プロセッサーを用いた場合に9.5GFLOPSの性能を得た。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 流体解析/ベクトル演算性能
アプリケーション名 HYPO4D
チューニング方法 Cray X2でのトレース情報に基づくコード最適化によるチューニング
成果 128*128*256メッシュにおいて483%性能向上した。 詳しくはこちら

チューニングレポート

お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 2DECOMP&FFT、流体乱流シミュレーション
アプリケーション名 2DECOMP&FFT、Incompact3D
チューニング方法 通信と計算のオーバーラップ
成果 2DECOMP&FFTの低レベルAPIを開発し、多重独立FFTを1つのサブルーチン呼出しで可能にした。また、2DECOMP&FFTライブラリーにより柔軟なデータレイアウトを導入した。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 量子モンテカルロシミュレーション
アプリケーション名 CASINO
チューニング方法 System V共有メモリー利用、OpenMP/MPIハイブリッド並列化
成果 System V共有メモリーを用いる事により4GB軌道データに対して4倍に高速化。ハイブリッド並列化により1000電子系で1.8倍に高速化 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 分子動力学シミュレーション
アプリケーション名 DL_POLY_3
チューニング方法 MPI-I/Oによる入出力処理の並列化
成果 1,728,000イオン系に対して4000コアを用いたケースにおいて良好なスケール性能を示した。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 分子動力学シミュレーション
アプリケーション名 DL_POLY_4
チューニング方法 混合基数の並列FFTの実装
成果 コア数の2のべき乗個の利用という制約を受けず、素数3,5を含む混合基数により、リソースの効率的な利用と良好なスケール性能を示した。 詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 分子動力学シミュレーション
アプリケーション名 DL_POLY_4
チューニング方法 OpenMPによる第2レベル並列化、64ビット整数化
成果 OpenMP/MPI化によるリンクセルの制約を解除してスケーラビリティーを確保しつつ利用可能コア数を5-10倍へ拡大した。コードの64ビット整数化により、より大きなシミュレーション規模を可能にした。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 分子動力学シミュレーション
アプリケーション名 DL_POLY_4
チューニング方法 リンクセル・アルゴリズムの改善、RESPA法の実装
成果 時間ステップ毎のVerlet近傍リスト再計算を回避するようにリンクセルアルゴリズムを修正し、RESPA時間積分手法を実装したことにより、コード性能を20-30%改善した。理想的なケースにおいては2倍以上改善した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 数値流体シミュレーション
アプリケーション名 Fluidity
チューニング方法 並列領域分割ライブラリーZoltanの組込み
成果 任意のアダプティブメッシュを可能にした。周期境界条件への拡張。ディテクターの実装。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 有限要素法による地震波シミュレーション
アプリケーション名 SPECFEM3D_GLOBE
チューニング方法 コードの融合によるI/O削減
成果 プリプロセッサー/ソルバー間のI/Oを削除し、実行時間を8%削減した。シミュレーションに用いる地震最大周波数を0.2Hzまで引き上げた。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 密度汎関数法による電子構造解析
アプリケーション名 CASTEP
チューニング方法 座標最適化機能に対する記憶制限BFGS法の組込み
成果 従来の系のサイズの2乗に比例したメモリーが必要なBFGS法に対して、記憶制限BFGS法を導入することによりメモリー依存性が系のサイズに対してリニアになった。ノードメモリーとコアを飽和しての実行が可能となった。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 密度汎関数法による電子構造解析
アプリケーション名 CRYSTAL
チューニング方法 分割統治(divide and conquer)法の実装
成果 弱く相互作用をする系に対する分割統治法を実装した。そのSCF収束に掛かるCPU時間はほぼ完全な線形スケール性を示した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 密度汎関数法による電子構造解析
アプリケーション名 VASP
チューニング方法 k点並列計算手法の実装
成果 最大3888コアまで線形スケール性を示し、1738コアにおいて元のコードよりも7倍高速化した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 並列有限要素法による地殻工学シミュレーション
アプリケーション名 CITCOM
チューニング方法 マルチグリッド法の改善:既存のVサイクルを改善し、WサイクルとFサイクルを実装する
成果 単純2次元問題に対してはVサイクル法が最も高速で、FMG(V),FMG(W)法と比較して、それぞれVサイクル法は31%以上、Wサイクル法は38%以上高速だった。複雑3次元問題に対してはFMG(V)法が最も高速で、FMG(W)法と比較してWサイクル法が12%以上高速となった。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム HECToRへの統合気象予報システムOpenIFSの移植
アプリケーション名 OpenIFS
チューニング方法 USTREファイルシステムにおけるファイルストライピング、OSページサイズ、出力に用いるMPIタスク数、およびFDBライブラリーのコンフィグパラメーターのチューニング
成果 並列I/OサポートライブラリーGRIB_APIおよびFDBのCrayシステムへの移植を完了した。性能に影響を与える環境およびFDBパラメーターの推奨値を決定した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 非圧縮性流体/乱流の直接数値シミュレーション(DNS)コードの性能改善
アプリケーション名 2DECOMP&FFT、Incompact3D
チューニング方法 通信ルーチンを、1Dスラブ分割から2Dペンシル分割へ拡張して並列効率を向上させる
成果 2D領域分割ライブラリー2DECOMP&FFTを開発し、16384コアまでスケールした。2DECOMP&FFTはオープンソースとして公開した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 圧縮性流体/乱流の直接数値シミュレーション(DNS)コードの性能改善
アプリケーション名 2DECOMP&FFT、Compact3D
チューニング方法 2DECOMP&FFTライブラリーにより並列化する。haloセルをサポートする通信ルーチンを開発し、陽的スキームを可能にする
成果 並列効率80%を達成した。2DECOMP&FFTへhaloセルサポートを機能追加しオープンソースとして公開した。陽的スキームを実装した詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 高次CFDソルバーのメニーコア・アーキテクチャー対応による性能強化
アプリケーション名 BOFFS
チューニング方法 ブロック間データ転送に用いるMPIを最適化し、メモリー利用効率およびブロック内計算で用いられるOpenMP処理を改善する
成果 20%以上高速化し、少なくとも100ブロックまでスケーラビリティーを引き上げた。100百万グリッド以上および100ブロック以上まで良好な弱スケーリング性能を示した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 高次CFDソルバーのメニーコア・アーキテクチャー対応による性能強化(2)
アプリケーション名 BOFFS/NEAT
チューニング方法 ①MPIタスクへ複数ブロック割当てを可能にする。②TDMAとGSソルバーへのred-black法とOpenMP実装による並列化。
成果 ①50百万セル、108グリッドブロックを用いた亜音速ジェットのLESに対して20%以上高速化した。②12,642,048グリッド点、128ブロックの構造グリッド上の非定常流体に対して実行時間で24%削減された。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 圧縮性ナビエストークスソルバーの並列化
アプリケーション名 CABARET
チューニング方法 並列処理のための自動領域分割の実装。MPI/OpenMPハイブリッド並列化
成果 2.05×100百万グリッドの処理が可能になった。ノンブロッキングMPIを実装し、250コアを用いて並列効率72%を示した。5.12×10百万グリッドの3D後方ステップケースでは、フェーズ2b上の1000コアを用いて並列効率80%を示した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム ジェット/フラップ騒音と準地衡的海洋循環へのCABARET手法の適用と性能改善
アプリケーション名 CABARET/PEQUOD
チューニング方法 Cfoam-CABARETのI/O性能改善のためにMPI-IOを実装する。PEQUOD準地衡方程式の並列ヘルムホルツ問題における渦位逆変換に対してMPI_ALLTOALLを用いた最適化を行う。
成果 Cfoam-CABARETは、MPI-IOを用いてスケーラビリティを確保しつつ、膨大なファイルを1つに集約した。PEQUODでは、グリッドサイズ1025点では2倍高速化し、MPIタスク当たりのグリッド数を固定した場合には良好な弱スケール性能を示した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム エアロゾル化学シミュレーションTOMCAT/GLOMAP Mode MPIコードの改善
アプリケーション名 TOMCAT/GLOMAP
チューニング方法 コンパイラ最適化フラグ、ループ構造の改良、MPI通信パターンの改善
成果 ステップ当りの時間は合計で12.4%削減された。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム エアロゾル化学シミュレーションMPI-TOMCAT/GLOMAPmodeコードのOpenMP並列性能改善
アプリケーション名 TOMCAT/GLOMAP
チューニング方法 OpenMPスレッドのスケジューリングとMPIタスクを含めたスレッド配分の最適化
成果 128コアまでスケーラビリティを改善し、4スレッド/タスクで2倍に高速化した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム エアロゾル化学シミュレーションTOMCAT/GLOMAP Mode MPIコードの改善
アプリケーション名 TOMCAT/GLOMAP
チューニング方法 並列IOの実装による性能改善
成果 ファイルアクセスパターン計算部の高速化。MPIタスク数増加に伴うメモリー、通信量が削減された。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 大規模並列アーキテクチャにおける雲/エアロゾル・シミュレーションの並列化
アプリケーション名 LEM/ACPIM
チューニング方法 繰返し法ソルバーの追加。並列性能の改善
成果 並列BiCGStabの実装、並列コード最適化により線形スケール性を実現した。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 乱流多相燃焼シミュレーションの性能改善
アプリケーション名 DSTAR
チューニング方法 SLEPc/PETScライブラリによる高速化
成果 以前に比べて50倍のMPIタスクとグリッドサイズが可能になった。シリアル実行性能は約20%向上し、2D領域分割の並列効率は約50%に改善された。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム 内殻電子-分子散乱R行列法コード:UKRMol-inの並列化と移植
アプリケーション名 UKRMol
チューニング方法 2D領域分割アルゴリズムの実装、IOの改善、コード・リファクタリング
成果 ハミルトニアン行列の構築と対角化にライブラリを移植し、並列化チューニングを行った結果、プロセッサ数に対してスケールした。詳しくはこちら
お客様名/プロジェクト名 HECToRプロジェクト
対象プログラム マルチスケール流体の分子動力学(MD)と直接数値シミュレーション(DNS)のスケーラブルな連成
アプリケーション名 TransFlow/StreamMD
チューニング方法 CFD/MDソルバーに対する連成ソフトウェアの開発
成果 アプリケーション間の通信インターフェイスおよび同期とデータ交換のためのモジュールを開発し、元のソルバーのスケール性能を維持して連成させることが可能になった。詳しくはこちら
お客様名/プロジェクト名 POPプロジェクト
対象プログラム タイトバインディング密度汎関数コード
アプリケーション名 DFTB
チューニング方法 計算スケール性、負荷バランス、通信負荷等、並列性能の分析
成果 プロセス数の増加う緩やかな性能劣化がある。これはMPI集団通信の広範な使用によるものである。さらに、最大コア数においてIPCの劣化も認められた。詳しくはこちら
お客様名/プロジェクト名 POPプロジェクト
対象プログラム 密度汎関数コード
アプリケーション名 ADF
チューニング方法 計算スケール性、負荷バランス、通信負荷等、並列性能の分析
成果 負荷分散が発生しているが、Computational ScalabilityとCommunication Efficiencyは共に良好である。詳しくはこちら
お客様名/プロジェクト名 POPプロジェクト
対象プログラム 一般個体輸送モデルによる粒子トラッキングコード
アプリケーション名 GITM
チューニング方法 計算スケール性、負荷バランス、通信負荷等、並列性能の分析
成果 負荷分散が発生している。これは、現状のFortran配列演算をOpenMPスケジューリングで調整可能な形式へ変更することで改善が可能である。詳しくはこちら
お客様名/プロジェクト名 POPプロジェクト
対象プログラム 微視的磁気解析ソルバー
アプリケーション名 FIDIMAG
チューニング方法 計算スケール性、負荷バランス、通信負荷等、並列性能の分析
成果 OpenMPスレッド数の増加に伴い負荷バランスは急速に悪化する。既存ループ長を大きくしてOpenMPの仕事量を増加させ、他のコード部分のOpenMP化を促進し、SundialsライブラリとFFTWを最適な並列版へ変更することが推奨された。詳しくはこちら
お客様名/プロジェクト名 POPプロジェクト
対象プログラム 密度汎関数法コード
アプリケーション名 BAND
チューニング方法 計算スケール性、負荷バランス、通信負荷等、並列性能の分析
成果 負荷分散とスケーラビリティがノードの増加に伴い劣化する。IPC劣化やNUMAの影響の調査、命令数の増加原因等の調査が推奨された。詳しくはこちら
お客様名/プロジェクト名 POPプロジェクト
対象プログラム 粗視化分子動力学コード
アプリケーション名 GBmolDD
チューニング方法 計算スケール性、負荷バランス、通信負荷等、並列性能の分析
成果 計算とI/Oスケーラビリティがノードの増加に伴い劣化する。計算と通信のトレードオフによるハロ領域利用の最適化、並列I/Oファイルフォーマットの利用が推奨された。詳しくはこちら

上記の他、nAGがサポートしたHECToRのdCSEプロジェクトレポートの要約(邦訳)を以下に掲載します。

·  ジャイロ運動論的プラズマシミュレーションコードGS2におけるデータ分散ルーチンの改善

·  風力タービン、ターボ機械、航空機翼周期流の超高速解析のための、ハーモニックバランスNavier-StokesソルバーCOSAの並列性能最適化

·  乱流アプリケーションEBLの数千コアへのスケール性能改善

·  個別要素法(Discrete Element Method)のLAMMPSへの組込みとハイパフォーマンスコンピューティング

·  心臓バイドメインモデルによる不整脈研究パッケージCARPの性能最適化

·  MPI並列有限要素法ソルバVOX-FE/PARA-BMUへの並列I/O実装

·  乱流の直接数値シミュレーション(SWT/SS3F)のスケール性能改善

·  マルチスケール流体の分子動力学(StreamMD)と直接数値シミュレーション(Transflow)のスケーラブルな連成:その2

·  MPI並列RMT(時間依存R行列)コードの最適化

·  時間依存R行列法コードRMTによる高調波生成計算

·  非相対論的時間依存シュレディンガー方程式コードHELIUMの機能拡張と実装

·  時間依存シュレディンガー方程式コードHELIUMの多電子原子への拡張と並列化

·  DL_POLY_3への動的負荷バランスと剛体運動力学の実装

·  天然磁化鉱物系の微視的磁気モデリングコードMicroMagの並列化

·  天然に存在する磁気鉱物系の微小磁気モデリングコードMicroMagの並列化 その2

·  二相流ソルバーTPLSおよびDIMの性能改善

·  ISPHコードの大規模並列計算

·  OpenFOAMのHECToRへの移植と性能調査

·  R環境を用いた遺伝子統計解析コードSPRINTのHECToR上の性能

·  R環境におけるSPRINTコードのランダムフォレスト分類の並列実装

·  R環境におけるSPRINTコードのRank Product法の並列実装

·  R環境におけるSPRINTコードのブートストラップ法のHECToR上での最適化

·  SPRINTを用いたRのサポートベクターマシン関数のHECToR上での最適化

·  量子モンテカルロコードCASINOへの分子動力学機能の組込み

·  CFDコードCode_SaturneのHECToRへの移植と最適化

·  CFDコードFluidityのヒルベルト空間充填曲線法によるメッシュ再順序付け

·  HPC向け次世代全球海洋モデリングソフトウェアFluidity-ICOMの開発

·  Fluidity-ICOMのハイブリッドOpenMP/MPI並列化:次世代幾何学的流体モデリング

·  NEMO (Nucleus for European Modelling of the Ocean)のHECToR上での最適化

·  海洋モデリングコードNEMOの大規模マルチコアシステムへの対応

·  海洋モデリングコードNEMOの浅海域における性能改善

·  メソスケール気象研究のためのWRFコードの最適化

·  密度汎関数計算コードCASTEPのバンド並列化

·  時間依存密度汎関数法のCASTEPへの組込み

·  CASTEPへのハイブリッド時間依存密度汎関数理論の実装その2:励起状態フォース

·  密度汎関数法コードCASTEPのスケール性能の改善

·  ONESTEP,CASTEP,その他コードにおけるマルチグリッドソルバの改善

·  触媒化学のための大規模並列ツールChemshell

·  材料化学のためのMicroiterative法によるChemshellのQM/MM最適化

·  線形スケール密度汎関数法Conquestの金属計算に対応した最適化

·  オーダーN密度汎関数法コードConquestへのスピン分極およびファンデルワールスエネルギー補正の組込み

·  OpenMP/MPI並列化によるDFTコードConquestのスケール性の改善

·  DFTコードConquestの負荷バランスと分子動力学計算の改善

·  adaptive kinetic Monte CarloコードDL_AKMCの並列化

·  HECToRにおける密度汎関数法コードCP2Kの性能改善

·  マルチコアシステム上のDFTコードCP2Kのスケーラビリティ改善

·  数1000コアオーダーでのCP2Kのスパース線形代数

·  電子-原子散乱コードPRMATのHECToR(XT4)における並列化

·  HECToR上でのUK電子-原子散乱内殻R行列コードのマルチコア並列化

·  quasi-particle self-consistent GWコードQSGWの大規模マルチコアシステム対応

·  Quantum EspressoのFFTコンポーネントGWWの最適化

·  Quantum EspressoのFFTコンポーネントGWWの最適化(その2)

·  大規模リモートバッチ可視化:AVS/ExpressのHECToRへの移植

上記のHECTORプロジェクトの事例の詳細及びその他の事例は以下をご参照下さい。
http://www.hector.ac.uk/cse/reports/


関連情報
MENU
© 隴鯉ス・隴幢スャ郢昜ケ斟礼ケ晢スシ郢晢ス。郢晢スェ郢ァ�ォ郢晢スォ郢ァ�「郢晢スォ郢ァ�エ郢晢スェ郢ァ�コ郢晢ソス郢ァ�コ郢ァ�ー郢晢スォ郢晢スシ郢晉軸�ス�ェ陟台ク茨スシ螟ゑス、�セ 2024
Privacy Policy  /  Trademarks