Skip to content

JIT: refactor edge weight representation #46885

Closed

Description

@AndyAyersMS

Modify how we represent edge weights in the jit; instead of being discrete weight values they should be computed as the product of the source block's weight times its successor likelihood. Also, we should just have one weight value instead of the current min/max weights.

The goal here is to change the maintenance burden from updating weights to updating likelihoods, so profile maintenance is more block centric.

Edge weights are currently only used / computed during PGO. If we adopt an edge-based profiling scheme (as proposed in #46882) then edge weights will initially be the primary source of data.

This also lays the groundwork for profile synthesis.

First bit of this has landed: #81738

category:cq
theme:profile-feedback
skill-level:expert
cost:large

Activity

  1. ghost added
    area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
    on Jan 12, 2021
  2. ghost added
    untriagedNew issue has not been triaged by the area owner
    on Jan 12, 2021
  3. added this to the 6.0.0 milestone on Jan 12, 2021
  4. removed
    untriagedNew issue has not been triaged by the area owner
    on Jan 12, 2021
  5. AndyAyersMS commented on Jan 12, 2021

    @AndyAyersMS
    MemberAuthor

    See master...AndyAyersMS:EdgeWeights for a preliminary attempt.

  6. added
    needs-further-triageIssue has been initially triaged, but needs deeper consideration or reconsideration
    on Mar 23, 2021
  7. AndyAyersMS commented on Mar 30, 2021

    @AndyAyersMS
    MemberAuthor

    Would like to find room for this in 6.0 but it may be too disruptive and the gains (aside from much cleaner code in the jit proper are unknown). So moving to future.

  8. removed
    needs-further-triageIssue has been initially triaged, but needs deeper consideration or reconsideration
    on Mar 30, 2021
  9. modified the milestones: 6.0.0, Future on Mar 30, 2021
  10. AndyAyersMS commented on Sep 3, 2024

    @AndyAyersMS
    MemberAuthor

    This is now done... #99736

  11. locked and limited conversation to collaborators on Oct 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions