本帖最后由 cudaabc 于 2013-5-20 16:58 编辑
for (int i = 0; i < 2; ++i){
cudaMemcpyAsync(inputDevPtr + i * size, hostPtr + i * size,
size, cudaMemcpyHostToDevice, stream);
MyKernel<<<100, 512, 0, stream>>> (outputDevPtr + i * size, inputDevPtr + i * size, size);
cudaMemcpyAsync(hostPtr + i * size, outputDevPtr + i * size, size, cudaMemcpyDeviceToHost, stream);
}
有资料上看到 cuda stream 是一系列并发执行的命令,相对无序列,这种行为没有保证,无正确性保证.
那么cuda stream在函数中主要的作用是什么呢?
|