GPUプログラミングの基礎と高速化のための最適化手法およびそのポイント ~デモ付~<オンラインセミナー>

~ CPUとGPUの比較、GPUプログラミングによる並列化、GPU高速化のための最適化手法 ~

・GPUの最適化手法について習得し、プログラムの高速化へ応用するための講座
・GPUの性能を最大限に発揮するための技術を修得し、システムの性能改善と高速化へ応用しよう!

オンラインセミナーの詳細はこちら:

・WEB会議システムの使い方がご不明の方は弊社でご説明いたしますのでお気軽にご相談ください。

講師の言葉

【講師の言葉】
 GPUはPC用グラフィックボード上の専用プロセッサとして発展してきましたが、近年、様々な分野の高速計算を支えるハードウェアとして注目されています。スーパーコンピュータに採用され高い性能を叩き出す一方で、PCや普及価格帯のサーバを対象としている技術者から見ても、一般的なPCに標準で搭載され利用できる環境が多いこと、PCのオプションとして追加・交換が容易であること、量産効果によりコストパフォーマンスが高いことなど、大きな魅力を持っています。一方で、CUDAなど専用のプログラミングフレームワークを用いるGPUプログラミングは習得すべき知識も多く、ハードルが高いのが現状です。
 本セミナーは、NVIDIA社のGPUボードとCUDAを使用し、GPU未経験のソフトウェア技術者がGPUを利用してプログラムの高速化を実現するための基礎的な知識・技術を解説します。具体的には、基本的なGPUプログラミングの手順に加え、手動最適化により性能を改善する方法を説明します。GPUはCPU以上に手動最適化が性能を大きく左右しますが、対象プログラムの性質や使用するGPUのモデルにより、適用すべき手法や設定パラメータが変わってきます。本セミナーでは、GPUのハードウェアアーキテクチャと合わせて主要な最適化手法の原理を解説することにより、状況に応じて適切な最適化を施すための基礎技術を学んでいただきます。また、実際にプログラムの作成と最適化についてデモを行い、その効果が分かるようになります。

セミナー詳細

開催日時
  • 2022年01月12日(水) 10:30 ~ 17:30
開催場所 オンラインセミナー
カテゴリー オンラインセミナーソフト・データ・画像・デザイン
受講対象者 ・GPUプログラミングを使ったシステム開発を行っている方
・CPUとGPUの並列処理を行いたい方
・現状のプログラムの高速化を試みている方
・手動最適化を試した経験があるが、結果に満足していない方
・適切な最適化方法について修得したい方
・画像、ソフトウェア、システムその他関連企業の方
予備知識 ・CもしくはC++のプログラミング経験(ループ、配列、ポインタが理解できているレベル)
修得知識 ・高速化を行うための手がかりを修得できる
・CPUとGPUの並列処理のポイントを修得できる
プログラム

1.なぜGPUが流行っているのか
  (1).歴史的経緯
    a.GPUの登場と進化
    b.プログラミングフレームワークCUDA
  (2).CPU V.S. GPU
    a.ハードウェア上の違い
    b.ソフトウェア上の違い
    c.GPUの特徴(使い勝手)

2.GPUプログラミングの基礎
  (1).CUDAのプログラミングモデル(簡易版)
    ・GPUアーキテクチャの概要
  (2).とりあえず並列化するには
    a.CUDA開発・実行環境
    b.CUDAプログラムの記述とコンパイル
    d.サンプルプログラムで並列化の確認
    e.CUDAプログラムの流れとメモリ確保
    f.デバイスメモリ上のデータ領域確保と解放
  (3).データ転送
    a.GPU側コードの記述
    b.グリッドとブロック
    c.カーネル関数とスレッド
    d.並列処理の同期
  (4).GPUによる高速化デモ(1) 行列積(とりあえず並列化版)

3.GPU高速化のための最適化手法
  (1).CUDAのプログラミングモデル(実用版)
  (2).なぜ速度が出ないのか
    a.速度が低下する要因とその対策
    b.GPUプログラムを高速化するためには
    c.スレッドの管理
    d.全てのコアに仕事をさせるために
    e.ツールによる分析手法
  (3).基本的な最適化手法とその原理
    a.メモリアクセスの最適化
    b.スレッド管理の最適化
    c.スレッド内コードの最適化
    d.レジスタとローカル/グローバルメモリ
    e.シェアードメモリ
    f.占有率
  (4).高度な最適化手法
    a.データ構造の最適化
    b.スレッドスケジューリングの最適化
  (5).GPUによる高速化デモ(2) 行列積(最適化版)
  (6).GPUによる高速化デモ(3) その他の並列化・最適化例

4.GPUを使ったソフトウェア開発
  (1).CUDA以外のプログラミング手段
    a.(半)自動並列化(OpenACC)
    b.並列化ライブラリ(Thrustなど)
    c.特定分野専用フレームワーク(機械学習用のPytorchなど)
  (2).将来のGPU環境
    a.今後どのように進化していくか
    b.開発に重点を置くポイントと妥協して良いポイント

キーワード ソフトウェア プログラミング GPU グラフィック 画像 並列処理 繰り返し処理 ループ スレッド キャッシュ メモリ グラフィックボード
タグ 画像GPU
受講料 一般 (1名):49,500円(税込)
同時複数申込の場合(1名):44,000円(税込)
会場
オンラインセミナー
本セミナーは、Web会議システムを使用したオンラインセミナーとして開催します。
こちらのセミナーは受付を終了しました。
次回開催のお知らせや、類似セミナーに関する情報を希望される方は、以下よりお問合せ下さい。
contact us contact us
各種お問い合わせは、お電話でも受け付けております。
03-5322-5888

営業時間 月~金:9:00~17:00 / 定休日:土日・祝日