Closed
Description
Blocked on: JuliaLang/julia#52938
MWEs for that issue (in descending order of abstraction):
using CUDA
inner() = nothing
function outer()
s = CuDeviceStream()
@cuda dynamic=true stream=s shmem=1 inner()
return
end
using InteractiveUtils
function main()
InteractiveUtils.code_llvm(outer, Tuple{})
CUDA.code_llvm(outer, Tuple{})
end
isinteractive() || main()
using CUDA
inner(a, b, c, d, e, f, h) = nothing
function outer()
@cuda dynamic=true inner(1, 1, 1, 1, 1, 1, 1)
return
end
using InteractiveUtils
function main()
InteractiveUtils.code_llvm(outer, Tuple{})
CUDA.code_llvm(outer, Tuple{})
end
isinteractive() || main()
using CUDA
cudacall(f, types::Type, args...; kwargs...) = nothing
function outer(f)
@inline cudacall(f, Tuple{}; stream=Ref(42), shmem=1)
return
end
using InteractiveUtils
function main()
InteractiveUtils.code_llvm(outer, Tuple{Nothing})
CUDA.code_llvm(outer, Tuple{Nothing})
end
isinteractive() || main()