有人知道关于cudaHostAlloc(..., cudaHostAllocMapped)
分配的内存区域的内存一致性模型保证的文档吗?例如,当来自设备的写入对来自主机的读取可见时,这将是有用的(可以在内核完成之后,在内核执行过程中尽可能早的时间,等等)。
保证在执行线程执行__threadfence_system()
调用(仅在计算能力2.0或更高版本上可用)之后,来自设备的写入在主机(或对端设备)上是可见的。
在内核完成后,也可以看到它们,例如,在cudaDeviceSynchronize()
或在编程指南的"显式同步"部分中列出的其他同步方法之一成功完成后。
映射的内存永远不应该从主机修改,而内核使用它是或可能运行,因为CUDA目前不提供任何同步的方式在那个方向