理解が間違っている場合は訂正してください。
err= clEnqueueNDRangeKernel(command_queue,kernel,1,NULL,global,wg,0,NULL,&gpuExec);
カーネルがGPUで実行されている場合、CPUコード(これら2つの関数の間に記述されている)はCPUで同時に実行されますか?
err=clEnqueueReadBuffer(command_queue,output,CL_TRUE,0,sizeof(cl_int)*100,results,0,NULL,NULL);
2)この機能
err= clEnqueueNDRangeKernel(command_queue,kernel,1,NULL,global,wg,0,NULL,&gpuExec);
すぐに戻り、CPUはこの関数呼び出しの後に別の作業を実行できます(つまり、カーネルが異なるコアのGPUで実行を開始した後)、同時にカーネルの実行中に、CPUは別の作業を実行できますか?