-
Notifications
You must be signed in to change notification settings - Fork 60
Open
Labels
enhancementNew feature or requestNew feature or request
Description
using Test
using CUDAdrv, CUDAnative
function vadd(a::AbstractArray{T}) where {T}
Base.unsafe_store!(unsafe_convert(CUDAnative.DevicePtr{T,AS.Global}, C_NULL), 1, 1, Val(1))
return
end
function main()
tt = Tuple{CuDeviceArray{Float32,1,AS.Global}}
CUDAnative.code_sass(vadd, tt)
end
┌ Warning: Decoding arguments to jl_apply_generic failed, please file a bug with a reproducer.
│ inst = %11 = call nonnull %jl_value_t addrspace(10)* @jl_apply_generic(%jl_value_t addrspace(10)* %8, %jl_value_t addrspace(10)** nonnull %.sub, i32 2), !dbg !33
│ bb =
│
│ julia_vadd_38.exit: ; preds = %found.i, %err.i
│ store %jl_value_t addrspace(10)* addrspacecast (%jl_value_t* inttoptr (i64 140613733290384 to %jl_value_t*) to %jl_value_t addrspace(10)*), %jl_value_t addrspace(10)** %.sub, align 8, !dbg !33
│ %10 = getelementptr inbounds [4 x %jl_value_t addrspace(10)*], [4 x %jl_value_t addrspace(10)*]* %1, i64 0, i64 1, !dbg !33
│ store %jl_value_t addrspace(10)* addrspacecast (%jl_value_t* inttoptr (i64 140613799821008 to %jl_value_t*) to %jl_value_t addrspace(10)*), %jl_value_t addrspace(10)** %10, align 8, !dbg !33
│ %11 = call nonnull %jl_value_t addrspace(10)* @jl_apply_generic(%jl_value_t addrspace(10)* %8, %jl_value_t addrspace(10)** nonnull %.sub, i32 2), !dbg !33
│ store %jl_value_t addrspace(10)* %11, %jl_value_t addrspace(10)** %.sub, align 8, !dbg !33
│ store %jl_value_t addrspace(10)* addrspacecast (%jl_value_t* inttoptr (i64 140613704188000 to %jl_value_t*) to %jl_value_t addrspace(10)*), %jl_value_t addrspace(10)** %10, align 8, !dbg !33
│ %12 = getelementptr inbounds [4 x %jl_value_t addrspace(10)*], [4 x %jl_value_t addrspace(10)*]* %1, i64 0, i64 2, !dbg !33
│ store %jl_value_t addrspace(10)* addrspacecast (%jl_value_t* inttoptr (i64 140613704188000 to %jl_value_t*) to %jl_value_t addrspace(10)*), %jl_value_t addrspace(10)** %12, align 8, !dbg !33
│ %13 = getelementptr inbounds [4 x %jl_value_t addrspace(10)*], [4 x %jl_value_t addrspace(10)*]* %1, i64 0, i64 3, !dbg !33
│ store %jl_value_t addrspace(10)* addrspacecast (%jl_value_t* inttoptr (i64 140613798418304 to %jl_value_t*) to %jl_value_t addrspace(10)*), %jl_value_t addrspace(10)** %13, align 8, !dbg !33
│ %14 = call nonnull %jl_value_t addrspace(10)* @jl_apply_generic(%jl_value_t addrspace(10)* addrspacecast (%jl_value_t* inttoptr (i64 140613817508064 to %jl_value_t*) to %jl_value_t addrspace(10)*), %jl_value_t addrspace(10)** nonnull %.sub, i32 4), !dbg !33
│ ret void
│
└ @ CUDAnative ~/Julia/pkg/CUDAnative/src/compiler/validation.jl:222
ERROR: InvalidIRError: compiling vadd(CuDeviceArray{Float32,1,CUDAnative.AS.Global}) resulted in invalid LLVM IR
Reason: unsupported use of an undefined name (use of 'unsafe_convert')
Stacktrace:
[1] vadd at /home/tbesard/Julia/wip2.jl:6
Reason: unsupported call to the Julia runtime (call to jl_apply_generic)
Stacktrace:
[1] vadd at /home/tbesard/Julia/wip2.jl:6
Reason: unsupported dynamic function invocation (call to unsafe_store!)
Stacktrace:
[1] vadd at /home/tbesard/Julia/wip2.jl:6
Stacktrace:
[1] check_ir(::CUDAnative.CompilerJob, ::LLVM.Module) at /home/tbesard/Julia/pkg/CUDAnative/src/compiler/validation.jl:114
[2] macro expansion at /home/tbesard/Julia/pkg/CUDAnative/src/compiler/driver.jl:188 [inlined]
[3] macro expansion at /home/tbesard/Julia/pkg/depot/packages/TimerOutputs/7zSea/src/TimerOutput.jl:216 [inlined]
[4] #codegen#130(::Bool, ::Bool, ::Bool, ::Bool, ::Bool, ::typeof(CUDAnative.codegen), ::Symbol, ::CUDAnative.CompilerJob) at /home/tbesard/Julia/pkg/CUDAnative/src/compiler/driver.jl:186
[5] codegen at /home/tbesard/Julia/pkg/CUDAnative/src/compiler/driver.jl:57 [inlined]
[6] code_sass(::Base.TTY, ::CUDAnative.CompilerJob) at /home/tbesard/Julia/pkg/CUDAnative/src/reflection.jl:110
[7] #code_sass#189(::VersionNumber, ::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(CUDAnative.code_sass), ::Base.TTY, ::Any, ::Any) at /home/tbesard/Julia/pkg/CUDAnative/src/reflection.jl:100
[8] code_sass(::Base.TTY, ::Any, ::Any) at /home/tbesard/Julia/pkg/CUDAnative/src/reflection.jl:98
[9] #code_sass#190(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(CUDAnative.code_sass), ::Any, ::Any) at /home/tbesard/Julia/pkg/CUDAnative/src/reflection.jl:134
[10] code_sass at /home/tbesard/Julia/pkg/CUDAnative/src/reflection.jl:134 [inlined]
[11] main() at /home/tbesard/Julia/wip2.jl:12
[12] top-level scope at REPL[5]:1
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request