コース概要

はじめに

  • 1]プログラミングとは?
  • なぜGPUプログラミングなのか?
  • 1]プログラミングの課題とトレードオフとは?
  • 1]プログラミングのフレームワークとは?
  • アプリケーションに適したフレームワークの選択

OpenCL

  • 2]とは何か?
  • 2]のメリットとデメリットは?
  • 2]の開発環境を整える
  • ベクトル加算を行う基本的なOpenCLプログラムの作成
  • 2]のAPIを使用して、デバイス情報の問い合わせ、デバイス・メモリの割り当てと割り当て解除、ホストとデバイス間のデータ・コピー、カーネルの起動、スレッドの同期を行う
  • 2] C言語を使用して、デバイス上で実行し、データを操作するカーネルを記述する
  • 2] 組み込み関数、変数、ライブラリを使用して、一般的なタスクや操作を実行する。
  • グローバル、ローカル、定数、プライベートなどの OpenCL メモリ空間を使用して、データ転送とメモリ・アクセスを最適化する。
  • 2]実行モデルを使用して、並列性を定義するワークアイテム、ワークグループ、ND-rangeを制御する。
  • CodeXLなどのツールを使用したOpenCLプログラムのデバッグとテスト
  • 合体、キャッシュ、プリフェッチ、プロファイリングなどのテクニックを使用したOpenCLプログラムの最適化

CUDA

  • CUDAとは?
  • CUDAの利点と欠点は?
  • CUDAの開発環境のセットアップ
  • ベクトル加算を実行する基本的なCUDAプログラムの作成
  • CUDA APIを使用して、デバイス情報の照会、デバイスメモリの割り当てと割り当て解除、ホストとデバイス間のデータコピー、カーネルの起動、スレッドの同期を行う
  • CUDA C/C++言語を使用して、デバイス上で実行し、データを操作するカーネルを記述する。
  • CUDA組み込み関数、変数、ライブラリを使用して、一般的なタスクや操作を実行する。
  • グローバル、共有、定数、ローカルなどのCUDAメモリ空間を使用して、データ転送とメモリアクセスを最適化する。
  • CUDA実行モデルを使用して、並列性を定義するスレッド、ブロック、グリッドを制御する。
  • CUDA-GDB、CUDA-MEMCHECK、NVIDIA Nsightなどのツールを使用したCUDAプログラムのデバッグとテスト
  • 合体、キャッシュ、プリフェッチ、プロファイリングなどのテクニックを使用したCUDAプログラムの最適化

ROCm

  • ROCmとは何ですか?
  • ROCm の利点と欠点は?
  • ROCmの開発環境のセットアップ
  • ベクトル加算を実行する基本的な ROCm プログラムの作成
  • ROCm API を使用したデバイス情報の取得、デバイス・メモリの割り当てと解放、ホストとデバイス間のデータ・コピー、カーネルの起動、スレッドの同期
  • ROCm C/C++言語を使用して、デバイス上で実行し、データを操作するカーネルを記述
  • ROCm 組み込み関数、変数、ライブラリを使用し て、一般的なタスクや操作を実行
  • グローバル、ローカル、定数、プライベートなどの ROCm メモリ空間を使用し、データ転送とメモリ・アクセスを最適化
  • ROCm 実行モデルを使用して、並列処理を定義するスレッド、ブロック、グリッドを制御
  • ROCm Debugger や ROCm Profiler などのツールを使用した ROCm プログラムのデバッグとテスト
  • 合体、キャッシュ、プリフェッチ、プロファイリングなどの技法を使用した ROCm プログラムの最適化

比較

  • 2]、CUDA、ROCm の機能、性能、互換性の比較
  • ベンチマークとメトリクスを使用したGPUプログラムの評価
  • 1]プログラミングのベストプラクティスとヒントを学ぶ
  • 1]プログラミングの現在と将来のトレンドと課題を探る

まとめと次のステップ

要求

  • C/C++言語と並列プログラミングの概念の理解
  • コンピュータアーキテクチャとメモリ階層に関する基礎知識
  • コマンドラインツールとコードエディタの使用経験

対象者

  • 1]プログラミングのためのさまざまなフレームワークの使用方法を学び、その機能、パフォーマンス、互換性を比較したい開発者
  • 異なるプラットフォームやデバイス上で動作する、ポータブルでスケーラブルなコードを書きたい開発者
  • 1]プログラミングと最適化のトレードオフと課題を探求したいプログラマー
 28 時間

参加者の人数



Price per participant

お客様の声 (1)

関連コース

GPU Programming with OpenCL

28 時間

GPU Programming with CUDA

28 時間

AMD GPU Programming

28 時間

ROCm for Windows

21 時間

Introduction to GPU Programming

21 時間

GPU Programming with OpenACC

28 時間

関連カテゴリー