collamark
Mark the best lines
Install CollaMark
consistency-agnostic 和 consistency-directed
这种时间一致性变体强制执行 SWMR,只要 GPU 线程按程序顺序发出内存操作,就会强制执行 SC
一种基于自失效 (self-invalidation) 的方法来执行称为时间一致性 (temporal coherence) 的一致性
只允许 CTA 内同步的 scoped memory consistency 模型。
允许跨所有线程同步的严格和直观的 memory consistency model;和 执行 consistency model 的 coherence 协议,同时允许有效的数据共享和同步
一种解决方法是可能的,利用直接针对内存层次结构的特定级别的特殊 load 和 store 指令。
尽管 FENCE 确保两个 store 以正确的顺序写入 SM1 的 L1,但在没有硬件 cache coherence 的情况下,它们可能以不同的顺序对 T2 可见。这就是为什么早期的 GPU 编程手册明确禁止在同一内核的线程之间进行这种类型的 CTA 间同步。
GPU FENCE 提供类似的语义,但仅针对属于同一 CTA 的其他线程。一个推论是 GPU store 缺乏原子性。
GPU 仅强制执行程序员指示的内存顺序,例如,通过 FENCE 指令。
为什么要向软件公开线程和内存层次结构?在没有硬件 cache coherence 的情况下,这允许程序员和硬件协同高效地实现同步。
NVIDIA 的虚拟 ISA 被称为并行线程执行 (PTX)
由于图形工作负载不会频繁共享数据或同步(同步和通信通常很少以较粗的粒度级别发生),早期的 GPU 选择不为 L1 缓存实现硬件 cache coherence。
CPU 和加速器还可以共享内存端的最后一级高速缓存 (last-level cache, LLC)
一个有希望的趋势是公开跨 CPU 和加速器的全局共享内存接口 (global shared memory interface)
执行序列是(f)-(i)-(a)-©-(d)-(e)
store指令(e)在全局序上不能超越(d)
当且仅当两个load中间没有对这一地址的写,且返回不同的值时(实际上是返回不同的写,不一定值不相同),要保证读的顺序不能乱。
Coherence强调的是同一个东西的不同部分的匹配程度,Consistency强调的是不同的东西是否拥有一致的属性。
如果你能在一个chip上做好图优化,那你也可以使用同样的方法扩展到整个集群。不需要像nvidia一样使用多层不同的软件和硬件扩展集群(nvlink和melanox)
多处理器体系结构里关键的三个方面:缓存一致性、存储一致性和同步
More
Terms
Privacy Policy
Contact