【24h】

Optimizing data locality using array tiling

机译:使用阵列百口序优化数据局部性

获取原文

摘要

Data transformation is one of the key optimizations in maximizing cache locality. Traditional data transformation strategies employ linear data layouts, e.g., row-major or column-major, for multidimensional arrays. Although a linear layout matches the linear memory space well in most cases, it can only optimize for self-spatial locality for individual references. In this work, we propose a novel data layout transformation framework that is able to determine a tiled layout for each array in an application program. Tiled layout can exploit the group-spatial locality among different references and improve cache line utilization. In our strategy, the data elements accessed by different references in one loop iteration are placed into a tile and fetched into the same cache line at runtime. This helps minimizing conflict misses in caches. We evaluated our data layout transformation framework using 30 benchmarks on a commercial multicore machine. The experimental results show that our approach outperforms state-of-the-art data transformation strategies and works well with large core counts.
机译:数据转换是最大化缓存局部性的关键优化之一。传统数据转换策略采用线性数据布局,例如行 - 主要或列专业,用于多维数组。虽然线性布局在大多数情况下良好地匹配线性存储空间,但它只能针对单个参考的自空间局部进行优化。在这项工作中,我们提出了一种新的数据布局转换框架,其能够为应用程序中的每个阵列确定瓷砖布局。瓷砖布局可以利用不同的引用中的组空间局部性,并提高缓存线利用率。在我们的策略中,一个循环迭代中的不同引用访问的数据元素被放入图块中,并在运行时获取到同一缓存行中。这有助于最大限度地减少缓存中的冲突未命中。我们在商业多核机器上使用30个基准进行了评估了我们的数据布局转换框架。实验结果表明,我们的方法优于最先进的数据转换策略,并适用于大核心计数。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号