GPGPUコンピューティングによる LES乱流モデルに基づいた数値風況予測技術の高速化 九州大学応用力学研究所 新エネルギー力学部門 風工学分野 内田 孝紀 連絡先:[email protected],092-583-7776 Unit)が有する浮動小数点演算能力を,他の数値演算 我 々 の 九 州 大 学 グ ル ー プ で は , RIAM- にも幅広く利用することである. COMPACT® (リアムコンパクト)と称する数値風況診断 本報では,2012年11月12日(米国時間)にNVIDIA社 技術の開発を進めている(図1を参照).そのコア技術は, が発表したGPUアクセラレータ「NVIDIA® Tesla® K20フ 九州大学応用力学研究所で開発が続けられており, ァミリ」のフラッグシップモデル「Tesla® K20X」に関して, 2006年に著者らが起業した九州大学発ベンチャー企業 RIAM-COMPACT®によるベンチマーク結果を報告す の(株)リアムコンパクト(http://www.riam-compact.com/) る. が,(株)産学連携機構九州(九大TLO)から独占的ライセ ン ス 使 用 許 諾 を 受 け て い る . 2006 年 に RIAM- 2.実地形版RIAM 実地形版RIAMRIAM-COMPACT® COMPACT®ソフトウエアの ソフトウエアの概要 COMPACT®の商標と実用新案も取得した. 本研究では,数値不安定を回避し,複雑地形上の局 非定常な乱流LESシミュレーションに主眼を置いた 所的な風の流れを高精度に数値予測するため,一般曲 RIAM-COMPACT®では,計算時間の問題が懸念され 線座標系のコロケート格子に基づいた実地形版 てきた.現行の流体計算ソルバーは,Intel Core i7など RIAM-COMPACT®ソフトウエアを用いる.ここでコロケ のマルチコアCPU(Central Processing Unit)に対応して ート格子とは,計算格子のセル中心に物理速度成分と おり,計算時間は劇的に短縮され,実用面での利用に 圧力を定義し,セル界面に反変速度成分にヤコビアン おいて特段の問題は無くなってきた . を乗じた変数を定義する格子系である.数値計算法は 前報 では,GPGPUコンピューティングへの対応を (有限)差分法(FDM;Finite-Difference Method)に基づき, 報告した.GPGPU (General Purpose computing on 乱流モデルにはLES(Large-Eddy Simulation)を採用す GPU:GPUによる汎用計算)のコンセプトとは,グラフィッ る.LESでは流れ場に空間フィルタを施し,大小様々 ク・レンダリングに限らず,GPU(Graphics Processing 1.はじめに 1) 2) 3, 4) Flow 不適切な立地点 適切な立地点 図1 RIAM-COMPACT®による数値風況診断の実例 なスケールの乱流渦を,計算格子よりも大きなGS(Grid Scale)成分の渦と,それよりも小さなSGS(Sub-Grid Scale)成分の渦に分離する.GS成分の大規模渦は,モ デルに頼らず直接数値シミュレーションを行う.一方で, SGS成分の小規模渦が担う,主としてエネルギー消散作 用は,SGS応力を物理的考察に基づいてモデル化され る.数値計算手法の詳細は前報 を参照して頂きた い. 2-4) 3.本研究で 本研究で使用した 使用した計算機環境 した計算機環境の 計算機環境の概要 ここでは,本研究で使用した計算機環境を簡単に説 明 す る . 図 2 に は , 「 NVIDIA® Tesla® K20X 6GB (2688CUDAコア)」の写真を示す.本研究では,K20Xを 一枚搭載した環境でベンチマークを実施した.なお,比 較のため,「NVIDIA® Tesla® M2090 6GB (512CUDAコ ア)」が4枚搭載された計算機の結果も示す(図3を参 照). 図4には,本研究で比較のために使用したベクトル計 算機の概要を示す.NEC製SX-9Fは,九州大学応用力 学研究所が所有している汎用計算機であり,現在も稼 働中である. 図3 本研究で使用したGPU, Tesla® M2090 (512CUDAコア,6GBメモリ) x 4枚 【構成】 コア CPU: Intel Xeon E5690 (3.47GHz, 6 , 12MB Cache, 32nm, 6.40GT/s) × 2CPUs GPU: NVIDIA Tesla M2090 (512CUDA , 6GB GDDR5) × 4 Mem: 48GB (8GB DDR3 1333MHz Registered ECC × 6) OS: Windows 7 Professional 64bit Compiler: PGI Accelerator Workstation GPGPU: CUDA 4.0 ® 基 ® コア 版 約190cm 図2 本研究で使用したGPU, Tesla® K20X (2688CUDAコア,6GBメモリ) x 1枚 【構成】 製品 : HPC5000-XIGPU4TS-KPL CPU: Intel Xeon E5-2670 v2 (2.50GHz, 10 , 25MB Cache, 22nm, 8.0GT/s) × 2CPUs Mem: 64GB (8GB DDR3-1866 ECC Registered × 8) GPU: NVIDIA Tesla K20X (2688CUDA , 6GB GDDR5) x 1 OS: CentOS 6.4 Compiler: Intel Composer XE 2013 (13.1.3) GPGPU: CUDA 5.5 約160cm コア ® 基 ® コア 約110cm 【構成】 CPU : 6CPU (92.16GFLOPS/単体×6=552.96GFLOPS) Mem : 256GB 外付けディスク装置 : iStorage D3-10 4TB (RAID5) 図4 本研究で使用したNEC製SX-9F (ベクトル計算機,2007年リリース) またスーパーコンピュータNEC製SX-9Fの6CPUを利用 した並列計算の結果よりも,計算時間が速い結果となっ た.これはCUDAコア数が大幅に増加したことによる. Flow 4.本研究で 本研究で対象とした 対象とした流 とした流れ場と計算条件 本研究では,前報 と同様,3次元の孤立峰を過ぎる 流れ場を対象として計算時間の比較を行った(図5を参 照).表1には,本ベンチマークテストに使用した計算格 子数,メモリサイズ,計算ステップ数を示す.実地形版 RIAM-COMPACT®ソフトウエアでは,使用するメモリサ イズが極めて小さいのも大きな特長の一つである. 2-4) 5.K20Xシングル K20XシングルGPU シングルGPUの GPUの驚異的な 驚異的な計算速度 z 本研究では,1,000万点の計算格子を使った孤立峰 周辺気流(t=50h/U)を初期値とし,そこから5,000ステッ プの計算(時間t=50~60h/U)を実行し,その経過時間 を比較した.得られた結果を表2に示す. その結果,最新の「NVIDIA® Tesla® K20X 6GB (2688CUDAコア)」のシングルGPUを用いた計算では, 驚異的な演算速度が達成されていることが示された.す な わ ち , 同 社 の 「 NVIDIA® Tesla® M2090 6GB (512CUDAコア)」を4枚用いたマルチGPUの並列計算, x 図5 孤立峰近傍における流れ場の可視化, 瞬間場,パッシブ粒子追跡法,数値計算 表1 計算格子数とメモリサイズなど 計算格子数 1,165×121×71点 (約1,000万点) メモリサイズ 3,190MB 計算ステップ 5,000ステップ 表2 計算速度の比較,1,000万点の計算,メモリサイズ3,190MB (太数字はSX-9Fの1CPUに対する速度比を表す.括弧内の数字は実際の計算時間を表す) 0.37 (791s) シングルGPU,K20X×1基 13 分 11 秒 24 驚異的な 高速化を達成! 0.4 (877s) マルチGPU,M2090×4基 14 分 37 秒 01 ※1 ※2 0.46 (976s) SX-9F,6CPU (1,096s) 0.7 (1,536s) SX-9F,4CPU 0.5 ※3 ※3 SX-9F,2CPU SX-9F,1CPU ,比較基準 ※3 1.0 (2,142s) ※1 ※3 Intel Fortran: -ipo -O3 -no-prec-div -xHost -assume buffered_io CUDA nvcc: -O4 -arch=sm_35 -Xcompiler="-march=native –ffast-math–ftree-vectorize" 本研究では,nvccの -arch=sm_35 の部分のみを変更した.これは「Compute Capability 3.5向けに最適化を行う」と いうコンパイルオプション. ECC(Error Checking and Correcting)設定=OFF. ※2 「CUDA CとFortranを組み合わせたマルチGPU対応コード」を使用.ECC設定=OFF. CUDAの部分はNVIDIA CUDAコンパイラを適用.Fortranの部分はPGIコンパイラを適用. ※3 FORTRAN90/SXの「-Pauto」を適用. 6. おわりに 本研究では,最新の「NVIDIA® Tesla® K20X 6GB (2688CUDAコア)」のシングルGPUを用いたRIAMCOMPACT®の大規模計算(約1,000万格子点)を試み た.その結果,最新の「NVIDIA® Tesla® K20X 6GB (2688CUDAコア)」のシングルGPUを用いた計算では, 驚異的な演算速度が達成されていることが判明した.す な わ ち , 同 社 の 「 NVIDIA® Tesla® M2090 6GB (512CUDAコア)」を4枚用いたマルチGPUの並列計算, またスーパーコンピュータNEC製SX-9Fの6CPUを利用 した並列計算の結果よりも,計算時間が速い結果となっ た.これは「NVIDIA® Tesla® K20X 6GB (2688CUDAコ ア)」のCUDAコア数が大幅に増加したことによると言え る. ここで改めて強調しておきたい点がある.実地形版 RIAM-COMPACT®ソフトウエアでは,使用するメモリサ イズが極めて小さいのも大きな特長の一つである.その 結果,シングルGPU(メモリサイズ6GB)の環境下であっ ても,約1,000万格子点もの大規模計算が実現した.な お,K20X単体では1,800万格子点までは計算が可能で あると推測された(別のマシンで計測した1,800万格子点 のメモリ使用量が約5,674MBであったため). 現在,K20Xの上位モデルの「NVIDIA® Tesla® K40 ATLAS 12GB (2880CUDAコア)」の開発が計画されてい る.これが実現すれば,1GPU(シングルGPU)の環境下 において,より大規模かつ高速な数値風況診断が可能 になることが期待される. 謝辞 本研究の一部は,科学研究費補助金 基盤B「震災 特区の大気環境改善と風力発電の適切な普及に資す る狭域数値風況予測技術の開発(研究課題番号: 24310120)」,および挑戦的萌芽研究「数値風況予測技 術リアムコンパクトをコア技術とした風車の安全運転に 関する研究開発(研究課題番号:25560166)」の援助を 受けました. HPCシステムズ(株)には,計算時間の評価などで多 大な協力を得ました. ここに記して感謝の意を表します. 参考文献 1) 内田孝紀:LESに基づいたRIAM-COMPACT® CFDモデルの紹介―風車の安全運転に資する数 値風況診断技術の確立へ向けて―,日本風力エ ネルギー学会誌,Vol.36,通巻105,pp.6-9,2013 2) 内田孝紀:インテル次世代ハイエンドCPU「Sandy Bridge-EP 」 を 用 い た RIAM-COMPACT® の OpenMP並列風況シミュレーション―ここまできた! デスクトップPC1台による大規模計算とその高速化 ―,日本風力エネルギー学会論文集,Vol.36,通 巻101,pp.82-85,2012 3) 内田孝紀,大屋裕二:GPGPUコンピューティングに よる数値風況予測技術RIAM-COMPACT®の高速 化,風力エネルギー協会誌,Vol.35,通巻98, pp.78-84,2011 4) 内田孝紀:GPGPUコンピューティングによる数値風 況予測技術RIAM-COMPACT®の高速化―第2報 マルチGPUによる大規模計算の試み―,日本風力 エネルギー学会誌,通巻103,2012
© Copyright 2024