SuperComputing 2022 の国際会議開催に合わせて、NVIDIA は HPC Software Development Kit (SDK) v22.11 のリリースを発表しました。NVIDIA Developer プログラムに登録したメンバーは、このリリースを今すぐ無料でダウンロードすることができます。
NVIDIA HPC SDK は、ハイ パフォーマンス コンピューティング (HPC) 開発者向けのコンパイラ、ライブラリ、ツールの包括的なスイートです。開発者が高性能アプリケーションを生産的に開発するために必要なもの全てを提供します。HPC SDK とそのコンポーネントは、新機能、性能の向上、その他の強化のために、毎年何度も更新されています。
C++ による非同期プログラミングのための設計
通常の修正と機能強化に加え、新しい v22.11 リリースでは、C++ 非同期を標準化するために設計された革新的な stdexec
ライブラリのプレビューが提供されています。このライブラリにより、開発者は CPU や GPU マシンに依存しない高水準なアルゴリズム コードを記述できるようになり、プログラマーの生産性とアプリケーションの移植性が向上します。
stdexec
ライブラリは、作業を非同期でスケジュールする機能を導入し、既存の C++ 並列アルゴリズムよりも優れたリソース使用率と性能を実現します。これにより、きめ細かな実行制御が可能になり、遅延を最小化し、さらにはマルチ GPU/マルチノード システムの性能上の利点を活用することができます。
stdexec
ライブラリは、C++ 標準化委員会の提案の初期実装で、HPC ワークロードを最適なコンピューティング リソースとマッチングさせることができます。「Senders」と呼ばれることもあるこのライブラリは、開発者が自分の作業をどこでどのように実行するかを正確に制御し、最終的に移植可能な並列性の提供を実現します。
マルチノードの数学ライブラリでアプリケーションを拡張
HPC SDK には、現在、最新の cuSOLVER と cuFFT マルチノード機能が含まれています。これらのライブラリにより、ユーザーはわずか数行のコードで数千の GPU にスケールするソフトウェア アプリケーションを記述することができます。最近では、マルチノード FFT が HPC アプリケーションの GROMACS に統合され、性能向上を提供しています。
分子動力学のシミュレーション パッケージである GROMACS は、世界で最も利用されている HPC アプリケーションの 1 つです。これまで、このアプリケーションは、原子間の Particle-Mesh Ewald (PME) 長距離力を単一ランクと単一 GPU で計算することしかできませんでした。このため、シミュレーション全体のマルチノードの拡張性が制限されていました。新しいマルチノード機能を統合することで、GROMACS はシミュレーションで複数の PME ランクを計算できるようになり、拡張性と性能が向上しました。
図 1 は、実際の科学的なテスト ケースに対して、この新機能による性能向上を示しています。ノードあたり 4 つの A100-SXM4 GPU を使用した NVIDIA Selene クラスターでの結果で、スケーラビリティが 2 ノードから 32 ノードに改善され、大幅な性能向上が可能になったことが分かります。
ns/day とは、計算を 1 日実行したとき (経過時間または実時間) に、何ナノ秒 (ns) のシミュレーションが可能か (シミュレーション時間) を意味します。これは、作業のスケジュールを立てたり、一定期間で達成可能なことを把握するのに有効な指標です。
HPC、数学ライブラリ、並列プログラミングの追加情報
stdexec
と NVIDIA 数学ライブラリを使い始めるには、NVIDIA Developer Zone から新しい HPC SDK 22.11 update を無料でダウンロードしてください。
HPC SDK、標準ベースの並列プログラミングの利点、およびマルチノード GPU アクセラレーションによる数学ライブラリについて学んでください。NVIDIA HPC SDK Version 22.11 ドキュメントも参照してください。
その他の関連情報
- 標準ベースの並列プログラミングを HPC のツールボックスに入れるべき理由
- HPC アプリケーションにおける標準化された並列プログラミングの活用
- 標準言語による並列処理を利用したコードの高速化
- 標準並列 C++ によるマルチ GPU プログラミング、パート 1
- 標準並列 C++ によるマルチ GPU プログラミング、パート 2
- GPU による高速化のための Fortran 標準並列プログラミングの使用
翻訳に関する免責事項
この記事は、「New Asynchronous Programming Model Library Now Available with NVIDIA HPC SDK v22.11」の抄訳で、お客様の利便性のために機械翻訳によって翻訳されたものです。NVIDIA では、翻訳の正確さを期すために注意を払っておりますが、翻訳の正確性については保証いたしません。翻訳された記事の内容の正確性に関して疑問が生じた場合は、原典である英語の記事を参照してください。