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: Improve superpmi-diffs summarization #80719

Closed
BruceForstall opened this issue Jan 16, 2023 · 3 comments
Closed

SuperPMI: Improve superpmi-diffs summarization #80719

BruceForstall opened this issue Jan 16, 2023 · 3 comments
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone

Comments

@BruceForstall
Copy link
Member

BruceForstall commented Jan 16, 2023

Currently, summarization is done for each AzDO job that spawns all the Helix work items. Thus, we end up with a section for Windows x64 and one for Windows x86 -- and each section contains all the runs that happened in that section (e.g., in the "Windows x86" section, there are both asmdiffs and tpdiff for both Windows x86 and Linux arm).

It was implemented this way for convenience, but the output summarization could be better, and more integrated.

There would be a "Summarization" AzDO job that depends on all the jobs that compute the diffs, and it should take all the results and compute the final summary file that becomes the "Extensions" page (via the magic ##vso[task.uploadsummary] tag). The superpmi_diffs_summarize.py script would run in this job.

Alternatively, there could be a single AzDO job that kicks off all the Helix jobs. It would have to depend on all the builds, so starting the Helix work would be unnecessarily waiting on builds that not all Helix work requires. However, it might be much simpler to implement better summarization with a single AzDO job, and be more robust than synchronizing multiple "work" jobs.

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

@BruceForstall BruceForstall added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 16, 2023
@BruceForstall BruceForstall added this to the Future milestone Jan 16, 2023
@ghost
Copy link

ghost commented Jan 16, 2023

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

Issue Details

Currently, summarization is done for each AzDO job that spawns all the Helix work items. Thus, we end up with a section for Windows x64 and one for Windows x86 -- and each section contains all the runs that happened in that section (e.g., in the "Windows x86" section, there are both asmdiffs and tpdiff for both Windows x86 and Linux arm).

It was implemented this way for convenience, but the output summarization could be better, and more integrated.

There would be a "Summarization" AzDO job that depends on all the jobs that compute the diffs, and it should take all the results and compute the final summary file that becomes the "Extensions" page (via the magic ##vso[task.uploadsummary] tag). The superpmi_diffs_summarize.py script would run in this job.

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

Author: BruceForstall
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: Future

@BruceForstall
Copy link
Member Author

Related: #80718

BruceForstall added a commit to BruceForstall/runtime that referenced this issue Feb 20, 2023
…machine

Currently, we use a win-x86 machine for x86/arm work and a win-x64
machine for x64/arm64 work. The AzDO machine doesn't do very much:
it downloads files, sets up the Helix correlation and payload directories,
and constructs the set of Helix work items to run. Splitting into
two different AzDO machines is an artifact of our YML files using
a very complicated set of templates for setting the Helix queues.
However, we can always use just a single win-x64 Helix queue for everything,
since we do all the work using cross-compilers.

Doing all the work on one AzDO machine would make it simpler to have integrated
diff summarization. See dotnet#80719.

However, even so it might be easier to create integrated summarization
by creating a "summarize" AzDO job that depends on the others. This would
also make it easier to enable native (not cross-compiler) replay, if desired.
@jakobbotsch
Copy link
Member

Fixed by #106759

@github-actions github-actions bot locked and limited conversation to collaborators Nov 9, 2024
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

No branches or pull requests

2 participants