Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Statement instance order and lex order map #169

Open
wants to merge 290 commits into
base: new-dependency-and-nest-constraint-semantics-development
Choose a base branch
from

Conversation

jdsteve2
Copy link
Collaborator

@jdsteve2 jdsteve2 commented Nov 10, 2020

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.

…ent_pairs(); don't hardcode expected lex order maps, instead create them to match expected dim size
…t' into statement-instance-order-and-lex-order-map
jdsteve2 and others added 27 commits September 13, 2021 03:11
…ple inames tagged with the same parallel iname tag
…concurrent loops; enable removal of redundant pass over instructions by computing max_depth_of_barrier_loop in first pass
…nested_loops in _gather_blex_ordering_info()
…_info; rename loops_with_barriers->seq_loops_with_barriers for clarity
…ion _pad_tuples_and_assign_integer_vals_to_map_template
…ow computed by starting with TOP/BOTTOM and then applying the appropriate loop bound
…make our mechanisms that account for the effect of *local* barriers on execution order view *global* barriers as also having that effect
…so syncronize threads *within* a work-group, make our mechanisms that account for the effect of *local* barriers on execution order view *global* barriers as also having that effect)
@jdsteve2 jdsteve2 marked this pull request as ready for review September 17, 2021 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants