-
Notifications
You must be signed in to change notification settings - Fork 234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Int128 support #974
Labels
Comments
maleadt
added
enhancement
New feature or request
cuda kernels
Stuff about writing CUDA kernels.
labels
Jun 14, 2021
Alternatively, we could build compiler-rt for NVPTX and ship that in CUDA.jl like we do with libdevice. |
Another MWE from #793: julia> using CUDA
julia> A = zeros(3) |> CuArray
3-element CuArray{Float64, 1}:
0.0
0.0
0.0
julia> A .= UInt128(5) |
Another one: CUDA.fill(Int128(7), 1000) # seems to work
CUDA.fill((Int128(7),), 1000) # segfaults in LLVM with both Julia v1.11 and Julia v1.12 MRE: ./julia-6cd750ddf7/bin/julia -g2 -e 'using CUDA; CUDA.fill((Int128(7),), 1000)' Segfault backtrace:
|
This is probably a selection failure; would be good to run with LLVM assertions enabled. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
CUDA GPUs do not natively support Int128 operations. LLVM supports lowering code that works with Int128, https://reviews.llvm.org/rGb9fc48da832654a2b486adaa790ceaa6dba94455, but requires compiler intrinsics for many operations:
With https://reviews.llvm.org/D34708, it should be possible to resolve those intrinsics in the current module, so we can just add them to our runtime library.
The text was updated successfully, but these errors were encountered: