inflearn logo
知識共有
inflearn logo

CUDAプログラミング (0) - C/C++/GPU並列コンピューティング - 公開サンプル講義

✅ 全体 (1) 〜 (6) のシリーズ講義を紹介する (0) イントロ講義です。 ✅ NVIDIA GPU + CUDA プログラミングを基礎から一歩ずつ解説します。 ✅ C++/C 言語を用いて、配列・行列・画像処理・統計処理・ソートなどを並列コンピューティングで非常に高速に処理します。

難易度 中級以上

受講期間 36か月

CUDA
CUDA
GPU
GPU
Parallel Processing
Parallel Processing
C
C
C++
C++
CUDA
CUDA
GPU
GPU
Parallel Processing
Parallel Processing
C
C
C++
C++
Thumbnail

学習した受講者のレビュー

学習した受講者のレビュー

4.9

5.0

홍사부

100% 受講後に作成

韓国語でこの講義を作ってくれてありがとう。

5.0

김성은

100% 受講後に作成

プログラムをstep-by-stepで勉強している会社員です。もちろん、仕事分野ではありませんが、コンピュータが率いる新しいパラダイムであることを知るために受講しました。入念な説明と講義進行をして、一講座を一度に受講しました。 (私がインフラで聞いた講義の中で初めてです~~^^) 次回の講義も頑張ります。よろしくお願いします。

5.0

몽크in도시

7% 受講後に作成

他の方も受講評に書かれましたが…本当にこんな講義を韓国語にしてくれてありがとう。

受講後に得られること

  • シリーズ全体 - GPUを利用したCUDAの大規模並列コンピューティング

  • この講義は - パート (0) - 大規模並列コンピューティングとCUDAの紹介

  • アップデート - 2023年6月、"リマスタリング"🍀(一部音源、イントロ映像)

  • ロードマップ「CUDAプログラミング」で✅セット割引クーポン✳️を提供

プログラムは速度が命!
大規模並列処理技術で高速化しましょう 🚀

大規模並列コンピューティングが重要だそうですが 🧐

CUDA = 最も広く使われているGPU並列コンピューティング技術
ステップバイステップ + 豊富な例題 + 詳しい説明 = まさにこの講義!

GPU/グラフィックボードベースの大規模並列コンピューティングは、AI、ディープラーニング、ビッグデータ処理、画像/映像/音声処理などで非常に活発に使用されています。そして現在、GPU並列コンピューティングにおいて最も広範囲に適用されている技術が、NVIDIA社のCUDAアーキテクチャです。

並列コンピューティングの中でも大規模並列コンピューティングやCUDA(クーダ)などの技術が重要だと言われていますが、いざこの分野を体系的に教えてくれる講義を見つけるのが難しく、学習を始めることすら容易ではありません。この講義を通じて、CUDAプログラミングを一歩ずつ学んでみてください。CUDAや並列コンピューティングは理論的な背景が必要で難易度も高いですが、この講義の豊富な例題と背景知識の解説とともに基礎から進めていけば、十分に習得可能です!この講義はシリーズとして制作される予定で、十分な講義時間を確保して提供します。

本講義では、C++/CプログラマーがCUDAライブラリとC++/C関数を組み合わせて、さまざまな分野の問題を大規模並列処理手法で加速する方法について説明します。この方法を通じて、すでに開発されたC++/Cプログラムを加速させたり、新しいアルゴリズムやプログラムを完全に並列コンピューティングで開発することで、画期的に高速化させることができます。

📢 受講前にご確認ください!

  • 実習のために、NVIDIA CUDAが動作するハードウェア環境をあらかじめ確保してください。NVIDIAのGeForceグラフィックカードが搭載されたPC/ノートパソコンが必ず必要です。
  • 一部のクラウド環境でもNVIDIA GeForceグラフィックカードを使用できますが、クラウド環境の設定は頻繁に変更され、有料である場合が多いです。クラウド環境であれば、グラフィックカードを使用できる環境を確保するようにしてください。
  • 講義の実習環境は、カリキュラムの<00. 講義前の準備事項>の講義で詳しくご確認いただけます。

講義の特徴 ✨

#1.
豊富な
例題と解説

CUDAと大規模並列コンピューティングは、豊富な例題と説明が必要です。このシリーズ講義では、パート(0)からパート(6)まで、計24時間以上の講義を提供します。

#2.
実習は必須!

