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

SuperPMI benchmarks run should enable tiered compilation and pgo #68179

Closed
Tracked by #79018
AndyAyersMS opened this issue Apr 18, 2022 · 2 comments · Fixed by #84483
Closed
Tracked by #79018

SuperPMI benchmarks run should enable tiered compilation and pgo #68179

AndyAyersMS opened this issue Apr 18, 2022 · 2 comments · Fixed by #84483
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone

Comments

@AndyAyersMS
Copy link
Member

AndyAyersMS commented Apr 18, 2022

Currently we run the benchmarks SPMI collection with TC disabled (and R2R disabled), and just run a single iteration. Among other things this means we're not collecting any OSR instances.

This differs from the product default that has TC enabled and now OSR. It would be nice to find a way to collect data that more closely represents how these benchmarks are actually run in the lab and by customers. This likely requires allowing BDN to go something closer to its normal iteration strategy, which in turn may end up taking a much longer time (eg a full run takes ~16+ hours on one machine; I don't know how many partitions we create). I think we can tamp down the final iteration count and just run one so perhaps it will not be too bad.

As a bonus it would also be nice to enable a similar collection with dynamic PGO.

There is a small risk that SPMI + checked jit (if we use one) will create altered timing and so the collection still won't reflect the actual usage (eg methods may tier up more slowly and so impact BDN's iteration strategy).

category:eng-sys
theme:super-pmi
skill-level:intermediate
cost:medium
impact:medium

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Apr 18, 2022
@jeffschwMSFT jeffschwMSFT added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Apr 20, 2022
@ghost
Copy link

ghost commented Apr 20, 2022

Tagging subscribers to this area: @JulieLeeMSFT
See info in area-owners.md if you want to be subscribed.

Issue Details

Currently we run the benchmarks SPMI collection with TC disabled (and R2R disabled), and just run a single iteration. Among other things this means we're not collecting any OSR instances.

This differs from the product default that has TC enabled and now OSR. It would be nice to find a way to collect data that more closely represents how these benchmarks are actually run in the lab and by customers. This likely requires allowing BDN to go something closer to its normal iteration strategy, which in turn may end up taking a much longer time (eg a full run takes ~16+ hours on one machine; I don't know how many partitions we create). I think we can tamp down the final iteration count and just run one so perhaps it will not be too bad.

As a bonus it would also be nice to enable a similar collection with dynamic PGO.

There is a small risk that SPMI + checked jit (if we use one) will create altered timing and so the collection still won't reflect the actual usage (eg methods may tier up more slowly and so impact BDN's iteration strategy).

Author: AndyAyersMS
Assignees: -
Labels:

area-CodeGen-coreclr, untriaged

Milestone: -

@JulieLeeMSFT JulieLeeMSFT removed the untriaged New issue has not been triaged by the area owner label Apr 21, 2022
@JulieLeeMSFT JulieLeeMSFT added this to the Future milestone Apr 21, 2022
@BruceForstall BruceForstall changed the title SPMI benchmarks run should enable tiered compilation and pgo SuperPMI benchmarks run should enable tiered compilation and pgo Oct 15, 2022
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Apr 7, 2023
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Apr 10, 2023
@ghost ghost locked as resolved and limited conversation to collaborators May 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants