Table of Contents
Fetching ...

A semi-algebraic model for automatic loop parallelization

Changbo Chen

TL;DR

This work develops a semi-algebraic framework to extend automatic loop parallelization beyond affine, using semi-algebraic sets and CAD-based decomposition to handle dependence analysis, schedule computation, and loop transformation for perfectly nested polynomial loops. By associating CAD cells with nested loop structures and employing quantifier elimination, the approach derives valid schedules that maximize parallelism while preserving data dependencies, and provides a transformation pipeline mapping the original loop into a CAD-guided, parallelizable form. The key contributions include formalizing dependence analysis via $DS$ and $DS_z$, proposing a CAD-driven method to compute valid schedules through $E_V$ and $E_T$, and proving a bijective correspondence between original and transformed iteration spaces under the CAD framework. The work offers a principled path toward automatic parallelization of nonlinear loop nests, with practical impact contingent on advancing CAD/QE optimizations and exploiting problem structure to achieve scalable compiler implementation.

Abstract

In this work, we introduce a semi-algebraic model for automatic parallelization of perfectly nested polynomial loops, which generalizes the classical polyhedral model. This model supports the basic tasks for automatic loop parallelization, such as the representation of the nested loop, the dependence analysis, the computation of valid schedules, as well as the transformation of the loop program with a valid schedule.

A semi-algebraic model for automatic loop parallelization

TL;DR

This work develops a semi-algebraic framework to extend automatic loop parallelization beyond affine, using semi-algebraic sets and CAD-based decomposition to handle dependence analysis, schedule computation, and loop transformation for perfectly nested polynomial loops. By associating CAD cells with nested loop structures and employing quantifier elimination, the approach derives valid schedules that maximize parallelism while preserving data dependencies, and provides a transformation pipeline mapping the original loop into a CAD-guided, parallelizable form. The key contributions include formalizing dependence analysis via and , proposing a CAD-driven method to compute valid schedules through and , and proving a bijective correspondence between original and transformed iteration spaces under the CAD framework. The work offers a principled path toward automatic parallelization of nonlinear loop nests, with practical impact contingent on advancing CAD/QE optimizations and exploiting problem structure to achieve scalable compiler implementation.

Abstract

In this work, we introduce a semi-algebraic model for automatic parallelization of perfectly nested polynomial loops, which generalizes the classical polyhedral model. This model supports the basic tasks for automatic loop parallelization, such as the representation of the nested loop, the dependence analysis, the computation of valid schedules, as well as the transformation of the loop program with a valid schedule.
Paper Structure (10 sections, 2 theorems, 3 equations)

This paper contains 10 sections, 2 theorems, 3 equations.

Key Result

Theorem 1

Let ${\cal L}:=P, L_1,\ldots,L_s, stmt$ be a perfectly nested loop. Let $\mathbf{y}=M(\mathbf{x}, \mathbf{v}, \mathbf{n})$ be a parametric schedule of ${\cal L}$, which is valid when the parameters take the value from $E_V$. Let $T_{\cal L}$ be the CAD tree resulted from applying $M$ to ${\cal L}$ s

Theorems & Definitions (4)

  • Theorem 1
  • proof
  • Theorem 2
  • proof