釜山大学がインテル® VTune™ プロファイラーを使用して計算流体力学のパフォーマンスを大幅に向上

同カテゴリーの次の記事

インテル® VTune™ プロファイラー・リリースノートと新機能

この記事は、インテルのサイトで公開されている「PNU Achieves Performance Boost in Computational Fluid Dynamics Using Intel® VTune™ Profiler」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。


はじめに

釜山大学 (PNU) (英語) 計算空気力学 (英語) および回転翼航空機研究室の Yong Su Jung 教授 (英語) は、数値流体シミュレーション・モデルを開発し、学内のハイパフォーマンス・コンピューティング (HPC) リソースに展開しました。この取り組みは、航空機や回転翼航空機での応用空気力学に関する綿密な研究の一環です。流体シミュレーション研究室は、多様な数値計算方法を採用し、2 次元レイノルズ平均ナビエ・ストークス (RANS) 方程式に基づく数値流体力学 (CFD) コードの利点を開発しました。この CFD コードは、数十万ものパラメーターを持つ方程式系を効率良く解きます。このワークロードは、CFD の計算コストの大部分を占めるベクトル演算を多数実行します。そのため、これらのベクトル演算の効率は、コード全体のパフォーマンスに直接影響します。

課題: パフォーマンスの向上

ハイパフォーマンス・コンピューティングや計算シミュレーションでは、望ましいレベルのパフォーマンスが達成できないことが大きな問題となる可能性があります。パフォーマンスの問題を解決するには、かなりの時間と労力を要し、多くの場合、ソフトウェア・スタックについての深い理解も必要になります。最新のテクノロジーを使用したクロスアーキテクチャー・プラットフォームであっても、さまざまなワークロードには個別の最適化が必要になることがあります。そのため、最新の HW プラットフォームのテクノロジーを活用できるライブラリーやコンパイラー、解析ツールなどのツールチェーンは非常に重要です。PNU は、特定のワークロードの一部でパフォーマンスの問題を発見し、実行を最適化するパスを必要としていました。新しい HPC システムでワークロードを実行する実験ではパフォーマンスを向上できず、数値シミュレーション・モデルの実行は予想よりも遅いままでした。科学者たちは最適化する方法を知りませんでしたが、パフォーマンスの低下は科学的発展に悪影響を及ぼす可能性があるため、妥協したくありませんでした。

ソリューション: インテル® VTune™ プロファイラーによる解析と最適化

インテル® VTune™ プロファイラー (英語) を使用して、CFD コードのループ階層を確認し、最適化を試みました。コードを詳しく調査した結果、ホットスポットの正確な位置が判明しました。図 1 は、ホットスポットの位置を示すコンパイラーの最適化レポートファイルです。


図1. インテル® VTune™ プロファイラーの結果は GaussSeidel_single 関数がホットスポットであることを示している

図 2 に示すように、GaussSeidel_single 関数のベクトル依存関係により、「ループがベクトル化されていない」ことが分かりました。


図 2. ベクトルの依存関係を示す oneAPI DPC++/C++ コンパイラーからの最適化レポート

セマンティクスの依存関係が実行フロー内の実際の依存関係を表していないことを確認するため、ベクトル化されていないループで #pragma ivdep ディレクティブを使用して、ループが確実にベクトル化されるようにしました。再コンパイル後の最適化レポートでは、図 3 に示すように、同じループで 1.71 倍の速度向上が期待できます。


図3. この方法をコード全体に適用した結果、パフォーマンスが 7% 向上

測定日: 性能の測定結果は、2023年8月3日時点の PNU によるテストに基づいています。また、現在公開中のすべてのセキュリティー・アップデートが適用されているとは限りません。

システム構成とワークロード設定:
2023年8月3日時点の PNU によるテストに基づいています。インテル® Xeon® Gold 6330 プロセッサー (42M キャッシュ、2.00GHz) 25 ノード。(2 ソケット) – M50CYP1UR204 (インテル DSG システム) ネットワーク: 10GB イーサネット。グラフ用は 1 ノード (56 コア)。

  • ワークロード: s809 AIRFOIL 流体シミュレーション・テスト
  • インテル®VTune™ プロファイラー 2021.3

インテルは、サードパーティーのデータについて管理や監査を行っていません。ほかの情報も参考にして、正確かどうかを評価してください。

性能の測定結果はシステム構成の日付時点のテストに基づいています。また、現在公開中のすべてのセキュリティー・アップデートが適用されているとは限りません。詳細については、公開されている構成情報を参照してください。絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。性能は、使用状況、構成、その他の要因によって異なります。詳細については、http://www.intel.com/PerformanceIndex/ (英語) を参照してください。実際の費用と結果は異なる場合があります。

まとめ

個々のワークロードのパフォーマンス向上は、非常に複雑でコストがかかる場合がありますが、パフォーマンス・ライブラリー、コンパイラー、ソフトウェア解析ツールなどの高度な統合ビルド・ツールチェーンを使用して最適化できるでしょう。その場合、簡単な方法の 1 つとして、インテル® oneAPI ベース・ツールキットの一部であるインテル® VTune™ プロファイラーによる調査は、パフォーマンスを向上する非常に効果的なアプローチであり、コストと時間の節約につながります。

関連情報

ツールのダウンロード

インテル® oneAPI ベース・ツールキット/インテル® HPC ツールキットでインテル® ソフトウェア開発ツールを入手できます。

パフォーマンス・ボトルネックの修正に役立つインテル® VTune™ プロファイラー

インテル® VTune™ プロファイラー・パフォーマンス解析クックブック


製品および性能に関する情報

1 性能は、使用状況、構成、その他の要因によって異なります。詳細については、http://www.intel.com/PerformanceIndex/ (英語) を参照してください。

関連記事