论文标题
looplets:一种结构化仪式的语言
Looplets: A Language For Structured Coiteration
论文作者
论文摘要
现实世界中的数组通常包含基础结构,例如稀疏性,重复值或对称性。专门用于结构会产生明显的加速。但是,自动为结构化数据生成有效的代码很具有挑战性,尤其是当具有不同结构相互作用的数组时。我们展示了如何在数组结构上抽象,以便编译器可以生成代码以在它们的任何组合上涂层。我们的技术启用了新的阵列格式(例如用于不规则聚类稀疏性的1DVBL),新的迭代策略(例如疾驰的交叉点)以及对结构化数据(例如串联或卷积)的新操作。
Real world arrays often contain underlying structure, such as sparsity, runs of repeated values, or symmetry. Specializing for structure yields significant speedups. But automatically generating efficient code for structured data is challenging, especially when arrays with different structure interact. We show how to abstract over array structures so that the compiler can generate code to coiterate over any combination of them. Our technique enables new array formats (such as 1DVBL for irregular clustered sparsity), new iteration strategies (such as galloping intersections), and new operations over structured data (such as concatenation or convolution).