Skip to content

Both ExprTools and LLVM export "parameters" #214

@lcw

Description

@lcw

With version 0.1.4 of ExprTools (see this commit) both ExprTools and LLVM export "parameters". This causes errors like the following when using CUDA.jl.

WARNING: both ExprTools and LLVM export "parameters"; uses of it in module CUDA must be qualified
cells: Error During Test at /home/lwilcox/builds/ay14VxBm/0/lwilcox/Bennu.jl/test/cells.jl:1
  Got exception outside of a @test
  UndefVarError: parameters not defined
  Stacktrace:
    [1] classify_arguments(job::GPUCompiler.CompilerJob, codegen_f::LLVM.Function)
      @ GPUCompiler ~/.julia/packages/GPUCompiler/OyOEp/src/irgen.jl:298
    [2] lower_byval(job::GPUCompiler.CompilerJob, mod::LLVM.Module, entry_f::LLVM.Function)
      @ GPUCompiler ~/.julia/packages/GPUCompiler/OyOEp/src/irgen.jl:368
    [3] process_entry!(job::GPUCompiler.CompilerJob{GPUCompiler.PTXCompilerTarget, P, F} where {P, F}, mod::LLVM.Module, entry::LLVM.Function)
      @ GPUCompiler ~/.julia/packages/GPUCompiler/OyOEp/src/ptx.jl:103
    [4] irgen(job::GPUCompiler.CompilerJob, method_instance::Core.MethodInstance)
      @ GPUCompiler ~/.julia/packages/GPUCompiler/OyOEp/src/irgen.jl:52
    [5] macro expansion
      @ ~/.julia/packages/GPUCompiler/OyOEp/src/driver.jl:149 [inlined]
    [6] macro expansion
      @ ~/.julia/packages/TimerOutputs/ULC3Q/src/TimerOutput.jl:237 [inlined]
    [7] macro expansion
      @ ~/.julia/packages/GPUCompiler/OyOEp/src/driver.jl:148 [inlined]
    [8] emit_llvm(job::GPUCompiler.CompilerJob, method_instance::Any; libraries::Bool, deferred_codegen::Bool, optimize::Bool, only_entry::Bool)
      @ GPUCompiler ~/.julia/packages/GPUCompiler/OyOEp/src/utils.jl:62
    [9] emit_llvm
      @ ~/.julia/packages/GPUCompiler/OyOEp/src/utils.jl:60 [inlined]
   [10] macro expansion
      @ ~/.julia/packages/TimerOutputs/ULC3Q/src/TimerOutput.jl:221 [inlined]
   [11] macro expansion
      @ ~/.julia/packages/CUDA/Ozu5O/src/compiler/execution.jl:316 [inlined]
   [12] cufunction_compile(job::GPUCompiler.CompilerJob)
      @ CUDA ~/.julia/packages/TimerOutputs/ULC3Q/src/TimerOutput.jl:221
   [13] cached_compilation(cache::Dict{UInt64, Any}, job::GPUCompiler.CompilerJob, compiler::typeof(CUDA.cufunction_compile), linker::typeof(CUDA.cufunction_link))
      @ GPUCompiler ~/.julia/packages/GPUCompiler/OyOEp/src/cache.jl:89
   [14] macro expansion
      @ ~/.julia/packages/CUDA/Ozu5O/src/compiler/execution.jl:288 [inlined]
   [15] cufunction(f::GPUArrays.var"#broadcast_kernel#16", tt::Type{Tuple{CUDA.CuKernelContext, CuDeviceMatrix{SVector{2, Float32}, 1}, Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, CUDA.var"#282#283"{SVector{S, T} where {S, T}}, Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Int64}}; name::Nothing, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
      @ CUDA ~/.julia/packages/TimerOutputs/ULC3Q/src/TimerOutput.jl:221
   [16] cufunction
      @ ~/.julia/packages/TimerOutputs/ULC3Q/src/TimerOutput.jl:214 [inlined]
   [17] macro expansion
      @ ~/.julia/packages/CUDA/Ozu5O/src/compiler/execution.jl:102 [inlined]
   [18] #launch_heuristic#238
      @ ~/.julia/packages/CUDA/Ozu5O/src/gpuarrays.jl:17 [inlined]
   [19] launch_heuristic
      @ ~/.julia/packages/CUDA/Ozu5O/src/gpuarrays.jl:17 [inlined]
   [20] copyto!
      @ ~/.julia/packages/GPUArrays/8dzSJ/src/host/broadcast.jl:63 [inlined]
   [21] copyto!
      @ ./broadcast.jl:936 [inlined]
   [22] copy
      @ ~/.julia/packages/GPUArrays/8dzSJ/src/host/broadcast.jl:47 [inlined]
   [23] materialize(bc::Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, CUDA.var"#282#283"{SVector{S, T} where {S, T}}, Tuple{CuArray{Float32, 2}, CuArray{Float32, 2}}})
      @ Base.Broadcast ./broadcast.jl:883
   [24] (LobattoCell{Float32, CuArray, S, N, O, P, D, M, FM, E, C} where {S, N, O, P, D, M, FM, E, C})(::Int64, ::Vararg{Int64, N} where N)
      @ Bennu ~/builds/ay14VxBm/0/lwilcox/Bennu.jl/src/cells.jl:52
   [25] macro expansion
      @ ~/builds/ay14VxBm/0/lwilcox/Bennu.jl/test/cells.jl:10 [inlined]
   [26] macro expansion
      @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Test/src/Test.jl:1151 [inlined]
   [27] top-level scope
      @ ~/builds/ay14VxBm/0/lwilcox/Bennu.jl/test/cells.jl:2
   [28] include(fname::String)
      @ Base.MainInclude ./client.jl:444
   [29] top-level scope
      @ ~/builds/ay14VxBm/0/lwilcox/Bennu.jl/test/runtests.jl:25
   [30] include(fname::String)
      @ Base.MainInclude ./client.jl:444
   [31] top-level scope
      @ none:6
   [32] eval
      @ ./boot.jl:360 [inlined]
   [33] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:261
   [34] _start()
      @ Base ./client.jl:485

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions