CYBERNET

資料ダウンロード

熱流体解析

Multi-GPUソルバーで流体解析の飛躍的な高速化を実現!Ansys FluentとHPCライセンスによる計算高速化ソリューション

Multi-GPUソルバーで流体解析の飛躍的な高速化を実現!-Ansys FluentとHPCライセンスによる計算高速化ソリューション-

情報誌「CAEのあるものづくり」 vol.38|2023年5月||
Multi-GPUソルバーで流体解析の飛躍的な高速化を実現!
-Ansys FluentとHPCライセンスによる計算高速化ソリューション-

目次

  1. はじめに
  2. CPUによる並列計算とHPCライセンス
  3. Multi-GPUソルバー
  4. おすすめのライセンスとハードウェアの組み合わせ
  5. まとめ

はじめに

近年、SDGsへの取り組みやDX推進の広がりなどを背景として、CAE 、すなわち、ものづくりの現場におけるシミュレーション技術の活用はますます重要になっています。以前から普及している構造解析や伝熱解析に加え、最近では流体解析や電磁場解析、それらを組み合わせた連成解析なども盛んに行われるようになってきました。
シミュレーションの大きなメリットの一つは、実際に 製品を試作することなく、様々な設計案を仮想空間上で評価できることです。しかし、シミュレーションの実行にもある程度の時間がかかります。特に、流体解析は構造解析などに比べ、一般に1ケース当たりの計算時間が長くなるため、多数の設計案を試そうとするとかなりの日数がかかることも少なくありません。メッシュサイズを粗くして要素数を減らせば計算時間を短くすることもできますが、得られる結果の精度も低下してしまうため、複雑な形状および物理現象を対象とする場合は妥協できない場合もあります。したがって、大規模な解析モデルに対しても高速に計算が可能な流体解析ソフトウェアが求められています。
本記事では、Ansys Fluent における計算高速化ソリューションについてご紹介します。また、ライセンス構成についても具体的な状況を考えながら導入検討の例をご説明します。

CPUによる並列計算とHPCライセンス

FluentはAnsys社が提供するハイエンドな汎用流体解析ソフトウェアです。多種多様な物理モデルに対応しており、乱流、燃焼、混相流などの複雑な流体現象に対しても高精度なシミュレーションが可能です。一方、こうした高度なシミュレーションにはメッシュ数の多い大規模なモデルが必要になるため、計算時間も長くなってしまいます。
そのため、Fluentを始めとする多くの流体解析ソフトウェアは、解析モデルを複数の領域に分割し、多数の CPUに処理を割り振って同時並列的に計算を行う「並列計算」によって時間短縮を図っています。ただし、実際にどれくらい計算を高速化できるのかは個々のソフトウェアで異なり、対象とする問題やハードウェア環境などによっても振れ幅があります。理想的には並列数(CPUのコア数)を増やせば増やすほど速度が向上してほしいものですが、残念ながら、実際には様々な要因によりそうした比例的な関係は成り立たず、一般にある並列数から速度向上効果が小さくなっていきます。そこで、特定のモデルに対して並列数を増やしたときの計算速度を計測し、理想的な比例関係にどれくらい近いかを比較した結果が、並列計算の性能指標として用いられます。これを「スケーラビリティ」といいます(厳密には「ストロング・スケーリング」に該当)。
Fluentは高度に並列化されており、様々な問題に対してスケーラビリティの高い計算を行うことが期待できます。図1に弊社にて実施した4ノードのクラスターマシンに対するスケーラビリティの計測結果を示します。クラウド環境としては弊社がご提供している「サイバネット CAEクラウド」を利用しており、1 ノード当たりのCPU数は36コア、全体で144コアになります。計測した並列数は最大132 で、4 並列の計算時間に対する各並列数の計算時間の比をスケーラビリティとして定義しています
(例:3.0なら4並列より3倍高速化)。自動車体の外部流れ、微粉炭燃焼炉、ボリュートポンプの3つのモデルのいずれにおいても良好なスケーラビリティを示しており、幅広い分野の問題に対するFluentの並列性能の高さがわかります。

Fluentを含むAnsys製品ではソルバーライセンスだけでも4並列までの計算が可能ですが、それ以上のコア数を利用した並列計算を行う場合にはAnsys HPCライセンス(HPC: High Performance Computing)の追加が必要であり、以下の3種類をご用意しています。

