Stencil computation is one of the most important kernels in various scientific and engineering applications. A variety of work has focused on vectorization techniques, aiming at exploiting the in-core data parallelism. Briefly, they either incur data alignment conflicts or hurt the data locality when integrated with tiling. In this paper, a novel transpose layout is devised to preserve the data locality for tiling in the data space and reduce the data reorganization overhead for vectorization simultaneously. We then propose an approach of temporal computation folding designed to further reduce the redundancy of arithmetic calculations by exploiting the register reuse, alleviating the increased register pressure, and deducing generalization with a linear regression model. Experimental results on the AVX-2 and AVX-512 CPUs show that our approach obtains a competitive performance.
翻译:Stencils 计算是各种科学和工程应用中最重要的内核之一,各种工作都集中在矢量化技术上,目的是利用核心数据的平行性。简而言之,它们要么造成数据对齐冲突,要么在与平铺合并时损害数据位置。在本文中,设计了一个新的转换布局,以保存数据空间中铺设砖块的数据位置,同时减少传量化的数据重组间接费用。然后,我们提出了一个时间计算折叠办法,目的是通过利用登记册的再利用,减轻登记压力的增加,以及用线性回归模型解析一般化,进一步减少计算算术的冗余。AVX-2和AVX-512 CPU的实验结果显示,我们的方法具有竞争性。