返回
摘要
En 中文
循环分块是一种广泛使用的循环变换技术,用于增强数据局部性并允许数据复用。然而,在分块代码中,不同大小的分块会导致性能出现显著差异。因此,选择最优分块大小对于分块代码的性能至关重要。
过去,研究人员尝试使用静态分析模型和动态经验模型(自动调优)来进行分块大小选择。使用静态模型的研究工作在分析时假设采用直接映射缓存,因此证明其鲁棒性较差。另一方面,自动调优模型需要在庞大的分块代码空间中进行穷举搜索。在本文中,我们提出了一种新的分块大小选择分析模型,利用现代缓存的高组相联性来最小化冲突缺失。我们的分块大小选择模型针对多级缓存中的数据复用。此外,在估算最优分块大小时,它考虑了分块与现代处理器中SIMD单元的交互作用。我们发现,这些未在先前模型中考虑的因素对于开发鲁棒的分块大小选择模型至关重要。我们将分块大小选择模型实现于多面体编译器中,并使用两种不同问题规模对12个基准内核进行了测试。我们的模型优于基于单级缓存数据复用的先前分析模型,相对于两种问题规模下最佳正方形(立方体)分块,分别实现了平均9.7%和20.4%的性能提升。此外,由我们的分块大小选择算法选定的分块大小与通过广泛搜索获得的最佳性能大小相近,验证了该算法基础上的分析模型。
AI总结
对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。
期刊
暂无期刊信息
机构
暂无机构信息
引用论文
暂无论文信息

