Skip to content

ci: Enable autodiff tests on x86_64 linux#157776

Open
sgasho wants to merge 4 commits into
rust-lang:mainfrom
sgasho:linux_autodiff_tests_ci
Open

ci: Enable autodiff tests on x86_64 linux#157776
sgasho wants to merge 4 commits into
rust-lang:mainfrom
sgasho:linux_autodiff_tests_ci

Conversation

@sgasho

@sgasho sgasho commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

View all comments

Summary

Enable autodiff tests on x86_64 linux

For now, this is an optional-* Merge CI only job, and is not enabled in PR CI.

r? @ZuseZ4

@rustbot rustbot added A-CI Area: Our Github Actions CI 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. labels Jun 11, 2026
@rust-log-analyzer

This comment has been minimized.

@sgasho

This comment was marked as outdated.

@sgasho
sgasho force-pushed the linux_autodiff_tests_ci branch from a5999ca to 7da709a Compare June 12, 2026 12:41
@sgasho

This comment was marked as outdated.

@rust-log-analyzer

This comment has been minimized.

@sgasho

sgasho commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

I executed git pull --rebase origin main to see if build steps in autodiff job finish successfully after enzyme submodule update

No problem found

@sgasho
sgasho force-pushed the linux_autodiff_tests_ci branch from 851ebe4 to 33566ea Compare June 30, 2026 14:07
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@sgasho
sgasho force-pushed the linux_autodiff_tests_ci branch 2 times, most recently from 27ed09b to 57ed38d Compare July 6, 2026 00:42
@rust-log-analyzer

This comment has been minimized.

@sgasho
sgasho force-pushed the linux_autodiff_tests_ci branch from 57ed38d to 69603c6 Compare July 6, 2026 12:46
@sgasho
sgasho marked this pull request as ready for review July 6, 2026 15:07
@rustbot

rustbot commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Warning

If you are changing how CI LLVM is built or linked, make sure to bump
src/bootstrap/download-ci-llvm-stamp.

cc @jieyouxu

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jul 6, 2026
@ZuseZ4

ZuseZ4 commented Jul 6, 2026

Copy link
Copy Markdown
Member

@bors try jobs=x86_64-gnu-autodiff

Rerunning to test potential cache effects.
Once this is done, we should ping Jakub and jieyouxu to discuss where to put it (and probably create an infra thread to discuss). I also don't think they'll accept autodiff as a culprit of measurably longer PR CI, so we'll probably need to move it, if the cache isn't helping enough.

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 6, 2026
ci: Enable autodiff tests on x86_64 linux


try-job: x86_64-gnu-autodiff
@rust-bors

rust-bors Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: d1a9718 (d1a971826b83fead3b7550c5e4440c9102bb3290)
Base parent: 3c00c96 (3c00c96d3af4d5b5e101e56cc161a608b21366ee)

@ZuseZ4

ZuseZ4 commented Jul 6, 2026

Copy link
Copy Markdown
Member

Rebuilding a second time, since I'm not sure if artifacts are shared between PR Ci and try runs.
@bors try jobs=x86_64-gnu-autodiff

But so far, even just building LLVM+rustc+std+enzyme takes 95 minutes, 10 minutes more than miri, the next slowest job. Total time will always be a bit more than that, and autodiff will always have less users than something general like Miri, so that's hard to defend.

If the try results come back unchanged, can you move it to auto and mark it as allowed to fail? I don't think it needs to be blocking yet.

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 6, 2026
ci: Enable autodiff tests on x86_64 linux


try-job: x86_64-gnu-autodiff
@rust-bors

rust-bors Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 96310de (96310dea88820c3264b54ee2b5011698005372aa)
Base parent: 36714a9 (36714a9983d6ba11203d8bb87a1b372247fbcf06)

@sgasho

sgasho commented Jul 19, 2026

Copy link
Copy Markdown
Contributor Author

@Kobzol @jieyouxu cc: @ZuseZ4
Do you think this is ready to land?
The job will remain optional for now. I'll monitor its results over the next few months and investigate any failures.

It would be nice to document it in rustc-dev-guid and add the doc-url to the job though.

I'll address this in a follow-up PR by adding an autodiff CI page to the rustc-dev-guide and setting it as the job's doc_url.

@jieyouxu

Copy link
Copy Markdown
Member

(BTW you can make the rdg changes in the same PR here modifying the rdg subtree, the rdg url can be predicted (like the autodiff job))

@rustbot

rustbot commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator

rustc-dev-guide is developed in its own repository. If possible, consider making this change to rust-lang/rustc-dev-guide instead.

cc @BoxyUwU, @tshepang

@sgasho

sgasho commented Jul 19, 2026

Copy link
Copy Markdown
Contributor Author

(BTW you can make the rdg changes in the same PR here modifying the rdg subtree, the rdg url can be predicted (like the autodiff job))

Done!

@Kobzol Kobzol left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks! I think that it looks fine as an optional job, left some comments.

Aside: we should build some tooling to report failures from optional jobs.. :)

View changes since this review


## Point of contact

If you have questions or need help with a failure in this job, open a new topic

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is there a ping group for autodiff in team? It would be good to have that, and let reviewers ping such a team on the PR directly.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

cc: @ZuseZ4

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't think we currently have an autodiff notification group. I couldn't find one.

I took a look at the process described here:
https://forge.rust-lang.org/compiler/notification-groups.html#creating-a-notification-group

I'm not sure whether I should go through these steps myself or whether they need to be handled by a Rust team member. Either way, I assume creating the notification group doesn't need to block this PR

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Indeed it doesn't.

Comment thread src/doc/rustc-dev-guide/src/SUMMARY.md Outdated
Comment thread src/ci/docker/scripts/autodiff.sh Outdated
@rustbot rustbot added the A-rustc-dev-guide Area: rustc-dev-guide label Jul 21, 2026
@Kobzol

