-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
improvements towards building enzyme in CI #136428
Conversation
rustbot has assigned @Mark-Simulacrum. Use |
This PR modifies If appropriate, please update |
ok rustbot, thanks for your opinion. I will however wtick with r? @oli-obk |
CI doesn't use |
Yes I know how they work, I just assumed that one of the ci runners would use a configure command which doesn't explicitly sets enzyme, and then the change would have worked. So I guess I have to look into one of the build scritps instead :/ |
You have to select a CI job where you want the tests to run and then configure it to enable these config.toml options, using e.g.
|
Thanks. I want one of the builders which compiles the src/llvm-project llvm, and does not reuse an existing one. It looks like this is one of them, correct? |
@bors try |
test building enzyme in CI We will later need to make it more granular before merging, but let's start by figuring out how many things we break right now in the first place. For now I modified `src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile`, so let's try that dist job first. try-job: dist-x86_64-linux r? `@oli-obk` Tracking: - rust-lang#124509
☀️ Try build successful - checks-actions |
@rust-timer queue |
This comment has been minimized.
This comment has been minimized.
Whoops @rust-timer build cd73423 |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (cd73423): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowBenchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (primary -3.5%, secondary -2.0%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (primary -1.1%, secondary -3.1%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeResults (primary -1.0%, secondary -2.3%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Bootstrap: 777.802s -> 763.65s (-1.82%) |
This builder does build LLVM (like 5 times xD), but it does not really run normal tests, so it's not a good fit. Now, why the hell does enabling LLVM plugins improve bootstrap time and reduce compiler binary size, wtf. |
I noticed 3 and was already wondering. |
I would say |
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
This comment has been minimized.
This comment has been minimized.
cc @saethlin |
Don't worry about making the compiler build with |
2328117
to
e2d250c
Compare
@oli-obk This is ready to be merged, let me know if you want any changes.
Edit2: I can confirm that my issues where only due to having LLVM19 and LLVM20 in the same build folder, since I rebased the final PR and the artifacts got mixed up by bootstrap. Deleting the build dir and starting a clean build fixed all issues. So this is indeed ready to merge. |
@bors r+ |
☀️ Test successful - checks-actions |
This PR didn't actually start testing Enzyme on CI, right? So the PR title should be updated. |
Finished benchmarking commit (8dac72b): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 773.139s -> 773.405s (0.03%) |
-Zautodiff=
flag. It updates the test(s) accordingly. It gives a nice error if users forget that.rustc_autodiff
toEncodeCrossCrate::Yes
. It is not enough on it's own to enable usage of Enzyme in libraries, but it is for sure a piece of the fixes needed to get this to work.try-job: x86_64-gnu
r? @oli-obk
Tracking: