【问题标题】:Consistency Rules for cudaHostAllocMappedcudaHostAllocMapped 的一致性规则
【发布时间】:2013-03-28 03:14:42
【问题描述】:

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

【问题讨论】:

  • 您可以在 cc 2.0 或更高版本的设备上使用 __threadfence_system() 强制更新在使用 cudaHostAlloc 分配的内存区域中可见。

标签: memory cuda gpgpu consistency mapped-memory


【解决方案1】:

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

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

【讨论】:

  • 感谢 tera 的回答,这正是我想要的。
猜你喜欢
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 2018-11-22
  • 1970-01-01
  • 2017-10-13
  • 2018-12-24
  • 1970-01-01
相关资源
最近更新 更多