数据设计、性能模型与并行算法的深度解析
1. 压缩稀疏表示的优势
压缩稀疏表示在内存和性能方面均有显著优势。在多材料数据表示的案例研究中,以单元为中心的压缩稀疏数据结构,由于所分析的内核更适合该结构,在内存和运行时间上表现最佳。而以材料为中心的数据布局的内核,结果则稍倾向于以材料为中心的数据结构。但总体而言,压缩稀疏表示相比全矩阵表示有巨大改进。
许多处理稀疏数据的应用都能从压缩稀疏数据结构中受益。通过类似本节的快速性能分析,可判断在这些应用中采用该结构是否值得额外投入精力。
2. 高级性能模型
存在更高级的性能模型,能更好地捕捉计算机硬件的特性。主要关注带宽受限的内核,因为它们代表了大多数应用的性能限制。最初通过计算内核加载和存储的字节数,并基于流基准测试或屋顶线模型估算数据移动时间。但计算机硬件的操作单位实际是缓存行,通过计算需要加载和存储的缓存行,可改进性能模型,同时还能估算缓存行的使用情况。
流基准测试由复制、缩放、加法和三元组四个内核组成,但这些内核的带宽存在差异(16156.6 - 22086.5 MB/s)。算术强度的差异并非主要原因,在带宽受限的情况下,算术操作的微小差异影响较小,且与算术操作的相关性不高。缩放操作带宽最低的真正原因在于系统缓存层次结构的细节。缓存系统并非像流基准测试所暗示的那样,是一个稳定流水的管道,更像一个接力传递数据的桶队,不同层次的缓存有不同数量和大小的桶,如下面的 mermaid 流程图所示:
graph LR
DRAM --> L3
L3 --> L2
L2 --> L1
超级会员免费看
订阅专栏 解锁全文
2435

被折叠的 条评论
为什么被折叠?



