2012 Fiscal Year Annual Research Report
GPUコアを内蔵するプロセッサによる代数的マルチグリッド法の高速化
Project/Area Number |
24650014
|
Research Institution | Kogakuin University |
Principal Investigator |
藤井 昭宏 工学院大学, 情報学部, 講師 (10383986)
|
Co-Investigator(Kenkyū-buntansha) |
額田 彰 東京工業大学, 学術国際情報センター, 産学官連携研究員 (40545688)
|
Project Period (FY) |
2012-04-01 – 2013-03-31
|
Keywords | 代数的多重格子法 / 混合精度解法 / GPGPU |
Research Abstract |
将来,CPUコアとGPUコアが密に結合されているシステムが重要になると考えられている.そこで本研究ではそのようなシステムでの代数的多重格子法の実装手法の研究を目的とした.研究の結果,GPU上で単精度で演算を行い,CPU上で精度補正を行う混合精度 代数的多重格子法はCPU-GPU間の通信を最小化し,このような計算環境で効率よく演算ができることがわかった.以下,検討の手順とその結果について記述する. GPUは高い並列性がある問題では高速に処理できる性質と演算精度によって性能が大きく変化する特徴がある.そこで本研究で利用するアルゴリズムとして、以下の二つを対象とした. 1.問題サイズの大きいレベルはGPUコアで処理し,サイズの小さい問題はCPUコアで処理する手法 2.GPUコアでは単精度で演算を行い,適切にCPUコアで倍精度に精度補正する手法 1と2を比較すると1では少なくとも1反復あたり1回はCPUとの通信が必要になると同時に,小さい問題を処理する時間の割合を考えると2の方が妥当な実装と考えられる.そこで,本研究では2.をOpenCLで実装し評価を行った.この手法はGPUコアでは精度を落とした単精度の計算を行い,所定の相対残差レベルに到達したらCPUコアで倍精度で残差計算を行い右辺ベクトルを補正する混合精度の手法である.Trinity世代のAPUでOpenCLを用いて評価を行ったところ,通常の収束条件ではCPUコアによる精度補正は数回程度しかないことがわかった.簡単な3次元ポアソン方程式の場合、倍精度だと31回で収束していたものが、混合精度にすると単精度演算で38回で収束し,その間CPUによる精度補正は3回しか行われなかった. 結果として,混合精度代数的多重格子法はGPU単体で計算する場合,もしくはCPUによる精度補正を行う場合,ともに非常に有効な実装手法となることが判明した.
|
Research Products
(10 results)