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

PGO: Enable PGO Pipeline for Framework assemblies #50517

Closed
10 of 17 tasks
mangod9 opened this issue Mar 31, 2021 · 5 comments
Closed
10 of 17 tasks

PGO: Enable PGO Pipeline for Framework assemblies #50517

mangod9 opened this issue Mar 31, 2021 · 5 comments
Assignees
Labels
area-Meta Bottom Up Work Not part of a theme, epic, or user story Team:Runtime User Story A single user-facing feature. Can be grouped under an epic.
Milestone

Comments

@mangod9
Copy link
Member

mangod9 commented Mar 31, 2021

This is a tracking issue for PGO related work in the runtime repo:

  • PGO training data is flowing from optimization scenarios
  • PGO training data is embedded within assemblies from runtime repo
  • Flow PGO data into checked runtime build to enable better testing (PR Simplify mibc usage in the build #50536)
  • PGO training data is embedded within assemblies from aspnet repo
  • Update SDK to allow specification of training data at publish time
  • Publish training data from standard scenarios for internal consumption
  • Codegen is able to consume the profile data to influence optimizations for measure performance gains.
  • PGO training data influences file layout
  • Validate the filesize increases are expected and within 1% with PGO data embedded.
  • Enable crossgen2 testing of pgo data generation/consumption
  • R2RDump dumps embedded pgo data
  • PGO training data is associated exact IL so that degradation from non-matching data is reduced
  • Validate PGO training data provides meaningful boost in runtime performance
  • Publish training data from standard scenarios for public consumption
    • Consider making it easy/automatic to consume when building a standalone application and recompiling the core framework assemblies

@davidwrighton @AndyAyersMS @JulieLeeMSFT to add/update items.

@mangod9 mangod9 added area-Meta User Story A single user-facing feature. Can be grouped under an epic. Bottom Up Work Not part of a theme, epic, or user story Team:Runtime labels Mar 31, 2021
@mangod9 mangod9 added this to the 6.0.0 milestone Mar 31, 2021
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Mar 31, 2021
@AndyAyersMS
Copy link
Member

See also some of the items in #50432. If there's consensus I will add some of them to the list above.

Would really like to see PGO data flow into Checked SPC builds. Because everything is keyed to IL, and the IL in a checked SPC diverges from the IL in a release SPC, this requires a separate collection and package.

Or perhaps some level of CI testing with release runtime + SPC and a checked jit.

@mangod9
Copy link
Member Author

mangod9 commented Apr 1, 2021

@AndyAyersMS yeah would make sense to capture relevant tasks as part of this list.

@mangod9 mangod9 removed the untriaged New issue has not been triaged by the area owner label Apr 1, 2021
@davidwrighton
Copy link
Member

@AndyAyersMS I've put together #50536 which will address the checked build with pgo data concern as well as adding pgo to our outerloop testing path

@davidwrighton davidwrighton self-assigned this Apr 16, 2021
@mangod9
Copy link
Member Author

mangod9 commented Jul 19, 2021

@davidwrighton assume this is ok to close and remaining work can be tracked as separate items for .net 7?

@mangod9
Copy link
Member Author

mangod9 commented Jul 19, 2021

Closing per discussion we can move the remaining work to .net 7

@mangod9 mangod9 closed this as completed Jul 19, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Aug 18, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Meta Bottom Up Work Not part of a theme, epic, or user story Team:Runtime User Story A single user-facing feature. Can be grouped under an epic.
Projects
Archived in project
Development

No branches or pull requests

3 participants