Kobzol commented Jul 21, 2026

Copy link
Copy Markdown
Member

@bors try jobs=optional-x86_64-gnu-autodiff

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 21, 2026
ci: Enable autodiff tests on x86_64 linux


try-job: optional-x86_64-gnu-autodiff

@Kobzol Kobzol left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM, once CI passes.

View changes since this review

@rust-bors

rust-bors Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 068c9b3 (068c9b3020df0289992b0f06c747b9cd62a308bd)
Base parent: f65b272 (f65b272fc92b1e7527dea4a224430a249ab25c2d)

@sgasho

sgasho commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

@ZuseZ4
CI succeeded. Can we land this? The job will remain optional for now.

@ZuseZ4

ZuseZ4 commented Jul 23, 2026

Copy link
Copy Markdown
Member

I was just waiting for LLVM 23 to land, which hopefully is tomorrow. But since it's optional and you tested building under LLVM 23, I guess it doesn't really matter.

@bors r+

@rust-bors

rust-bors Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 2bb8a3b has been approved by ZuseZ4

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 23, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…ZuseZ4

ci: Enable autodiff tests on x86_64 linux

## Summary

Enable autodiff tests on x86_64 linux

For now, this is an `optional-*` Merge CI only job, and is not enabled in PR CI.

r? @ZuseZ4
rust-bors Bot pushed a commit that referenced this pull request Jul 23, 2026
Rollup of 3 pull requests

Successful merges:

 - #157776 (ci: Enable autodiff tests on x86_64 linux)
 - #159041 (Reorganize `tests/ui/issues` [22/N])
 - #159612 (Reorganize `tests/ui/issues` [29/N])
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…ZuseZ4

ci: Enable autodiff tests on x86_64 linux

## Summary

Enable autodiff tests on x86_64 linux

For now, this is an `optional-*` Merge CI only job, and is not enabled in PR CI.

r? @ZuseZ4
rust-bors Bot pushed a commit that referenced this pull request Jul 23, 2026
Rollup of 18 pull requests

Successful merges:

 - #138618 (Support using const pointers in asm `const` operand)
 - #150161 (Remove 'static requirement on try_as_dyn)
 - #158362 (trait solver: account for universes from replace_bound_vars)
 - #159173 (Add allowed list check on EII implementations attributes)
 - #159466 (cmse: clear variant-dependent padding in `enum`s)
 - #159718 (Make `DocLinkResMap` an `FxIndexMap`)
 - #155795 (constify `vec![1, 2, 3]` macro)
 - #157776 (ci: Enable autodiff tests on x86_64 linux)
 - #157905 (Update comments and add tests for `-Zrandomize-layout` for some guaranteed ZSTs)
 - #159041 (Reorganize `tests/ui/issues` [22/N])
 - #159108 (Reorganize `tests/ui/issues` [23/N])
 - #159138 (doc: document wasm import symbol mangling)
 - #159531 (Reorganize `tests/ui/issues` [28/N])
 - #159608 (early_otherwise: Don't hoist dereferences when the otherwise branch is reachable)
 - #159612 (Reorganize `tests/ui/issues` [29/N])
 - #159653 (run `tests/assembly-llvm/asm/aarch64-types.rs` for `aarch64_be`)
 - #159759 (rustc-dev-guide subtree update)
 - #159761 (Remove outdated comment for resolve_vars_with_obligations)
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…ZuseZ4

ci: Enable autodiff tests on x86_64 linux

## Summary

Enable autodiff tests on x86_64 linux

For now, this is an `optional-*` Merge CI only job, and is not enabled in PR CI.

r? @ZuseZ4
jhpratt added a commit to jhpratt/rust that referenced this pull request Jul 23, 2026
…ZuseZ4

ci: Enable autodiff tests on x86_64 linux

## Summary

Enable autodiff tests on x86_64 linux

For now, this is an `optional-*` Merge CI only job, and is not enabled in PR CI.

r? @ZuseZ4
rust-bors Bot pushed a commit that referenced this pull request Jul 23, 2026
Rollup of 19 pull requests

Successful merges:

 - #150161 (Remove 'static requirement on try_as_dyn)
 - #158362 (trait solver: account for universes from replace_bound_vars)
 - #159173 (Add allowed list check on EII implementations attributes)
 - #159466 (cmse: clear variant-dependent padding in `enum`s)
 - #159718 (Make `DocLinkResMap` an `FxIndexMap`)
 - #155795 (constify `vec![1, 2, 3]` macro)
 - #157776 (ci: Enable autodiff tests on x86_64 linux)
 - #157905 (Update comments and add tests for `-Zrandomize-layout` for some guaranteed ZSTs)
 - #158766 (Promote riscv64-unknown-linux-musl to tier 2 with host tools)
 - #159041 (Reorganize `tests/ui/issues` [22/N])
 - #159108 (Reorganize `tests/ui/issues` [23/N])
 - #159138 (doc: document wasm import symbol mangling)
 - #159531 (Reorganize `tests/ui/issues` [28/N])
 - #159608 (early_otherwise: Don't hoist dereferences when the otherwise branch is reachable)
 - #159612 (Reorganize `tests/ui/issues` [29/N])
 - #159653 (run `tests/assembly-llvm/asm/aarch64-types.rs` for `aarch64_be`)
 - #159667 (Make some parser structured suggestions verbose and tweak their wording)
 - #159759 (rustc-dev-guide subtree update)
 - #159761 (Remove outdated comment for resolve_vars_with_obligations)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-rustc-dev-guide Area: rustc-dev-guide A-testsuite Area: The testsuite used to check the correctness of rustc F-autodiff `#![feature(autodiff)]` S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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.

6 participants