Add offload support to the dist-x86_64-linux CI job#159064
Conversation
|
@bors delegate try |
|
✌️ @sgasho, you can now perform try builds on this pull request! You can now post |
|
@bors try jobs=dist-x86_64-linux |
Build offload in dist-x86_64-linux CI job try-job: dist-x86_64-linux
This comment has been minimized.
This comment has been minimized.
|
@bors try jobs=dist-x86_64-linux |
This comment has been minimized.
This comment has been minimized.
Build offload in dist-x86_64-linux CI job try-job: dist-x86_64-linux
|
💔 Test for 7b815a7 failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
|
@bors try jobs=dist-x86_64-linux |
This comment has been minimized.
This comment has been minimized.
Build offload in dist-x86_64-linux CI job try-job: dist-x86_64-linux
|
@bors try jobs=dist-x86_64-linux |
This comment has been minimized.
This comment has been minimized.
Build offload in dist-x86_64-linux CI job try-job: dist-x86_64-linux
|
|
5cc8265 to
04914df
Compare
This reverts commit 53f2fcc.
04914df to
d475ff0
Compare
d475ff0 to
641d76f
Compare
|
A few notes for the llvm 23 update, that should probably go in the dev guide as well: The offload-clang-dir option from #150108 is a workaround I only introduced to not increase build times by too much. Usually, LLVM/Offload expects users to build both Clang and Offload, so that Offload can use features recently added to Clang. They are not really willing to guarantee that Offload-23 can be bootstrapped with Clang22. However, as long as the clang used to build and the sources being build are on the same major version they agreed it should likely work, even if minor/patch versions differ. They used to have an assertion that checked for equality in major/minor/patch version, but after reporting it, they downgraded the assertion to a warning in a PR that should be part of 23. They also were quick in addressing the other breakages I reported, so I think it's fine to keep trying this setup in CI. The other thing is that you mentioned above that you ran our website example with this build, so I guess that includes the clang-linker-wrapper call? Your first comments only mention the distribution of libs, and I'm unsure if the clang-linker-wrapper is built if we don't build clang. (The naming of these components was always a bit unlucky and changes once in a while). I had started working on a PR that teaches rustc how to directly call the LLVM apis which the linker wrapper is also using, but I never finished that one and I think it's also ont part of your gsoc proposal. Imho either solution is fine (even if we ship an incomplete toolchain for a bit), I was just curious how you tested it. |
|
Thanks for the detailed info around LLVM 23/Clang/Offload. For clang-linker-wrapper, on the x86 dev-desktop, I cloned r-l/r and built rustc by running ./x build then I used build/x86_64-unknown-linux-gnu/llvm/bin/clang++, which automatically invoked build/x86_64-unknown-linux-gnu/llvm/bin/clang-linker-wrapper So yes, we are shipping an incomplete toolchain as the first step in this PR. |
|
@bors try jobs=dist-x86_64-linux |
This comment has been minimized.
This comment has been minimized.
Add offload support to the dist-x86_64-linux CI job try-job: dist-x86_64-linux
this PR?: #149827 |
|
💔 Test for 0dc28a1 failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
The GCC mirror now needs TLS 1.3.
|
@bors try jobs=dist-x86_64-linux |
This comment has been minimized.
This comment has been minimized.
Add offload support to the dist-x86_64-linux CI job try-job: dist-x86_64-linux
|
💔 Test for e3aafc7 failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
|
@bors try jobs=dist-x86_64-linux |
This comment has been minimized.
This comment has been minimized.
Add offload support to the dist-x86_64-linux CI job try-job: dist-x86_64-linux


View all comments
Add offload support to the dist-x86_64-linux CI job
This enables users to compile offload code without building rustc from source
I checked the tarballs work by compiling & running the sample offload code here:
https://rustc-dev-guide.rust-lang.org/offload/usage.html
There are two changes affect outside of offload (I left github comments on the relevant sections). So,
r? @Kobzol
r? @jieyouxu
r? @ZuseZ4