Skip to content

Precision of dependency analysis for barrier insertion #225

@Bastacyclop

Description

@Bastacyclop

Issue related to #18 and remaining after #80.

Shine uses a very coarse dependency analysis: memory accesses are tracked for entire allocations. By contrast, Lift tries to reason about data sharing based on the functional patterns used in the program.
Lift generates less barriers in multiple tests for this reason. However, a more precise dependency analysis could easily be integrated into Shine's algorithm. I observed that finer-grained tracking of accessed intervals would even enable Shine to generate less
barriers than Lift in a couple of tests. This would be achieved by adjusting the analysis data to include the intervals accessed by each thread as a symbolic natural number for each thread.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgenerated codeChanges to the code that our compiler generates

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions