カーネル関数が GPU キューに追加されるのはどの時点かを知る必要があります。私は CUDA プログラムの ltrace を実行し、1.cudaconfigurecall 2.cudamemcpy のようないくつかの呼び出しを取得し、cudaLaunch() も取得しました。私の質問は、cudaLaunch が呼び出されたとき、またはその前後に特定のカーネル関数が追加されるかどうかです。カーネル関数をキューに追加する機能はどれですか?
カーネル関数が GPU キューに追加されるのはどの時点かを知る必要があります。私は CUDA プログラムの ltrace を実行し、1.cudaconfigurecall 2.cudamemcpy のようないくつかの呼び出しを取得し、cudaLaunch() も取得しました。私の質問は、cudaLaunch が呼び出されたとき、またはその前後に特定のカーネル関数が追加されるかどうかです。カーネル関数をキューに追加する機能はどれですか?
cudaLaunch
が呼び出されると関数が追加されます。cudaSetupArgument
や、 reserve 、 intialiseなどの以前の API 呼び出しは、次のカーネル起動のためにスタック フレームを呼び出しますが、スタック フレームは特定のカーネル関数に関連付けられず、が呼び出されるcudaConfigureCall
までデバイスにプッシュされません。cudaLaunch
これらの関数はすべて、CUDA ツールキットに独自のドキュメントがあり、ここで読むことができます。