コンピュータープログラミングの科目であるため、豊富な実習を強調し、実際に動作するソースコード(source code)を提供することで、一つ一つ順を追って進められるようになっています。

#3.
重要な部分を
集中的に!

講義時間には、すでに説明したソースコード(source code)の部分については重複した説明を最大限排除し、変更された部分や強調すべき部分だけに集中して学習することができます。


このような方におすすめです 🙋‍♀️

既存のプログラムを画期的に改善したいプログラマー

様々なアプリケーションがどのように高速化されたかを知りたい専攻研究者

就職前に新技術に関するポートフォリオを追加したい大学生

AI、ディープラーニング、行列計算などの並列処理理論と実践を知りたい方

一足先にチェックする講義レビュー 🏃

*以下のレビューは、知識共有者が同じテーマで行った外部講演に対するレビューです。

"私は並列アルゴリズムや並列コンピューティングについて何も知りませんでしたが、
講義を受けた後には並列コンピューティングに自信を持てるようになりました。"

"従来のC++プログラムでは解決できなかったアルゴリズムが多かったのですが、
この講義を通じてリアルタイム処理が可能になるよう改善することができました!"

"講義を受けた後、面接で並列コンピューティングの経験があると言ったら、面接官の方々がとても驚いていました。
大学生レベルではCUDAや並列コンピューティングの講義を見つけるのは容易ではないとのことでした。"


CUDAプログラミング完全攻略ロードマップ 🛩️

  • CUDAプログラミング講座は、トピックへの集中度を高めるため、7つのシリーズ、計24時間以上の講義として企画されました。
  • ロードマップ講義「CUDAプログラミング」も提供されています。ぜひチェックしてみてください。
  • 各講義はさらに6つ以上のセクションで構成されており、セクションごとに独立したテーマを扱っています。(現在の講義であるパート0は、2つのセクションでイントロダクションのみを提供します。)
  • 講義で使用したスライドがPDFファイルで提供され、実習例題が説明されているセクションでは、使用したプログラムのソースコード(source code)が提供されます。

パート0 (1時間無料講義)現在の講義

  • MPC, CUDAの紹介 - MPCとCUDAに関する全体的な紹介を行うイントロダクション部分です。

パート1 (3時間40分)

  • CUDAカーネルの概念 - CUDAプログラミングの始まりであるCUDAカーネルの概念を学習し、並列コンピューティングが動作することを確認できます。

パート 2 (4時間 15分)

  • vector addition - 1次元配列形式であるvector(ベクトル)同士の演算を多様な例題で提示し、AXPYルーチンを実際にCUDAで実装します。

パート 3 (4時間 5分)

  • memory hierarchy - CUDAプログラミングの核心であるメモリ構造を学習します。例題としてmatrix addition、adjacent differenceなどを実装します。

パート 4 (3時間 45分)

  • matrix transpose & multiply - 2次元配列形式であるmatrix(マトリックス、行列)同士の演算を様々な例題で提示し、GEMMルーチンをCUDAで実装します。

パート 5 (3時間 55分)

  • atomic operation & reduction - CUDAのコントロールフローに対する理解とともに、atomic operation、reductionなどの問題定義から解決策まで学習します。GEMVルーチンもCUDAで実装します。

パート 6 (3時間 45分)

  • search & sort - CUDAアーキテクチャを利用して、search-all問題やeven-odd sort、bitonic sort、counting merge sortなどを効果的に実装する例題を学習します。

CUDAプログラミングと
大規模並列コンピューティングを完全攻略!


Q&A 💬

Q. 有料講義の受講評はどうですか?

有料講義が(1)〜(6)まで順次公開されているため、受講レビューが分散しており、現在はまだ非公開です。有料講義には現在、以下のようなレビューが寄せられています。

  • 一つの例題で様々なテクニックを適用しながら、性能を最大限に引き出す過程を詳しく説明してくださり、とても役に立ちました。
  • メモリ構造やロジックを視覚化して説明してくださったので、理解もずっとスムーズでした。
  • 漠然とAIを勉強している中で、デバイスに関する深い内容を補うことができて良かったです。
  • ソフトウェアのインストールが丁寧に説明されており、ソースコードも提供されているので、実習しやすかったです。

