We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
In an attempt to circumvent #1350 I run into another issue with CUDA 3.8.0 on Julia 1.6.5 which does not occur on 1.7:
julia> using CUDA [ Info: Precompiling CUDA [052768ef-5323-5732-b1bb-66c8b64840ba] WARNING: could not import Printf.ini_hex into BFloat16s WARNING: could not import Printf.ini_HEX into BFloat16s julia> f(x) = log1p(x) f (generic function with 1 method) julia> g(x) = @fastmath log1p(x) g (generic function with 1 method) julia> map(f, cu([0.1,0.2])) 2-element CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}: 0.09531018 0.18232156 julia> map(g, cu([0.1,0.2])) ERROR: InvalidIRError: compiling kernel broadcast_kernel(CUDA.CuKernelContext, CuDeviceVector{Float32, 1}, Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(g), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tup le{Int64}}}}, Int64) resulted in invalid LLVM IR Reason: unsupported call through a literal pointer (call to log1pf) Stacktrace: [1] log1p_fast @ ./fastmath.jl:295 [2] g @ ./REPL[5]:1 [3] _broadcast_getindex_evalf @ ./broadcast.jl:648 [4] _broadcast_getindex @ ./broadcast.jl:621 [5] getindex @ ./broadcast.jl:575 [6] broadcast_kernel @ ~/.julia/packages/GPUArrays/umZob/src/host/broadcast.jl:59 Stacktrace: [1] check_ir(job::GPUCompiler.CompilerJob{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams, GPUCompiler.FunctionSpec{GPUArrays.var"#broadcast_kernel#17", Tuple{CUDA.CuKernelContext, CuDeviceVector{Float32, 1}, Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(g), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}}}, Int64}}}, args::LLVM.Module) @ GPUCompiler ~/.julia/packages/GPUCompiler/1Ajz2/src/validation.jl:111 [2] macro expansion @ ~/.julia/packages/GPUCompiler/1Ajz2/src/driver.jl:326 [inlined] [3] macro expansion @ ~/.julia/packages/TimerOutputs/5tW2E/src/TimerOutput.jl:252 [inlined] [4] macro expansion @ ~/.julia/packages/GPUCompiler/1Ajz2/src/driver.jl:324 [inlined] [5] emit_asm(job::GPUCompiler.CompilerJob, ir::LLVM.Module; strip::Bool, validate::Bool, format::LLVM.API.LLVMCodeGenFileType) @ GPUCompiler ~/.julia/packages/GPUCompiler/1Ajz2/src/utils.jl:64 [6] cufunction_compile(job::GPUCompiler.CompilerJob) @ CUDA ~/.julia/packages/CUDA/bki2w/src/compiler/execution.jl:326 [7] cached_compilation(cache::Dict{UInt64, Any}, job::GPUCompiler.CompilerJob, compiler::typeof(CUDA.cufunction_compile), linker::typeof(CUDA.cufunction_link)) @ GPUCompiler ~/.julia/packages/GPUCompiler/1Ajz2/src/cache.jl:90 [8] cufunction(f::GPUArrays.var"#broadcast_kernel#17", tt::Type{Tuple{CUDA.CuKernelContext, CuDeviceVector{Float32, 1}, Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(g), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, T uple{Bool}, Tuple{Int64}}}}, Int64}}; name::Nothing, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ CUDA ~/.julia/packages/CUDA/bki2w/src/compiler/execution.jl:297 [9] cufunction @ ~/.julia/packages/CUDA/bki2w/src/compiler/execution.jl:291 [inlined] [10] macro expansion @ ~/.julia/packages/CUDA/bki2w/src/compiler/execution.jl:102 [inlined] [11] #launch_heuristic#268 @ ~/.julia/packages/CUDA/bki2w/src/gpuarrays.jl:17 [inlined] [12] copyto! @ ~/.julia/packages/GPUArrays/umZob/src/host/broadcast.jl:65 [inlined] [13] copyto! @ ./broadcast.jl:936 [inlined] [14] copy @ ~/.julia/packages/GPUArrays/umZob/src/host/broadcast.jl:47 [inlined] [15] materialize(bc::Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{1}, Nothing, typeof(g), Tuple{CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}) @ Base.Broadcast ./broadcast.jl:883 [16] map(::Function, ::CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}) @ GPUArrays ~/.julia/packages/GPUArrays/umZob/src/host/broadcast.jl:90 [17] top-level scope @ REPL[7]:1 [18] top-level scope @ ~/.julia/packages/CUDA/bki2w/src/initialization.jl:52
The text was updated successfully, but these errors were encountered:
Successfully merging a pull request may close this issue.
In an attempt to circumvent #1350 I run into another issue with CUDA 3.8.0 on Julia 1.6.5 which does not occur on 1.7:
The text was updated successfully, but these errors were encountered: