【发布时间】:2016-04-20 15:16:02
【问题描述】:
我遇到了一些问题在使用推力库中的函数时,我不确定是否应该在它之前手动添加 cudaDeviceSynchronize。例如,
double dt = 0;
kernel_1<<<blocks, threads>>>(it);
dt = *(thrust::max_element(it, it + 10));
printf("%f\n", dt);
由于 kernel_1 是非阻塞的,主机将执行下一条语句。问题是我不确定推力::max_element 是否阻塞。如果它被阻塞,那么它工作得很好;否则,主机会跳过它并执行“printf”语句吗?
谢谢
【问题讨论】: