CUDA Academy · レッスン

Occupancyがすべてではない理由

生のOccupancyよりレイテンシー隠蔽が有効な場合を学びます。

レッスン 4/413 ステップ

「Occupancyがすべてではない理由」はCoddyKit上の無料CUDA Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCUDA Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CUDA Academyコースには全4レッスンが含まれています。

よくある落とし穴

100%のOccupancyを追い求めたくなりますが、Occupancyが最大でも、パフォーマンスが最大になるとは限りません。

目的はレイテンシを隠すこと

Occupancyが重要なのは、レイテンシを隠すのに役立つからです。レイテンシを隠せるようになると、それ以上warpを増やしても役立ちません。

十分な量で止める

多くのカーネルは、Occupancyがわずか50%でも最高速度に達します。その先では収穫逓減が起こるため、別の箇所を調整した方が効果的です。

命令レベルの並列性

スレッドが複数の独立した処理を行うと、それだけでレイテンシを隠せるため、処理を維持するために必要な常駐warpが少なくなります。

レジスタを賢く使う

スレッドにより多くのレジスタを与えるとOccupancyは下がる場合がありますが、メモリアクセスとスピルが減るため、カーネルが高速になることがあります。

メモリ律速のカーネル

カーネルがメモリ帯域幅によって制限されている場合、warpを増やしても効果はありません。よりよいアクセスパターンが必要です。

計算律速のカーネル

演算ユニットが飽和している場合、カーネルは計算律速です。Occupancyを増やしても、演算性能の上限を超えることはできません。

プロファイラーを信頼する

起動設定を変更する前に、Nsight Computeでメモリ律速なのか計算律速なのかを確認しましょう。

思い込まずベンチマークする

信頼できる唯一の判断材料は実行時間です。いくつかのブロックサイズを試し、実データで最も速く実行できるものを採用してください。

症状としてのOccupancy

occupancy が低いことは、手がかりであって結論ではありません。なぜ低いのかを調べ、本当に引き上げることで改善するのかを判断してください。

バランスの取れた考え方

適切なチューニングでは、occupancy、レジスタ使用量、メモリの動作を総合的にバランスさせ、1つの指標ではなく実際のボトルネックを最適化します。

クイックチェック

occupancy を増やしてもカーネルの改善につながらなくなるのはどんなときか、思い出してください。

まとめ

occupancyは目的ではなく手段であることを学びました。レイテンシを隠し、本当のボトルネックを見つけ、最終的な判断はベンチマークに委ねてください。🏁

無料で開始

AI チューターと学ぶ C++ — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「Occupancyがすべてではない理由」レッスンは無料ですか?

はい。「Occupancyがすべてではない理由」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CUDA Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CUDA Academyコースには全4レッスンが含まれています。

「Occupancyがすべてではない理由」で何を学びますか?

生のOccupancyよりレイテンシー隠蔽が有効な場合を学びます。 ブラウザで直接実行するハンズオンコードでCUDA Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

CUDA Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCUDA Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「Occupancyがすべてではない理由」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCUDA Academyレッスンでコードを書いて実行できますか?

はい。すべてのCUDA Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Occupancyの本当の意味
  2. レジスターと共有メモリの制限
  3. Occupancy Calculator API
  4. Occupancyがすべてではない理由
← CUDA Academyに戻る