PARCEL 1.1(2022/1/13)

PARCEL 1.1がリリースされました。

本アップデートでは、以下の点を修正しています。

  • 1. 構造格子のステンシル計算向けに領域分割法データ形式(DDM形式)に対応.
  • 2. A64FX向けに実装を最適化し、SIMD最適化された細分化前処理を追加.
  • 3. ブロックヤコビ前処理及び加法シュワルツ前処理のブロック数(スレッド数)の設定に対応.
  • 4. 通信削減型アーノルディ法による固有値計算を追加.
  • 5. 古典グラムシュミット法、修正グラムシュミット法、TSQR法、コレスキーQR法、コレスキーQR2法によるQR分解を追加.

ダウンロード

ソースコード

download

マニュアル

日本語版

html

英語版

html

ライセンス

オープンソースとし、GNU Lesser General Public License(LGPL)とします。

過去のバージョン

過去のバージョンはこちらから

プログラム開発の目的及び概要

連立一次方程式の行列解法は直接法と反復法に分類されますが、多くの大規模問題では、計算コストやメモリ使用量の観点からクリロフ部分空間法に基づく反復法が用いられます。
PARallel Computing ELements(PARCEL)ライブラリは、演算加速とそれより相対的に低いノード間通信性能という特徴をもっている近年の超並列計算機に適した高効率な並列クリロフ部分空間法ソルバを提供します。
PARCELはMPI+OpenMPによるハイブリッド並列プログラミングモデルに基づいており、従来のクリロフ部分空間法(CG法、BiCGstab法、GMRES法)に加えて最新の通信削減型クリロフ部分空間法(チェビシェフ基底CG法、通信削減型GMRES法、通信削減型アーノルディ法)を利用可能としています。
通信削減型クリロフ部分空間法では、従来のクリロフ部分空間法では反復毎に必要となっていた集団通信の回数を大幅に削減することで通信処理のボトルネックを回避します。
PARCELは3つの行列形式(Compressed Row Storage(CRS)形式、Diagonal(DIA)形式、Domain Decomposition Metod(DDM)形式)、2つのデータ型(倍精度、4倍精度)をサポートし、CおよびFortranで書かれたプログラムから利用可能です。

プログラムの性能

≪富岳(A64FX、理化学研究所)48ノードを利用したブロックヤコビ前処理付き共役勾配法の処理性能比較≫
格子サイズ768×768×768の3次元ポアソン方程式

PETSc
(all-MPI)

Lis
(MPI+OpenMP)

PARCEL
(MPI+OpenMP)

PARCEL
細分化前処理
(MPI+OpenMP)

計算時間
[s]

55.05

76.49

52.17

27.19

メモリ使用量
[GiB]

504

747

261

261

反復回数

1549

1549

1549

1982

≪Oakbridge-CX(Intel Xeon Platinum 8280、東京大学)48ノードを利用したブロックヤコビ前処理付き共役勾配法の処理性能比較≫
格子サイズ672×672×672の3次元ポアソン方程式

PETSc
(all-MPI)

Lis
(MPI+OpenMP)

PARCEL
(MPI+OpenMP)

PARCEL
細分化前処理
(MPI+OpenMP)

計算時間
[s]

20.01

34.68

20.82

24.43

メモリ使用量
[GiB]

433

303

258

239

反復回数

1306

1306

1306

1668

参考文献

[1] R. Barret, M. Berry, T. F. Chan, et al., "Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods", SIAM(1994)
[2] M. Hoemmen, "Communication-avoiding Krylov subspace methods". Ph.D.thesis, University of California, Berkeley(2010)
[3] Y. Idomura, T. Ina, A. Mayumi, et al., "Application of a communication-avoiding generalized minimal residual method to a gyrokinetic five dimensional eulerian code on many core platforms",ScalA 17:8th Workshop on Latest Advances in Scalable Algorithms for Large Scale Systems, pp.1-8, (2017).
[4] R. Suda, L. Cong, D. Watanabe, et al., "Communication-Avoiding CG Method: New Direction of Krylov Subspace Methods towards Exa-scale Computing", RIMS Kokyuroku ,pp. 102-111, (2016).
[5] Y. Idomura, T. Ina, S. Yamashita, et al., "Communication avoiding multigrid preconditioned conjugate gradient method for extreme scale multiphase CFD simulations". ScalA 18:9th Workshop on Latest Advances in Scalable Algorithms for Large Scale Systems,pp. 17-24.(2018)
[6] T. Ina, Y. Idomura , T. Imamura, S.Yamashita, and N. Onodera, "Iterative methods with mixed-precision preconditioning for ill-conditioned linear systems in multiphase CFD simulations", ScalA21:12th Workshop on Latest Advances in Scalable Algorithms for Large Scale Systems .(2021)
[7] A. Stathopoulos, K. Wu, "A block orthogonalization procedure with constant synchronization requirements". SIAM J. Sci. Comput. 23, 2165–2182 (2002)
[8] T. Fukaya, Y. Nakatsukasa, Y. Yanagisawa, et al., "CholeskyQR2: A Simple and Communication-Avoiding Algorithm for Computing a Tall-Skinny QR Factorization on a Large-Scale Parallel System," ScalA 14:5th Workshop on Latest Advances in Scalable Algorithms for Large Scale Systems, pp. 31-38,(2014)

開発者

日本原子力研究開発機構 システム計算科学センター 高度計算機技術開発室

連絡先

ccse-quad(at)ml.jaea.go.jp
※ (at) は @ に置き換えて下さい。