AMD Lab Notes – AMD GPUおよびROCm™の使用に関する教訓を紹介する新ブログシリーズ

AMD EPYC™ プロセッサー

2023-02-27更新

  • twitter
  • facebook
  • line

計算科学とデータ科学は、科学的探究と工学的設計の強力な手法として登場しました。科学的手法の「第3の柱」「第4の柱」とも呼ばれるこれらの分野は、物理的、生物学的、またはデータ駆動型のプロセスのコンピュータモデルやシミュレーションを使用して、関心のある複雑なシステムを調査、予測、分析する学際的な分野です。これらの分野では、科学的・産業的な要求の高まりに対応するため、より多くの計算能力とリソースを使用する必要があります。これらの課題に取り組むために設計された新しいハードウェアを十分に活用するためには、ハイパフォーマンス・コンピューティング(HPC)および機械学習(ML)アプリケーション用の堅牢なソフトウェアの開発がこれまで以上に重要になってきます。この課題は、ハードウェアのトレンドがGPUアクセラレーションによる大規模な並列処理を実現し続けているため、さらに大きくなっています。このため、高度な異種混合プログラミング環境の採用と、慎重に調整されたアプリケーション・コードの採用が必要になりますが、まさにこのブログシリーズが目指しているのは、このような課題です。

このAMDラボノート・ブログシリーズでは、エンジニアがAMD GPU用の幅広い科学アプリケーション、ライブラリ、フレームワークのチューニングから得た教訓を共有します。 毎月、次のようなトピックに焦点を当てた新しいラボノートブログをお楽しみください。

・PDE離散化、線形代数、ソルバーなど、計算科学アルゴリズムのAMD GPUインプリメンテーション
・最適化を紹介する AMD GPU プログラミングチュートリアル
・MLフレームワーク、データサイエンスツール、ポスト処理、可視化をAMD GPUで活用するための手順
・AMD GPUをターゲットとするHPCおよびMLアプリケーションの移植と最適化のためのベストプラクティス
・ROCm™ソフトウェア・スタックのライブラリおよびツールの使用に関するガイダンス

また、読者は、ドメインの専門家や計算/データ科学者が同様に自分のシステムでコードを試して実験できるように、付随するコード例を楽しみにしています。ラボノートのほとんどは、主にAMD Instinct™ GPUに焦点を当てていますが、他のAMDグラフィックスカードのユーザーも、概略の戦略から利益を得られると期待しています。AMD GPU上でアプリケーション・パフォーマンスを最適化する最善の方法について専門家から直接学び、ご自身のアプリケーション・コードをさらに高速化する方法についてインスピレーションを得るために、毎月このサイトを訪れてください。

AMD マトリクスコア

行列の乗算は線形代数の基本的な側面であり、ハイパフォーマンス・コンピューティング(HPC)アプリケーションではユビキタスな計算です。AMD の CDNA アーキテクチャーの導入以来、一般化行列乗算(GEMM)計算が Matrix Core Processing Unit を介してハードウェアアクセラレーションされるようになりました。Matrix Coreで加速されたGEMMカーネルは、rocBLASのようなBLASライブラリの中核をなしていますが、開発者が直接プログラミングすることも可能です。このブログでは、AMDマトリックス・コアを活用するためのコンパイラー・イントリンシックスを紹介することに重点を置いています。

AMD ROCm™のインストール

AMD ROCm™ソフトウェア・パッケージのインストールは、関連する部品やインストール手順の流れを明確に理解していないと困難な場合があります。この入門資料では、AMD GFX9アーキテクチャーをサポートするAMD GPUカードを搭載したワークステーションにROCmをインストールする方法を紹介します。本記事では、3つのインストール方法について説明します。詳細については、関連するウェブサイトやオンライン・ドキュメントをご参照ください。

有限差分法 – ラプラシアン その1

有限差分法は、地球物理学(気象、石油・ガス)、電磁気学(半導体、天体物理学)から気体力学(気流、プラズマ)に至るまで一般的に使用されている計算物理学ステンシルの典型的な例である。ステンシルコードは、1つの格子点における値を評価するために、格子点の局所的な近傍(ステンシル)にアクセスするという根本的な要件によって識別されます。つまり、アルゴリズムの性能は、メモリアクセスのパターンに強く依存します。このブログでは、AMDのHIP(Heterogeneous Interface for Portability)APIを使用して、ラプラス演算子のGPUアクセラレーションによる最初のステンシルコードを開発し、今後の投稿でコードを最適化した際に達成できるであろう性能目標を提示します。

有限差分法 – ラプラシアン その2

有限差分法シリーズの第 2 回である本号では,データ 移動を低減し,それによって以前に実装した HIP カーネル の実効メモリバンド幅を増加させるために適用可能な 2 つの最適化に焦点を当てます.最初の最適化では,ループタイリングを使用して明示的にメモリ 負荷を低減し,各 GPU スレッドのロードストア比を低減します.2 番目の最適化では、メモリアクセスのパターンを並べ替え、L2 キャッシュのヒット率を向上させました。この2つの最適化を組み合わせることで、カーネルの性能は期待される性能に大きく近づきました。次のパートでは、残っている未解決の質問にお答えします。

すべての技術的な内容および付随するコード例は、こちらのAMD LAB Notesでご覧になれます。

役に立つリソース:
ROCmのウェブページでは、プラットフォームの概要とその内容、サポートする市場やワークロードを紹介しています。
ROCm Information Portalは、ユーザーと開発者向けの新しいワンストップ・ポータルで、ROCmの最新バージョンとAPI、サポートドキュメントが掲載されています。このポータルには、ROCm学習センターも設置され、新規ユーザーにROCmプラットフォームを紹介するとともに、既存ユーザーには、プラットフォーム上でのシステム開発・展開に役立つ厳選されたビデオ、ウェビナー、ラボ、チュートリアルを提供している。以前のドキュメントとラーニングサイトに取って代わるものです。
AMD Infinity Hubでは、コンテナとしてパッケージ化され、すぐに実行できるHPCアプリケーションやMLフレームワークにアクセスすることが可能です。また、ROCm対応アプリケーションの最新リストを含むROCmアプリケーション・カタログにアクセスすることも可能です。
AMD Accelerator Cloudは、最新のAMD Instinct™アクセラレーターとROCmソフトウェア上のテストコードとアプリケーションにクラウドでリモートアクセスできます。最後に、最新のAMD Instinct MI200シリーズ・ファミリーを含む最新のAMD Instinctアクセラレーターとサポート・パートナーのサーバー・ソリューションについては、AMD Instinctサーバー・ソリューション・カタログで詳細をご覧ください。

Sydney Freemanは、AMDのSr.Product Marketing Specialistです。彼女の投稿は彼女自身の意見であり、AMD の立場、戦略、または意見を代表するものではありません。第三者のサイトへのリンクは便宜上、提供されているものであり、明示的に記載されていない限り、AMD はそのようなリンク先サイトのコンテンツに対して責任を負わず、いかなる推奨も示唆されません。

こちらの記事はAMD本社のブログ記事を機械翻訳したものです。詳しくは元記事をご覧ください。

一覧に戻る