当前位置: X-MOL 学术Int. J. Parallel. Program › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Monoparametric Tiling of Polyhedral Programs
International Journal of Parallel Programming ( IF 1.5 ) Pub Date : 2021-03-18 , DOI: 10.1007/s10766-021-00694-2
Guillaume Iooss , Christophe Alias , Sanjay Rajopadhye

Tiling is a crucial program transformation, adjusting the ops-to-bytes balance of codes to improve locality. Like parallelism, it can be applied at multiple levels. Allowing tile sizes to be symbolic parameters at compile time has many benefits, including efficient autotuning, and run-time adaptability to system variations. For polyhedral programs, parametric tiling in its full generality is known to be non-linear, breaking the mathematical closure properties of the polyhedral model. Most compilation tools therefore either perform fixed size tiling, or apply parametric tiling in only the final, code generation step. We introduce monoparametric tiling, a restricted parametric tiling transformation. We show that, despite being parametric, it retains the closure properties of the polyhedral model. We first prove that applying monoparametric partitioning (i) to a polyhedron yields a union of polyhedra with modulo conditions, and (ii) to an affine function produces a piecewise-affine function with modulo conditions. We then use these properties to show how to tile an entire polyhedral program. Our monoparametric tiling is general enough to handle tiles with arbitrary tile shapes that can tesselate the iteration space (e.g., hexagonal, trapezoidal, etc). This enables a wide range of polyhedral analyses and transformations to be applied.



中文翻译:

多面体程序的单参数平铺

平铺是至关重要的程序转换,它可以调整代码的操作字节平衡以提高本地性。像并行性一样,它可以应用于多个级别。在编译时将图块大小作为符号参数具有许多好处,包括有效的自动调整和对系统变化的运行时适应性。对于多面体程序,众所周知,参数平铺在全部方面都是非线性的,这破坏了多面体模型的数学闭合特性。因此,大多数编译工具要么执行固定大小的平铺,要么仅在最后的代码生成步骤中应用参数平铺。我们介绍了单参数平铺,这是一种受限制的参数平铺转换。我们显示,尽管是参数化的,但它保留了多面体模型的闭合特性。我们首先证明,将单参数分区(i)应用于多面体会产生具有模数条件的多面体的并集,并且(ii)对仿射函数会产生具有模数条件的分段仿射函数。然后,我们使用这些属性来显示如何平铺整个多面体程序。我们的单参数平铺足够通用,可以处理具有任意瓷砖形状的瓷砖,这些瓷砖形状可以细分迭代空间(例如,六边形,梯形等)。这使得可以应用多种多面体分析和转换。我们的单参数平铺足够通用,可以处理具有任意瓷砖形状的瓷砖,这些瓷砖形状可以细分迭代空间(例如,六边形,梯形等)。这使得可以应用多种多面体分析和转换。我们的单参数平铺足够通用,可以处理具有任意瓷砖形状的瓷砖,这些瓷砖形状可以细分迭代空间(例如,六边形,梯形等)。这使得可以应用多种多面体分析和转换。

更新日期:2021-03-19
down
wechat
bug