Thanks for this nice package! I get the following errors when trying to investigate some method using @turbo
from LoopVectorization.jl.
julia> using GFlops, LoopVectorization
julia> function foo!(dest, src)
@turbo for i in eachindex(dest, src)
dest[i] = src[i]^2
end
end
foo! (generic function with 1 method)
julia> src = randn(10^3); dest = similar(src);
julia> foo!(dest, src)
julia> @count_ops foo!(dest, src)
ERROR: MethodError: no method matching namemap(::Type{LoopVectorization.OperationType})
The applicable method may be too new: running in world age 29623, while current world is 29660.
Closest candidates are:
namemap(::Type{LoopVectorization.OperationType}) at Enums.jl:195 (method too new to be called from this world context.)
namemap(::Type{Pkg.GitTools.GitMode}) at Enums.jl:195
namemap(::Type{LibGit2.Consts.GIT_CREDTYPE}) at Enums.jl:195
...
Stacktrace:
[1] Symbol(x::LoopVectorization.OperationType)
@ Base.Enums ./Enums.jl:26
[2] show(io::IOContext{IOBuffer}, x::LoopVectorization.OperationType)
@ Base.Enums ./Enums.jl:31
[3] _show_default(io::IOContext{IOBuffer}, x::Any)
@ Base ./show.jl:412
[4] show_default
@ ./show.jl:395 [inlined]
[5] show
@ ./show.jl:390 [inlined]
[6] show_delim_array(io::IOContext{IOBuffer}, itr::Tuple{Symbol, Symbol, LoopVectorization.OperationStruct, Symbol, Symbol, LoopVectorization.OperationStruct, Symbol, Symbol, LoopVectorization.OperationStruct}, op::Char, delim::Char, cl::Char, delim_one::Bool, i1::Int64, n::Int64)
@ Base ./show.jl:1124
[7] show_delim_array
@ ./show.jl:1109 [inlined]
[8] show(io::IOContext{IOBuffer}, t::Tuple{Symbol, Symbol, LoopVectorization.OperationStruct, Symbol, Symbol, LoopVectorization.OperationStruct, Symbol, Symbol, LoopVectorization.OperationStruct})
@ Base ./show.jl:1142
[9] show_datatype(io::IOContext{IOBuffer}, x::DataType)
@ Base ./show.jl:928
[10] show(io::IOContext{IOBuffer}, x::Type)
@ Base ./show.jl:819
[11] show_datatype(io::IOContext{IOBuffer}, x::DataType)
@ Base ./show.jl:928
[12] show(io::IOContext{IOBuffer}, x::Type)
@ Base ./show.jl:819
[13] show_delim_array(io::IOBuffer, itr::Tuple{DataType}, op::Char, delim::Char, cl::Char, delim_one::Bool, i1::Int64, n::Int64)
@ Base ./show.jl:1124
[14] show_delim_array
@ ./show.jl:1109 [inlined]
[15] show
@ ./show.jl:1142 [inlined]
[16] print(io::IOBuffer, x::Tuple{DataType})
@ Base ./strings/io.jl:35
[17] print_to_string(::String, ::Vararg{Any, N} where N)
@ Base ./strings/io.jl:135
[18] string
@ ./strings/io.jl:174 [inlined]
[19] __overdub_generator__(self::Type, context_type::Type, args::Tuple{DataType})
@ Cassette ~/.julia/packages/Cassette/FwMN0/src/overdub.jl:605
[20] (::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any, N} where N)
@ Core ./boot.jl:571
[21] overdub
@ ./REPL[2]:2 [inlined]
[22] overdub(::Cassette.Context{nametype(CounterCtx), GFlops.Counter, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::typeof(foo!), ::Vector{Float64}, ::Vector{Float64})
@ Cassette ~/.julia/packages/Cassette/FwMN0/src/overdub.jl:0
[23] (::var"
@ ~/.julia/packages/GFlops/jiDsP/src/count_ops.jl:27 [inlined]
[24] overdub
@ ~/.julia/packages/GFlops/jiDsP/src/count_ops.jl:27 [inlined]
[25] overdub(overdub_context#257::Cassette.Context{nametype(CounterCtx), GFlops.Counter, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, overdub_arguments#258::var"#1#2")
@ Cassette ~/.julia/packages/Cassette/FwMN0/src/overdub.jl:0
[26] top-level scope
@ ~/.julia/packages/GFlops/jiDsP/src/count_ops.jl:26
caused by: MethodError: no method matching namemap(::Type{LoopVectorization.OperationType})
The applicable method may be too new: running in world age 29623, while current world is 29660.
Closest candidates are:
namemap(::Type{LoopVectorization.OperationType}) at Enums.jl:195 (method too new to be called from this world context.)
namemap(::Type{Pkg.GitTools.GitMode}) at Enums.jl:195
namemap(::Type{LibGit2.Consts.GIT_CREDTYPE}) at Enums.jl:195
...
Stacktrace:
[1] Symbol(x::LoopVectorization.OperationType)
@ Base.Enums ./Enums.jl:26
[2] show(io::IOContext{IOBuffer}, x::LoopVectorization.OperationType)
@ Base.Enums ./Enums.jl:31
[3] _show_default(io::IOContext{IOBuffer}, x::Any)
@ Base ./show.jl:412
[4] show_default
@ ./show.jl:395 [inlined]
[5] show
@ ./show.jl:390 [inlined]
[6] show_delim_array(io::IOBuffer, itr::Tuple{Symbol, Symbol, LoopVectorization.OperationStruct, Symbol, Symbol, LoopVectorization.OperationStruct, Symbol, Symbol, LoopVectorization.OperationStruct}, op::Char, delim::Char, cl::Char, delim_one::Bool, i1::Int64, n::Int64)
@ Base ./show.jl:1124
[7] show_delim_array
@ ./show.jl:1109 [inlined]
[8] show(io::IOBuffer, t::Tuple{Symbol, Symbol, LoopVectorization.OperationStruct, Symbol, Symbol, LoopVectorization.OperationStruct, Symbol, Symbol, LoopVectorization.OperationStruct})
@ Base ./show.jl:1142
[9] show_datatype(io::IOBuffer, x::DataType)
@ Base ./show.jl:928
[10] show(io::IOBuffer, x::Type)
@ Base ./show.jl:819
[11] print(io::IOBuffer, x::Type)
@ Base ./strings/io.jl:35
[12] #print_within_stacktrace#429
@ ./show.jl:2214 [inlined]
[13] show_signature_function(io::IOBuffer, ft::Any, demangle::Bool, fargname::String, html::Bool, qualified::Bool)
@ Base ./show.jl:2198
[14] show_tuple_as_call(io::IOBuffer, name::Symbol, sig::Type, demangle::Bool, kwargs::Nothing, argnames::Nothing, qualified::Bool)
@ Base ./show.jl:2232
[15] show_tuple_as_call(io::IOBuffer, name::Symbol, sig::Type)
@ Base ./show.jl:2220
[16] sprint(::Function, ::Symbol, ::Vararg{Any, N} where N; context::Nothing, sizehint::Int64)
@ Base ./strings/io.jl:105
[17] sprint
@ ./strings/io.jl:101 [inlined]
[18] verbose_lineinfo!(ci::Core.CodeInfo, sig::Type{var"#s25"} where var"#s25"<:Tuple)
@ Cassette ~/.julia/packages/Cassette/FwMN0/src/overdub.jl:53
[19] reflect(sigtypes::Tuple, world::UInt64)
@ Cassette ~/.julia/packages/Cassette/FwMN0/src/overdub.jl:119
[20] reflect
@ ~/.julia/packages/Cassette/FwMN0/src/overdub.jl:84 [inlined]
[21] __overdub_generator__(self::Type, context_type::Type, args::Tuple{DataType})
@ Cassette ~/.julia/packages/Cassette/FwMN0/src/overdub.jl:598
[22] (::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any, N} where N)
@ Core ./boot.jl:571
[23] overdub
@ ./REPL[2]:2 [inlined]
[24] overdub(::Cassette.Context{nametype(CounterCtx), GFlops.Counter, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, ::typeof(foo!), ::Vector{Float64}, ::Vector{Float64})
@ Cassette ~/.julia/packages/Cassette/FwMN0/src/overdub.jl:0
[25] (::var"
@ ~/.julia/packages/GFlops/jiDsP/src/count_ops.jl:27 [inlined]
[26] overdub
@ ~/.julia/packages/GFlops/jiDsP/src/count_ops.jl:27 [inlined]
[27] overdub(overdub_context#257::Cassette.Context{nametype(CounterCtx), GFlops.Counter, Nothing, Cassette.var"##PassType#259", Nothing, Nothing}, overdub_arguments#258::var"#1#2")
@ Cassette ~/.julia/packages/Cassette/FwMN0/src/overdub.jl:0
[28] top-level scope
@ ~/.julia/packages/GFlops/jiDsP/src/count_ops.jl:26