cudaHostAllocMapped的一致性规则

时间:2013-04-05 16:01:03

标签: memory cuda gpgpu consistency mapped-memory

有没有人知道有关内存一致性模型的文档保证分配了cudaHostAlloc(..., cudaHostAllocMapped)的内存区域?例如,当来自设备的写入变得可见时,来自主机的读取将是有用的(可能是在内核完成之后,在内核执行期间的最早可能时间等)。

1 个答案:

答案 0 :(得分:1)

在执行线程执行__threadfence_system()调用(仅在计算能力2.0或更高版本上可用)之后,保证在主机(或对等设备)上可以看到设备写入。
在内核完成后,即在cudaDeviceSynchronize()之后或"Explicit Synchronization" section of the Programming Guide中列出的其他同步方法之一成功完成后,它们也可见。

当使用它的内核正在运行或者可能正在运行时,永远不应该从主机修改映射内存,因为CUDA目前在这个方向上没有提供任何同步方式。