loopy icon indicating copy to clipboard operation
loopy copied to clipboard

Statement instance order and lex order map

Open jdsteve2 opened this issue 3 years ago • 3 comments

NOTE: This PR has been subsumed by #479, which targets main. This PR still targets new-dependency-and-nest-constraint-semantics-development.

What's changed:

Last merged PR (parent of this PR):

  • Generate a pairwise schedule for each provided pair of statements. Ignore concurrency.

This PR:

  • Generate three pairwise schedules for each provided pair of statements which handle intra-thread, intra-group, and global ordering.
  • Generate three lex order maps (LOM), one for each pairwise schedule
    • A LOM represents a lexicographic ordering as a map from each point in the ordering to every point occurring later in the ordering.
    • The LOM for the intra-thread case is a standard big-endian lexicographic ordering. The LOMs for the intra-group and global cases begin as a standard ordering, and then certain pairs are removed.
  • Using each pairwise schedule and its corresponding LOM, create a statement instance ordering, which maps each statement instance to all statement instances that occur later.

Note: The use of SIOs for dependency checking is not part of this PR.

Moved to github from old gitlab MR.

Previous (upstream) PR in chain Next (downstream) MR in chain

Subsumed by #479.

jdsteve2 avatar Nov 10 '20 19:11 jdsteve2

To cut down on noise in my email, I'm unsubscribing from this PR. When it next needs my attention, please @-mention me or hit the "request review" button. Otherwise, I may not see your messages in a timely manner.

inducer avatar Mar 12 '21 14:03 inducer

@inducer This is ready for review. My initial priority is finding any bugs/functional problems that would affect correctness and downstream PRs. Second priorities are code style, time complexity, etc.

Thank you!

jdsteve2 avatar Mar 28 '21 23:03 jdsteve2

@inducer I made the changes we discussed yesterday (returning a named tuple)

jdsteve2 avatar Apr 01 '21 00:04 jdsteve2