Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Programming Language

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

✅全体(1)〜(6)のシリーズ講義を紹介する(0)イントロ講義です。 ✅NVIDIA GPU + CUDAプログラミングを基礎から次々と説明します。 ✅C++/C言語で配列/行列/画像処理/統計処理/並べ替えなどを並列コンピューティングで非常に迅速に処理します。

  • onemoresipofcoffee
CUDA
GPU
Parallel Processing
C
C++
Thumbnail

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

こんなことが学べます

  • シリーズ全体 - 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.
重要な部分
集中的に!

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


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

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

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

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

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

プレビューする講義のレビュー 🏃

*以下の後期は、知識共有者が同じテーマで行った外部講演の後期です。

「私は並列アルゴリズムや並列コンピューティングについて何も知らなかったが、
講義を聞いた後は、並列コンピューティングに自信を持つようになりました。」

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

「講義を聞いた後、面接を見ると並列コンピューティングに経験があると言ったら、面接官たちはとても驚きました。
大学生レベルでは、CUDAや並列コンピューティング講義が見つけやすくないと言いました。」


CUDAプログラミング征服ロードマップ🛩️

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

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

  • MPC、CUDAの紹介 - MPCとCUDAの全体的な紹介をするintrodution部分です。

パート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)で順次オープンしており、受講評が散在しており、まだ非公開です。有料講義は現在、以下の受講評価を受けています。

  • 1つの例では、さまざまなテクニックを適用しながら、パフォーマンスを最大限に引き上げるプロセスを詳しく説明してくれて有益です。
  • メモリ構造やロジックを視覚化して説明してくれたので、理解もはるかに簡単です。
  • 漠然としたAIの勉強の中で、デバイスの深化内容を加えることができます。
  • ソフトウェアのインストールがよく説明されており、ソースコードも提供されており、練習しやすくなりました。

Q.非専攻者も聞ける講義ですか?

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

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

  • 練習のためにNVIDIA CUDAが動作するハードウェア環境は事前に確保する必要があります。 NVIDIAのGeForceグラフィックカードを搭載したPC/ノートブックやクラウド環境が必須です。
  • 一部のクラウド環境でもNVIDIA GeForceグラフィックカードを使用できますが、クラウド環境の設定は頻繁に変わり、有料の場合が多いので、グラフィックカードを使用できる環境を選択してください。

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

  • パート(0)から出発して、パート(1)からパート(6)に上がるにつれて、より深い理論とより理解が必要です。
  • 必ずパート(0)からパート(6)の順に、定走行して受講することを強くお勧めします。
  • パート(6)の最後の部分でカバーされているカウントマージソートは、プロの研究者がすぐに追いつくのは難しい程度の問題です。ただし、じっくりとついて行った受講生たちは前の方の学習を元に、無難に理解したということが多かったです。

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

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

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

  • はい。すべてのビデオに字幕が含まれています!
  • アップデート時には字幕のない動画が追加されることもありますが、まだすべての動画で字幕を提供しています。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 配列/行列/画像処理/統計処理/並べ替えなどをC ++ Cベースの並列計算/並列処理に加速したい方

  • 直接開発したプログラムを並列コンピューティング/CUDA/クーダで加速させたい方

  • NVIDIA CUDAプログラミング/CUDAコンピューティングを基礎から勉強したい方

  • GPU並列処理/並列計算の理論と実際を均等に勉強したい方

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

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

  • コンピュータ構造、レジスタ、キャッシュ、タイムシェアリングなどの知識があれば、より良い

こんにちは
です。

9,048

受講生

216

受講レビュー

63

回答

4.9

講座評価

30

講座

One more cup of drip coffee for the road

カリキュラム

全体

15件 ∙ (1時間 8分)

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

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

受講レビュー

全体

42件

4.9

42件の受講レビュー

  • 몽크in도시님의 프로필 이미지
    몽크in도시

    受講レビュー 25

    平均評価 5.0

    5

    7% 受講後に作成

    다른 분도 수강평에 쓰셨던데... 정말 이런 강의를 한국어로 만들어 주셔서 감사합니다.

    • 드립커피+한모금더
      知識共有者

      안녕하세요. 좋은 평가를 해 주셔서 감사합니다. 계속 내용으로 뵙겠습니다.

  • 노정호님의 프로필 이미지
    노정호

    受講レビュー 6

    平均評価 3.8

    5

    33% 受講後に作成

    • 김용수님의 프로필 이미지
      김용수

      受講レビュー 2

      平均評価 5.0

      5

      60% 受講後に作成

      • dw.hong님의 프로필 이미지
        dw.hong

        受講レビュー 1

        平均評価 5.0

        5

        33% 受講後に作成

        • 이대준님의 프로필 이미지
          이대준

          受講レビュー 3

          平均評価 5.0

          5

          100% 受講後に作成

          無料

          onemoresipofcoffeeの他の講座

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

          似ている講座

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