Skip to content

LexSchedule and Map Creation

Creation of LexSchedule (and corresponding islpy maps) for a pair of statements. A schedule is a mapping from statement instances to points in a lexicographic ordering. This can be done for any pair of statements, but the intended use involves pairs of statements connected by a dependency.

Other notes about this MR:

  • This is a subset of the work done in WIP: Adding linearization checker, and also contains some improvements I made while extracting this functionality from the rest of the larger MR:
    1. improved encapsulation approach for LexSchedule and map creation (i.e., more modular, less one-huge-long-function) and added new docstrings,
    2. improved algorithm for LexSchedule creation so that integer lex dims are not incremented unnecessarily when a block of code didn't contain any statements,
    3. fixed minor bugs in LexSchedule/item str methods,
    4. added independent test for schedule+map creation

@inducer @mattwala

Edited by James Stevens

Merge request reports

Loading