강의

멘토링

로드맵

Inflearn brand logo image
Programming

/

Programming Language

CUDA プログラミング (5) - C/C++/GPU パラレルコンピューティング - アトミック演算 atomic op

✅全体(1)〜(6)のシリーズのうち、(5)アトミック演算(atomic op)で最適化する。 ✅C++/C言語で配列/行列/画像処理/統計処理/並べ替えなどを並列コンピューティングで非常に迅速に処理します。

  • onemoresipofcoffee
gpu
커널
nvidia
CUDA
GPU
Parallel Processing
C
C++

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

こんなことが学べます

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

  • この講義は - パート(5) - アトミック演算(atomic op)で最適化

  • ロードマップ"CUDAプログラミング"で✅バンドル割引クーポン✳️を提供

プログラムはスピードが命!
大規模な並列処理技術で素早く作成します🚀

大規模な並列コンピューティングが重要だと思います🧐

GPU/グラフィックカードベースの大規模並列コンピューティングは、AI、ディープラーニング、ビッグデータ処理、画像/映像/音声処理などで非常に活発に使用されています。

並列コンピューティングの中でも大規模な並列コンピューティング、CUDA(クーダ)などの技術が重要だというのですが、いざこの分野を体系的に教えてくれる講義を探すのが難しく、学習を始めるのも大変ですね。講義の豊富な例と背景知識の説明とともに基礎からついていけば十分にできますよ!

この講義では、C++/C プログラマが CUDA ライブラリと C++/C 関数を組み合わせて、さまざまな分野の問題を大規模並列処理手法で加速する方法を説明したいと思います。

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

  • 練習のためにNVIDIA CUDAが動作するハードウェア環境を事前に確保してください。
  • 一部のクラウド環境でもNVIDIA GeForceグラフィックカードを使用できますが、クラウド環境の設定は頻繁に変わり、有料の場合が多いです
  • 講義実習環境はカリキュラムの<00。講義前の準備>講義で詳しく確認できます。

講義の特徴✨

#1.
豊富
例と説明

CUDAと大規模並列コンピューティングでは、豊富な例と説明が必要です。

#2.
実習は必須!

コンピュータプログラミング科目なので、豊富な実習を強調し、実際に動作するソースコードを提供し、一つ一つ従いながら試してみることができます。

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

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


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

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

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

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

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

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

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

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

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

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


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

  • CUDAプログラミング講義は、トピックへの集中度を高めるために7つのシリーズ、合計24時間以上の講義で企画されました。
  • 各レッスンは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 プログラミングの中核となるメモリ構造を学習します。

パート4(3時間45分)

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

パート5 (3時間55分) 現在の講義

  • atomic operation & reduction - CUDA コントロールフローの理解に加えて、 atomic operation, reduction などの問題定義から解決まで学習します。

パート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 ++ プログラミングはある程度経験がなければなりません。
  • ただし、コンピュータ構造(レジスタ、キャッシュメモリなど)、オペレーティングシステム(タイムシェアリングなど)、コンパイラ(コード生成、コード最適化)などの理解があれば、講義内容をより深く理解することができます。
  • この講義の最初の設計は、4年制大学、コンピュータ専攻、卒業クラスの学生の深化学習用でした。

Q.講義を聞く前に準備すべきことはありますか?

  • 練習のためにNVIDIA CUDAが動作するハードウェア環境は事前に確保しておく必要あります。
  • 一部のクラウド環境でもNVIDIA GeForceグラフィックカードを使用できますが、クラウド環境の設定は頻繁に変わり、有料の場合が多く、クラウド環境であれば、グラフィックカードの使い方は受講生本人が解決しなければなりません。

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

  • パート0から出発して、パート1からパート6に上がるにつれて、より深い理論とより多くの理解が必要です。
  • 必ずパート0からパート6の順に、定走して受講することを強くお勧めします。
  • パート6の最後の部分で扱うカウンターマージ sortは、専門研究者もすぐに追いつくのは難しい程度の問題ですが、ちょっと続いていたオフライン受講生たちは前の学習をもとに、無難に理解したという方が多かったです。

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

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

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

  • はい、現在はすべての動画に字幕が含まれています。
  • ただし、今後追加される動画の一部には動画の字幕がない場合があります。

講義資料に使用したフォントに関する事項✔️

  • 動画とPDFファイルでは、Google / Adobeの無料フォントのみを使用しました。
  • ハングルフォントは「ボンゴシック」Noto Sans JP 、英語フォントはSource Sans ProSource Serif Proを使用し、
  • 次のリンクからすべて無料ダウンロードできます。
  • https://fonts.google.com/noto/specimen/Noto+Sans+JPから、「ダウンロードファミリー」としてZIPファイルにダウンロードしてインストール
  • https://fonts.google.com/specimen/Source+Sans+Proから、「ダウンロードファミリー」としてZIPファイルにダウンロードしてインストールする
  • https://fonts.google.com/specimen/Source+Serif+Proから、「ダウンロードファミリー」としてZIPファイルにダウンロードしてインストールする

こんな方に
おすすめです

学習対象は
誰でしょう?

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

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

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

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

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

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

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

こんにちは
です。

9,108

受講生

221

受講レビュー

64

回答

4.9

講座評価

30

講座

One more cup of drip coffee for the road

カリキュラム

全体

40件 ∙ (3時間 53分)

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

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

受講レビュー

全体

6件

5.0

6件の受講レビュー

  • hrham님의 프로필 이미지
    hrham

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    • 김동규님의 프로필 이미지
      김동규

      受講レビュー 2

      平均評価 5.0

      5

      30% 受講後に作成

      • 민영님의 프로필 이미지
        민영

        受講レビュー 5

        平均評価 5.0

        5

        30% 受講後に作成

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

          안녕하세요.🌞 좋은 평가를 해주셔서 감사합니다. 🍀 늘 행복한 시간 되세요.

      • 하지님의 프로필 이미지
        하지

        受講レビュー 5

        平均評価 5.0

        5

        100% 受講後に作成

        강의는 좋습니다. 어려워서 한번 다시 봐야할 것 같습니다.

        • 안녕하세요.🌞 좋은 평가를 해주셔서 감사합니다. 🍀 늘 행복한 시간 되세요.

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

        受講レビュー 25

        平均評価 5.0

        5

        8% 受講後に作成

        CUDA 프로그래밍에 아토믹 연산을 더해야 다양한 응용이 가능하군요. 자세한 설명 덕분에 쉽게 이해했습니다. 다음 강의가 기대 됩니다.

        • 안녕하세요.🌞 좋은 평가를 해주셔서 감사합니다. 🍀 늘 행복한 시간 되세요.

      ¥5,857

      onemoresipofcoffeeの他の講座

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

      似ている講座

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