Skip to content

[DO NOT MERGE] start building Enzyme in CI #140064

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

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

ZuseZ4
Copy link
Member

@ZuseZ4 ZuseZ4 commented Apr 20, 2025

My goal is to put this in CI on April 26, to have a week to land some of the outstanding PRs (removed # in front of it to avoid spamming them every time I do a try build in this PR):
139700 [Ready]
139308 [Ready, blocked on 139700]
140104 [In the queue]
140030 [Landed]
140049 [Almost ready]
The autodiff flags PR should land first, but otherwise they don't overlap and are mostly ready, so it shouldn't be too hard to land them. In the meantime, I'll experiment here with some builders.

A fix for 140137 (Apple CI) would be nice, but I'm also happy to start with the working linux (x86-64 + aarch) as the most common target, and expand from there.

r? @oli-obk

Tracking:

  • 124509

Linux
succeeded try with plugins & llvm-enzyme enabled: dist-x86_64-linux
succeeded try with plugins & llvm-enzyme enabled: dist-aarch64-linux

MacOS
failed try with plugins & llvm-enzyme enabled: dist-x86_64-apple (#140064 (comment))
failed try with plugins & llvm-enzyme enabled: dist-apple-various (#140064 (comment))
failed try with plugins & llvm-enzyme enabled: dist-aarch64-apple (#140064 (comment))

Windows
failed try with plugins & llvm-enzyme enabled: dist-x86_64-mingw (#140064 (comment))

try-job: dist-x86_64-linux
try-job: dist-aarch64-linux

@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Apr 20, 2025
@ZuseZ4
Copy link
Member Author

ZuseZ4 commented Apr 20, 2025

@bors try

@bors
Copy link
Collaborator

bors commented Apr 20, 2025

⌛ Trying commit 1302345 with merge 85630b7...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 20, 2025
[DO NOT MERGE] start building enzyme on x86_64-gnu-llvm-{19|20} builders

My goal is to put this in CI on April 26, to have a week to land some of the outstanding PRs:
rust-lang#139700
rust-lang#139308
rust-lang#139557
rust-lang#140030
rust-lang#140049
The autodiff flags PR should land first, but otherwise they don't overlap and are mostly ready, so it shouldn't be too hard to land them. In the meantime, I'll experiment here with some builders.

r? `@oli-obk`

Tracking:

- rust-lang#124509

try-job: x86_64-gnu-llvm-19
try-job: x86_64-gnu-llvm-20
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@ZuseZ4
Copy link
Member Author

ZuseZ4 commented Apr 20, 2025

@bors try @rust-timer queue

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 20, 2025
[DO NOT MERGE] start building enzyme on x86_64-gnu-llvm-{19|20} builders

My goal is to put this in CI on April 26, to have a week to land some of the outstanding PRs:
rust-lang#139700
rust-lang#139308
rust-lang#139557
rust-lang#140030
rust-lang#140049
The autodiff flags PR should land first, but otherwise they don't overlap and are mostly ready, so it shouldn't be too hard to land them. In the meantime, I'll experiment here with some builders.

r? `@oli-obk`

Tracking:

- rust-lang#124509

try-job: dist-x86_64-linux
@bors
Copy link
Collaborator

bors commented Apr 20, 2025

⌛ Trying commit ca4cd19 with merge 22fa494d09e618a25269d354df51bccf741b5351...

@rust-log-analyzer

This comment has been minimized.

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Apr 20, 2025
@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Apr 20, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 20, 2025
@ZuseZ4
Copy link
Member Author

ZuseZ4 commented Apr 21, 2025

@jieyouxu I tried running both tests/ui/feature-gates/feature-gate-autodiff-use.rs and tests/ui/autodiff/visibility.rs with llvm.enzyme being either true or false in bootstrap.toml. I couldn't reproduce it that way. I also tried to copy the --cfg flags I saw in the log. Do you have recommendations on how to reproduce it locally (so I can update my rustc dev docs)?

@ZuseZ4
Copy link
Member Author

ZuseZ4 commented Apr 21, 2025

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 21, 2025
[DO NOT MERGE] start building enzyme on x86_64-gnu-llvm-{19|20} builders

My goal is to put this in CI on April 26, to have a week to land some of the outstanding PRs (removed # in front of it to avoid spamming them every time I do a try build in this PR):
139700
139308
139557
140030
140049
The autodiff flags PR should land first, but otherwise they don't overlap and are mostly ready, so it shouldn't be too hard to land them. In the meantime, I'll experiment here with some builders.

r? `@oli-obk`

Tracking:

- rust-lang#124509

try-job: dist-x86_64-linux
@bors
Copy link
Collaborator

bors commented Apr 21, 2025

⌛ Trying commit 4b353ac with merge e690318f2c437976796a1aff8927ff8793b4d1b7...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Apr 21, 2025

☀️ Try build successful - checks-actions
Build commit: e690318 (e690318f2c437976796a1aff8927ff8793b4d1b7)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (e690318): comparison URL.

Overall result: ❌ regressions - please read the text below

Benchmarking 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 @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

Instruction count

This 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.

mean range count
Regressions ❌
(primary)
2.6% [2.4%, 2.8%] 4
Regressions ❌
(secondary)
1.5% [1.0%, 2.3%] 11
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.6% [2.4%, 2.8%] 4

Max RSS (memory usage)

Results (primary 0.8%, secondary 1.9%)

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.

mean range count
Regressions ❌
(primary)
0.9% [0.4%, 1.8%] 27
Regressions ❌
(secondary)
3.2% [1.5%, 7.4%] 9
Improvements ✅
(primary)
-0.7% [-0.7%, -0.7%] 1
Improvements ✅
(secondary)
-1.8% [-2.1%, -1.6%] 3
All ❌✅ (primary) 0.8% [-0.7%, 1.8%] 28

Cycles

Results (primary 0.8%, 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.

mean range count
Regressions ❌
(primary)
0.8% [0.4%, 2.8%] 10
Regressions ❌
(secondary)
2.3% [1.8%, 3.0%] 4
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.8% [0.4%, 2.8%] 10

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 775.102s -> 775.899s (0.10%)
Artifact size: 365.03 MiB -> 365.22 MiB (0.05%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Apr 21, 2025
bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 21, 2025
[DO NOT MERGE] start building enzyme on x86_64-gnu-llvm-{19|20} builders

My goal is to put this in CI on April 26, to have a week to land some of the outstanding PRs (removed # in front of it to avoid spamming them every time I do a try build in this PR):
139700 [Ready]
139308 [Ready, blocked on 139700]
140104 [Almost ready]
140030 [Landed]
140049 [Almost ready]
The autodiff flags PR should land first, but otherwise they don't overlap and are mostly ready, so it shouldn't be too hard to land them. In the meantime, I'll experiment here with some builders.

r? `@oli-obk`

Tracking:

- rust-lang#124509

succeeded try with plugins & llvm-enzyme enabled:  dist-x86_64-linux

try-job: dist-x86_64-apple
try-job: dist-apple-various
try-job: dist-aarch64-apple
try-job: dist-aarch64-linux
@bors
Copy link
Collaborator

bors commented Apr 21, 2025

⌛ Trying commit 9075e8e with merge 9a42842055443e5e9e4e3231cfef6c97c88c7270...

@bors
Copy link
Collaborator

bors commented Apr 21, 2025

💔 Test failed - checks-actions

@ZuseZ4
Copy link
Member Author

ZuseZ4 commented Apr 21, 2025

@bors try

(It's a bit sad that all other runners stop when one fails)

@bors
Copy link
Collaborator

bors commented Apr 21, 2025

⌛ Trying commit 9075e8e with merge ad71ba0425b65e757d8d9b9e57c956608c6303c3...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 21, 2025
[DO NOT MERGE] start building enzyme on x86_64-gnu-llvm-{19|20} builders

My goal is to put this in CI on April 26, to have a week to land some of the outstanding PRs (removed # in front of it to avoid spamming them every time I do a try build in this PR):
139700 [Ready]
139308 [Ready, blocked on 139700]
140104 [Almost ready]
140030 [Landed]
140049 [Almost ready]
The autodiff flags PR should land first, but otherwise they don't overlap and are mostly ready, so it shouldn't be too hard to land them. In the meantime, I'll experiment here with some builders.

r? `@oli-obk`

Tracking:

- rust-lang#124509

succeeded try with plugins & llvm-enzyme enabled:  dist-x86_64-linux

failed try with plugins & llvm-enzyme enabled: dist-x86_64-apple (rust-lang#140064 (comment))

try-job: dist-apple-various
try-job: dist-aarch64-apple
try-job: dist-aarch64-linux
@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Apr 21, 2025

💔 Test failed - checks-actions

@ZuseZ4
Copy link
Member Author

ZuseZ4 commented Apr 21, 2025

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 21, 2025
[DO NOT MERGE] start building enzyme on x86_64-gnu-llvm-{19|20} builders

My goal is to put this in CI on April 26, to have a week to land some of the outstanding PRs (removed # in front of it to avoid spamming them every time I do a try build in this PR):
139700 [Ready]
139308 [Ready, blocked on 139700]
140104 [Almost ready]
140030 [Landed]
140049 [Almost ready]
The autodiff flags PR should land first, but otherwise they don't overlap and are mostly ready, so it shouldn't be too hard to land them. In the meantime, I'll experiment here with some builders.

r? `@oli-obk`

Tracking:

- rust-lang#124509

succeeded try with plugins & llvm-enzyme enabled:  dist-x86_64-linux

failed try with plugins & llvm-enzyme enabled: dist-x86_64-apple (rust-lang#140064 (comment))
failed try with plugins & llvm-enzyme enabled: dist-apple-various (rust-lang#140064 (comment))

try-job: dist-aarch64-apple
try-job: dist-aarch64-linux
@bors
Copy link
Collaborator

bors commented Apr 21, 2025

⌛ Trying commit 9075e8e with merge 8412a310bf3aa4d9b4801f29d856813a3f4db6a5...

@bors
Copy link
Collaborator

bors commented Apr 21, 2025

💔 Test failed - checks-actions

@ZuseZ4
Copy link
Member Author

ZuseZ4 commented Apr 21, 2025

@bors try

@bors
Copy link
Collaborator

bors commented Apr 21, 2025

⌛ Trying commit 9075e8e with merge 6a4ba31...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 21, 2025
[DO NOT MERGE] start building enzyme on x86_64-gnu-llvm-{19|20} builders

My goal is to put this in CI on April 26, to have a week to land some of the outstanding PRs (removed # in front of it to avoid spamming them every time I do a try build in this PR):
139700 [Ready]
139308 [Ready, blocked on 139700]
140104 [Almost ready]
140030 [Landed]
140049 [Almost ready]
The autodiff flags PR should land first, but otherwise they don't overlap and are mostly ready, so it shouldn't be too hard to land them. In the meantime, I'll experiment here with some builders.

r? `@oli-obk`

Tracking:

- rust-lang#124509

succeeded try with plugins & llvm-enzyme enabled:  dist-x86_64-linux

failed try with plugins & llvm-enzyme enabled: dist-x86_64-apple (rust-lang#140064 (comment))
failed try with plugins & llvm-enzyme enabled: dist-apple-various (rust-lang#140064 (comment))
failed try with plugins & llvm-enzyme enabled: dist-aarch64-apple (rust-lang#140064 (comment))

try-job: dist-aarch64-linux
@bors
Copy link
Collaborator

bors commented Apr 22, 2025

☀️ Try build successful - checks-actions
Build commit: 6a4ba31 (6a4ba3120960f17494a199fa78c9e84313eab700)

@ZuseZ4
Copy link
Member Author

ZuseZ4 commented Apr 22, 2025

@bors try

@bors
Copy link
Collaborator

bors commented Apr 22, 2025

⌛ Trying commit a1d9041 with merge c59c2d4192bd80666bce3d4d5f5e0148a4ddfd8d...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 22, 2025
[DO NOT MERGE] start building enzyme on x86_64-gnu-llvm-{19|20} builders

My goal is to put this in CI on April 26, to have a week to land some of the outstanding PRs (removed # in front of it to avoid spamming them every time I do a try build in this PR):
139700 [Ready]
139308 [Ready, blocked on 139700]
140104 [Almost ready]
140030 [Landed]
140049 [Almost ready]
The autodiff flags PR should land first, but otherwise they don't overlap and are mostly ready, so it shouldn't be too hard to land them. In the meantime, I'll experiment here with some builders.

A fix for 140137 (Apple CI) would be nice, but I'm also happy to start with the working x86-64 linux as the most common target, and expand from there.

r? `@oli-obk`

Tracking:

- rust-lang#124509

succeeded try with plugins & llvm-enzyme enabled:  dist-x86_64-linux
succeeded try with plugins & llvm-enzyme enabled:  dist-aarch64-linux

failed try with plugins & llvm-enzyme enabled: dist-x86_64-apple (rust-lang#140064 (comment))
failed try with plugins & llvm-enzyme enabled: dist-apple-various (rust-lang#140064 (comment))
failed try with plugins & llvm-enzyme enabled: dist-aarch64-apple (rust-lang#140064 (comment))

try-job: dist-x86_64-mingw
@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Apr 22, 2025

💔 Test failed - checks-actions

@ZuseZ4
Copy link
Member Author

ZuseZ4 commented Apr 22, 2025

I guess linking against LLVM doesn't work here on mingw, but I don't really want to deal with linker issues right now, so I'll postpone windows support. The more relevant MSVC builders wouldn't work due to an Enzyme bug anyway.

@ZuseZ4
Copy link
Member Author

ZuseZ4 commented Apr 22, 2025

Now testing Enzyme only, without enabling LLVM's plugin interface, since I made it optional in a previous enzyme PR. That might save us a few bytes.
@bors try

@bors
Copy link
Collaborator

bors commented Apr 22, 2025

⌛ Trying commit 142ec6f with merge f3fdf02...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 22, 2025
[DO NOT MERGE] start building enzyme on x86_64-gnu-llvm-{19|20} builders

My goal is to put this in CI on April 26, to have a week to land some of the outstanding PRs (removed # in front of it to avoid spamming them every time I do a try build in this PR):
139700 [Ready]
139308 [Ready, blocked on 139700]
140104 [Almost ready]
140030 [Landed]
140049 [Almost ready]
The autodiff flags PR should land first, but otherwise they don't overlap and are mostly ready, so it shouldn't be too hard to land them. In the meantime, I'll experiment here with some builders.

A fix for 140137 (Apple CI) would be nice, but I'm also happy to start with the working linux (x86-64 + aarch) as the most common target, and expand from there.

r? `@oli-obk`

Tracking:

- 124509

**Linux**
succeeded try with plugins & llvm-enzyme enabled:  dist-x86_64-linux
succeeded try with plugins & llvm-enzyme enabled:  dist-aarch64-linux

**MacOS**
failed try with plugins & llvm-enzyme enabled: dist-x86_64-apple (rust-lang#140064 (comment))
failed try with plugins & llvm-enzyme enabled: dist-apple-various (rust-lang#140064 (comment))
failed try with plugins & llvm-enzyme enabled: dist-aarch64-apple (rust-lang#140064 (comment))

**Windows**
failed try with plugins & llvm-enzyme enabled: dist-x86_64-mingw (rust-lang#140064 (comment))

try-job: dist-x86_64-linux
try-job: dist-aarch64-linux
@ZuseZ4 ZuseZ4 changed the title [DO NOT MERGE] start building enzyme on x86_64-gnu-llvm-{19|20} builders [DO NOT MERGE] start building Enzyme in CI Apr 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants