いくつかの説明が必要なクエリがいくつかあります..非常に基本的なように思われる場合は申し訳ありません。
clEnqueueNDRangeKernel を使用してカーネルを開始すると、ホスト コードに実際に何が起こるか、カーネルが完了するのを待つか、..?
複数のカーネルがあるとします。この場合はどうなりますか? カーネルの 1 つが完了した場合、ホストは他のカーネルがまだ計算を行っている間にそのカーネルから結果を取得できますか?
clCreateBuffer の OpenCL 仕様を読んでいました (ここにリンク)。フラグ CL_MEM_USE_HOST_PTR の説明を確認してください。便宜上、ここに投稿しました: 「これは、メモリ オブジェクトのストレージ ビットとして、host_ptr によって参照されるメモリを OpenCL 実装でアプリケーションが使用することを望んでいることを示しています。」
「アプリケーション」と「opencl実装」が正確に何を意味するのかわかりません。さらに、「OpenCL 実装はバッファの内容をキャッシュすることが許可されている」とも書かれています。