Description
The NVPTX backend has been available since: nightly-2017-01-XX
This is a collections of bugs and TODOs related to it.
Documentation
Bugs
-
LLVM assertion when compiling
core
to PTX. LLVM assertion when usingi128
with the NVPTX #38824 -
LLVM error when emitting PTX code with debuginfo. LLVM error when emitting PTX code with debuginfo #38785
-
NVPTX: No "undefined reference" error is raised when it should be. NVPTX: No "undefined reference" error is raised when it should be #38786
-
NVPTX: non-inlined functions can't be used cross crate. NVPTX: non-inlined functions can't be used cross crate #38787
Missing features
- The equivalent to CUDA's
__shared__
modifier. Probably needs an RFC to land
in the compiler as we don't have anything similar to it (AFAIK).
Stabilization
- Stabilize the nvptx targets. IOW, add them to the compiler. Candidates for merging.
-
All the non-trivial kernels make use of intrinsics like
blockIdx.x
. These will have to be stabilized. Right now these intrinsics are implemented as"plaform-intrinsics"
but that feature is unstable. -
Stabilize the
"ptx-kernel"
ABI. Tracking issue for the "ptx-kernel" ABI #38788
cc @rkruppe