Skip to content

Commit

Permalink
Rollup merge of #117247 - kjetilkjeka:nvptx_direct_passmode_exception…
Browse files Browse the repository at this point in the history
…, r=workingjubilee,RalfJung

NVPTX: Allow PassMode::Direct for ptx kernels for now

Upgrading the nvptx toolchain to the newest nightly makes it hit the assert that links to rust-lang/rust#115666

It seems like most targets get around this by using `PassMode::Indirect`. That is impossible for the kernel as it's not a normal call, but instead the arguments are copied from CPU to GPU and the passed pointer would be invalid when it reached the GPU.

I also made an experiment with `PassMode::Cast` but at least the most simple version of this broke the assembly API tests.

I added  fixing the pass mode in my unofficial tracking issue list (I do not have the necessary permissions to update to official one). rust-lang/rust#38788 (comment)

Since the ptx_abi is currently unstable and have been working with `PassMode::Direct` for more than a year now, the steps above is hopefully sufficient to enable it as an exception until I can prioritize to fix it. I'm currently looking at steps to enable the CI for nvptx64 again and would prefer to finish that first.
  • Loading branch information
matthiaskrgr authored Oct 27, 2023
2 parents 2239435 + 468d27f commit 0f87438
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit 0f87438

Please sign in to comment.