三重山括弧による起動
>>でカーネルを呼び出します。
「三重山括弧による起動」はCoddyKit上の無料CUDA Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCUDA Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CUDA Academyコースには全4レッスンが含まれています。
起動は通常の呼び出しと異なる
カーネルは通常の関数のようには呼び出しません。GPUに同時に起動するスレッド数を指定して起動します。🚀
<<< >>>構文
起動にはCUDA独自の三重山括弧を使います。その内部で、通常の引数リストの前に起動構成を指定します。
myKernel<<<blocks, threads>>>(args);1つ目の数:ブロック数
1つ目の値で起動するブロック数を指定します。ブロックは一緒に実行され、高速なチップ上メモリを共有するスレッドのグループです。
myKernel<<<4, threads>>>(args); // 4 blocks2つ目の数:ブロックあたりのスレッド数
2つ目の値でブロックあたりのスレッド数を指定します。起動される総スレッド数は、ブロック数とブロックあたりのスレッド数の積です。
myKernel<<<4, 256>>>(args); // 1024 threadsその後に引数を指定する
括弧の後には、通常のC++の呼び出しと同じように、カーネルの引数を丸括弧内に渡します。
doubleIt<<<1, 256>>>(devicePtr);起動は非同期
起動は非同期です。CPUは処理をキューに入れるとすぐに次へ進み、GPUはバックグラウンドでカーネルを実行します。
構成には変数も使える
起動時の数値はリテラルである必要はありません。実行時にデータサイズからブロック数を計算することがよくあります。
int blocks = (n + 255) / 256;
add<<<blocks, 256>>>(c, a, b, n);2Dにはdim3を使う
2Dまたは3Dのグリッドやブロックには、dim3型の値を使います。x、y、zのサイズをまとめて起動時に指定できます。
dim3 threads(16, 16);
blur<<<grid, threads>>>(img);ブロックあたりのスレッド数を選ぶ
ブロックあたりのスレッド数には、128または256が無難な既定値です。値は32の倍数で、1024以下でなければなりません。
kernel<<<blocks, 128>>>(data);不適切な構成は失敗する
ブロックあたりのスレッド数が多すぎると、起動は何も知らせずに失敗します。起動直後にエラーを確認する必要があります。
kernel<<<1, 2048>>>(p); // too big, fails左から右へ読む
起動は、「このカーネルを、これだけのスレッドからなるこれだけのブロックで、これらの引数を使って実行する」と読みます。一度理解すれば簡単です。
vectorAdd<<<grid, block>>>(c, a, b, n);クイックチェック
起動構成を確認しましょう。
まとめ:起動
kernel<<
AI チューターと学ぶ C++ — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「三重山括弧による起動」レッスンは無料ですか?
はい。「三重山括弧による起動」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CUDA Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CUDA Academyコースには全4レッスンが含まれています。
「三重山括弧による起動」で何を学びますか?
>>でカーネルを呼び出します。 ブラウザで直接実行するハンズオンコードでCUDA Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CUDA Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCUDA Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「三重山括弧による起動」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCUDA Academyレッスンでコードを書いて実行できますか?
はい。すべてのCUDA Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。