Q. 非専門家でも受講できる講義ですか?

  • C++プログラミングはある程度の経験が必要です。少なくとも、Cプログラミングの経験は必須となります。すべての例題はできるだけ平易に作成されていますが、すべてC++/Cコードで提供されており、mallocやmemcpyなどの関数が提供する機能については別途説明しません。
  • コンピュータ構造(レジスタ、キャッシュメモリなど)、オペレーティングシステム(タイムシェアリングなど)、コンパイラ(コード生成、コード最適化)などについての理解があれば、講義の内容をより深く理解することができます。
  • この講義の当初の設計は、4年制大学のコンピュータ専攻、卒業を控えた学生たちの深化学習用でした。

Q. 講義を受ける前に準備すべきことはありますか?受講に関する参考事項(必要な環境、その他の注意事項など)はありますか?

  • 実習のためのNVIDIA CUDAが動作するハードウェア環境は、あらかじめ確保しておく必要があります。 NVIDIAのGeForceグラフィックカードが搭載されたPC/ノートパソコン、またはクラウド環境が必ず必要です。
  • 一部のクラウド環境でもNVIDIA GeForceグラフィックカードを使用できますが、クラウド環境の設定は頻繁に変更され、有料である場合が多いため、グラフィックカードを使用できる環境を選択することをお勧めします。

Q. 授業の内容はどのレベルまで扱いますか?

  • パート(0)から出発して、パート(1)からパート(6)へと進むにつれて、より深い理論とより多くの理解度が要求されます。
  • 必ずパート (0) からパート (6) の順に、一通り通して受講されることを強くお勧めします。
  • パート (6) の最後で扱う counting merge sort は、専門の研究者でもすぐについていくのは難しいレベルの問題です。しかし、一歩ずつ進んできた受講生たちは、前半の学習を土台にして、スムーズに理解できたというケースが多かったです。

Q. 受講期限を設定している理由はありますか?

  • 受講期限を設定したのは、コンピュータ分野の特性上、それくらいの時間が経過すると、この講義の内容がすでに過去の話になってしまう可能性が高いからです。
  • その頃には、新しい講義でまたお会いしましょう。 😄

Q. 動画に字幕は入っていますか?

  • はい。すべての動画に字幕が入っています!
  • アップデートの際には字幕のない動画が追加されることもありますが、今のところはすべての動画で字幕を提供しています。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 配列・行列・画像処理・統計処理・ソートなどをC++ベースの並列コンピューティング・並列処理で加速させたい方

  • 自作のプログラムを並列コンピューティング/CUDA/クーダで加速させたい方

  • NVIDIA CUDA プログラミング/CUDA コンピューティングを基礎から学ぼうとしている方

  • GPU並列処理・並列コンピューティングの理論と実践をバランスよく学びたい方

前提知識、
必要でしょうか?

  • C++またはCプログラミングの経験

  • コンピュータ構成、レジスタ、キャッシュ、タイムシェアリングなどに関する知識があれば、より好ましいです。

こんにちは
onemoresipofcoffeeです。

9,624

受講生

291

受講レビュー

65

回答

4.9

講座評価

30

講座

出発前にもう一杯のドリップコーヒーを

カリキュラム

全体

15件 ∙ (1時間 8分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

56件

4.9

56件の受講レビュー

  • liberty3266님의 프로필 이미지
    liberty3266

    受講レビュー 6

    平均評価 5.0

    5

    100% 受講後に作成

    • gyuwonjo3973님의 프로필 이미지
      gyuwonjo3973

      受講レビュー 3

      平均評価 4.7

      5

      100% 受講後に作成

      • dkcharng님의 프로필 이미지
        dkcharng

        受講レビュー 5

        平均評価 4.6

        5

        33% 受講後に作成

        • wayfarecru0581님의 프로필 이미지
          wayfarecru0581

          受講レビュー 25

          平均評価 5.0

          5

          7% 受講後に作成

          他の方も受講評に書かれましたが…本当にこんな講義を韓国語にしてくれてありがとう。

          • onemoresipofcoffee
            知識共有者

            こんにちは。良い評価をいただきありがとうございます。ずっと内容でお会いしましょう。

        • jlimvic8352님의 프로필 이미지
          jlimvic8352

          受講レビュー 1

          平均評価 5.0

          5

          100% 受講後に作成

          onemoresipofcoffeeの他の講座

          知識共有者の他の講座を見てみましょう!

          似ている講座

          同じ分野の他の講座を見てみましょう!

          無料