Skip to content

Conversation

@AndyAyersMS
Copy link
Member

Revise things a bit so that we can run the greedy ML heuristic in release mode, with a built-in set of "good" parameters.

These parameters come from a policy gradient run over a 200 method training set, on the asp.net windows x64 collection.

Contributes to #92915.

Revise things a bit so that we can run the greedy ML heuristic in release mode,
with a built-in set of "good" parameters.

These parameters come from a policy gradient run over a 200 method training
set, on the asp.net windows x64 collection.

Contributes to dotnet#92915.
@ghost ghost assigned AndyAyersMS Feb 21, 2024
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Feb 21, 2024
@ghost
Copy link

ghost commented Feb 21, 2024

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

Issue Details

Revise things a bit so that we can run the greedy ML heuristic in release mode, with a built-in set of "good" parameters.

These parameters come from a policy gradient run over a 200 method training set, on the asp.net windows x64 collection.

Contributes to #92915.

Author: AndyAyersMS
Assignees: AndyAyersMS
Labels:

area-CodeGen-coreclr

Milestone: -

@AndyAyersMS
Copy link
Member Author

@EgorBo PTAL
cc @dotnet/jit-contrib

This will be a bit painful to review as I moved a bunch of methods to a new intermediate class, and in doing so physically moved them in the file. For the most part things did not change (much).

The baked-in parameters may or may not be any good. We'll see. I will push an interim change to enable it by default.

@ryujit-bot
Copy link

Diff results for #98729

Throughput diffs

Throughput diffs for windows/arm64 ran on windows/x64

MinOpts (-0.00% to +0.01%)
Collection PDIFF
libraries.pmi.windows.arm64.checked.mch +0.01%

Details here


Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.x64.checked.mch +0.01%
FullOpts (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.x64.checked.mch +0.01%

Details here


@ryujit-bot
Copy link

Diff results for #98729

Throughput diffs

Throughput diffs for linux/x64 ran on linux/x64

Overall (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.x64.checked.mch +0.01%
FullOpts (+0.00% to +0.01%)
Collection PDIFF
libraries.crossgen2.linux.x64.checked.mch +0.01%

Details here


@EgorBo
Copy link
Member

EgorBo commented Feb 21, 2024

Looking 👀

@AndyAyersMS
Copy link
Member Author

I will push an interim change to enable it by default.

Actually I'm going to hold off; let's get this bit merged and then I will put up a draft PR to flip it on by default.

Copy link
Member

@EgorBo EgorBo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I can follow your changes, they look reasonable to me, LGTM!

@EgorBo
Copy link
Member

EgorBo commented Feb 21, 2024

I will put up a draft PR to flip it on by default.

Are the diffs huge? 🙂

@AndyAyersMS
Copy link
Member Author

I will put up a draft PR to flip it on by default.

Are the diffs huge? 🙂

The code size diffs don't look very good right now. One of the things I need to figure out is how to make sure that the secondary objectives don't get too crazy.

[09:50:54] 111,592 contexts with diffs (21,954 improvements, 83,583 regressions, 6,055 same size)
[09:50:54]   -244,440/+2,143,827 bytes

@AndyAyersMS
Copy link
Member Author

This is a no diff change so failures above are unrelated.

@AndyAyersMS AndyAyersMS merged commit 52dbf81 into dotnet:main Feb 21, 2024
@AndyAyersMS
Copy link
Member Author

Draft PR to enable: #98776

@github-actions github-actions bot locked and limited conversation to collaborators Mar 23, 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

Successfully merging this pull request may close these issues.

3 participants