Extending Index-Array Properties for Data Dependence Analysis

Extending Index-Array Properties for Data Dependence Analysis
复制标题

扩展索引数组属性以进行数据依赖性分析

DOI:
--
复制
发表时间:
2018
期刊:
International Workshop on Languages and Compilers for Parallel Computing
影响因子:
--
通讯作者:
M. Strout
M. Strout
中科院分区:
--
文献类型:
--
作者:
M. Mohammadi;Kazem Cheshmi;M. Dehnavi;Anand Venkat;Tomofumi Yuki;M. Strout

文献摘要

被引文献

相似文献

自动并行化是一种编译器分析串行代码并识别可以重写以利用并行性的计算的方法。已经开发了许多数据依赖性分析技术来确定代码中的哪些循环可以并行化。对于包含通过通常称为索引数组的间接数组访问的代码,这种数据依赖性分析仅限于在编译时得出的结论。使用索引数组属性(例如单调性)的各种方法已被证明可以更有效地查找并行循环。在本文中,我们扩展了可以表达的索引数组的属性类型,展示了如何将循环携带的数据依赖关系和相关索引数组属性转换为可以提供给 Z3 SMT 求解器的约束,并评估使用此类索引数组属性对在一组数值基准中识别并行循环的影响。
Automatic parallelization is an approach where a compiler analyzes serial code and identifies computations that can be rewritten to leverage parallelism. Many data dependence analysis techniques have been developed to determine which loops in a code can be parallelized. With code that includes indirect array accesses through what are commonly called index arrays, such data dependence analysis is restricted in the conclusions that can be drawn at compile time. Various approaches that use index array properties such as monotonicity have been shown to more effectively find parallel loops. In this paper, we extend the kinds of properties about index arrays that can be expressed, show how to convert loop-carried data dependence relations and relevant index-array properties to constraints that can be provided to the Z3 SMT solver, and evaluate the impact of using such index-array properties on identifying parallel loops in a set of numerical benchmarks.