Repository navigation
Conversation
|
Thank you for the cleanups. I'm just returning from the llvm dev meeting, where I was promised by two vendors that they should provide us almost certainly with GPU CI. Until then, we'll still have to run tests by hand, unfortunately. @sgasho since you should have an up-to-date build, can you test nvptx? |
|
Can you please also update the now failing tests? Should be easy enough even without running them: control_flow.rs, scalar_host.rs, and slice_host.rs, test against the old typed alloca's. They're under gpu_host.rs also tests for |
11c7728 to
eb0805f
Compare
|
I've replaced all the allocas in the tests with the appropriate sizes for a 64-bit system with 8-aligned pointers. In addition to the files you mentioned, there was also one in |
I tested the sample offload code on nvidia gpunode (RTX A2000 (sm_86)) and it worked 👍 |
Stop using LLVM struct types for array/pointer offset GEPs (rebase) This is a rebase and improvement upon rust-lang#122325 by @erikdesjardins. In addition to what was already in that PR, I've changed the signature of `gep`/`inbounds_gep`/`inbounds_nuw_gep` to take the `stride: Size` directly. The only GEPs not migrated are the ones in `gpu_offload.rs`: given their more intensive use of LLVM types, I've split them off into rust-lang#165154 to make this PR easier to review. Closes rust-lang#122325 r? @nikic
Stop using LLVM struct types for array/pointer offset GEPs (rebase) This is a rebase and improvement upon rust-lang#122325 by @erikdesjardins. In addition to what was already in that PR, I've changed the signature of `gep`/`inbounds_gep`/`inbounds_nuw_gep` to take the `stride: Size` directly. The only GEPs not migrated are the ones in `gpu_offload.rs`: given their more intensive use of LLVM types, I've split them off into rust-lang#165154 to make this PR easier to review. Closes rust-lang#122325 r? @nikic
Stop using LLVM struct types for array/pointer offset GEPs (rebase) This is a rebase and improvement upon rust-lang#122325 by @erikdesjardins. In addition to what was already in that PR, I've changed the signature of `gep`/`inbounds_gep`/`inbounds_nuw_gep` to take the `stride: Size` directly. The only GEPs not migrated are the ones in `gpu_offload.rs`: given their more intensive use of LLVM types, I've split them off into rust-lang#165154 to make this PR easier to review. Closes rust-lang#122325 r? @nikic
Rollup merge of #165146 - beetrees:no-llvm-struct-gep, r=nikic Stop using LLVM struct types for array/pointer offset GEPs (rebase) This is a rebase and improvement upon #122325 by @erikdesjardins. In addition to what was already in that PR, I've changed the signature of `gep`/`inbounds_gep`/`inbounds_nuw_gep` to take the `stride: Size` directly. The only GEPs not migrated are the ones in `gpu_offload.rs`: given their more intensive use of LLVM types, I've split them off into #165154 to make this PR easier to review. Closes #122325 r? @nikic
This comment has been minimized.
This comment has been minimized.
eb0805f to
cf4f14b
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
Typed GEPs are being removed from the rest of the compiler in #165146, and typed allocas were already removed, so change
gpu_offload.rsto match. This PR also removes the constant zero GEPs (#t-compiler > GEP constant 0 in `gpu_offload.rs`).r? @ZuseZ4