3.2.5.1 ホスト-デバイス間並行実行

ホストとデバイス間で並行実行を促進するために、いくつかの関数呼び出しは非同期になっています: 制御はデバイスが要求されたタスクを完了する前にホストスレッドに戻ります。
  • カーネル起動
  • デバイス-デバイス間メモリコピー
  • 64KB以下のメモリブロックのホスト-デバイス間メモリコピー
  • 関数名の接尾に Async がついている関数を用いたメモリコピー
  • メモリセット関数呼び出し
プログラマは CUDA_LAUNCH_BLOCKING 環境変数を1にセットすることでシステム上の全CUDAアプリケーションで非同期カーネル起動を行わないようにできます。この機能はデバッグ用途でのみを想定して提供しており、決して製品バージョンで利用すべきではありません。

アプリケーションがCUDAデバッガ/プロファイラ(cuda-gdb, CUDA VIsual Profiler, Parallel Nsight)を通して実行される場合、前期堂は同期的に行われます。


Comments