● Ansys HPC
ライセンス数に応じて1つずつ利用可能なコア数を追加できます。5-6並列程度の小規模な並列計算の場合に費用効率に優れます。
複数ジョブに分割することも可能で、たとえば、4個のライセンスがあれば、標準の4並列と組み合わせ、8並列× 1ジョブや4並列×2ジョブといった利用が可能です。
大規模な並列計算の場合には1並列当たりの費用が割高になります。

● Ansys HPC Pack
一定の並列数をまとめてパッケージングした製品であり、Pack数を増やしていくと8 、32 、128...と4倍ずつ並列数が増えていきます(標準の4並列に追加して利用可能)。 10並列以上の規模の大きな並列計算を行う場合に費用効率に優れます。
ただし、他のHPCライセンスとの組み合わせや複数ジョブへの分割はできません。そのため、1ジョブのみで大規模な計算を実施したい場合におすすめです。

● Ansys HPC Workgroup
Ansys HPCのボリュームディスカウント製品です。8 、 16 、32 、64...と2倍ずつ増加するパッケージになっています。
複数ジョブの分割など柔軟な運用が可能ですが、並列数が多い場合の1ジョブ当たりの費用はHPC Packより割高になります。
※複数ジョブの同時実行にはソルバーライセンスも複数必要です。

図1  Fluentのスケーラビリティの計測結果(4ノードクラスター , CAEクラウド)図1 Fluentのスケーラビリティの計測結果(4ノードクラスター , CAEクラウド)

Multi-GPUソルバー

近年、GPGPU(General Purpose computing on Graphics Processing Units)、すなわち、本来グラフィックス処理用に開発されたGPUを科学技術計算などの汎用的な用途に応用する技術が注目されています。GPUは画像や動画のスムーズな描画を実現するため、大量のデータを高速に処理する高い並列処理能力を持っています。また、CPUに比べてコストメリットが大きく、コア数の大きなCPUよりも GPUを積んだワークステーションの方が導入コストを低くできる場合があります。こうしたトレンドを受け、Fluentにも計算の一部にGPUを援用する機能が実装されていましたが、大規模なモデルでなければ十分に効果を発揮するのが難しく、限定的な活用に留まっているというのが実情でした。
しかし、Ansys 2023 R1にてGPUを基盤とするまったく新しいFluentのMulti-GPUソルバーが正式リリースされました。GPUを計算の一部にのみ利用していた従来とは異なり、Multi-GPUソルバーはNVIDIA社が提供するGPU向けの並列コンピューティングプラットフォームであるCUDA(Compute Unified Device Architecture)を用いて開発されており、GPUを全面的に活用した処理を行うことで驚異的な高速化を実現しています。
図2にAnsys社が実施したMulti-GPUソルバーのスケーラビリティの計測結果を示します。解析対象は自動車体の外部流れであり、要素数は約1億です。従来のCPUソルバーと遜色ない結果が得られている一方、NVIDIA A100を1枚用いた場合、80コアのCPUの結果よりも5倍以上高速化されており、これは1枚のA100でCPU400コア以上のスケーラビリティを発揮していることを意味します。また、GPUを2枚、4枚と増やしていくとスケーラビリティもおおむね 2倍、4倍と大きくなっており、大規模な並列数でも理想的な性能を発揮していることがわかります。

図2 Multi-GPUソルバーのスケーラビリティ(車体の外部流れ)図2 Multi-GPUソルバーのスケーラビリティ(車体の外部流れ)

関連する解析講座・辞典

MORE

関連する解析事例

MORE

関連する資料ダウンロード

MORE

Ansys、ならびにANSYS, Inc. のすべてのブランド名、製品名、サービス名、機能名、ロゴ、標語は、米国およびその他の国におけるANSYS, Inc. またはその子会社の商標または登録商標です。その他すべてのブランド名、製品名、サービス名、機能名、または商標は、それぞれの所有者に帰属します。本ウェブサイトに記載されているシステム名、製品名等には、必ずしも商標表示((R)、TM)を付記していません。 CFX is a trademark of Sony Corporation in Japan. ICEM CFD is a trademark used by Ansys under license. LS-DYNA is a registered trademark of Livermore Software Technology Corporation. nCode is a trademark of HBM nCode.