-
-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
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
allow out of place function definitions #75
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ChrisRackauckas
force-pushed
the
oop
branch
3 times, most recently
from
March 27, 2021 10:53
6992f78
to
57f90f3
Compare
julia> sol = solve(monteprob,Tsit5(),EnsembleGPUArray(),trajectories=10_000,saveat=1.0f0)
ERROR: InvalidIRError: compiling kernel gpu_gpu_kernel_oop(Cassette.Context{nametype(CUDACtx), KernelAbstractions.CompilerMetadata{KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.DynamicCheck, Nothing, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, KernelAbstractions.NDIteration.NDRange{1, KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.DynamicSize, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}}}, Nothing, KernelAbstractions.var"##PassType#257", Nothing, Cassette.DisableHooks}, typeof(DiffEqGPU.gpu_gpu_kernel_oop), typeof(lorenz), CUDA.CuDeviceMatrix{Float32, 1}, CUDA.CuDeviceMatrix{Float32, 1}, CUDA.CuDeviceMatrix{Float32, 1}, Float32) resulted in invalid LLVM IR
Reason: unsupported call to the Julia runtime (call to jl_f_tuple)
Stacktrace:
[1] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:626
[2] multiple call sites
@ unknown:0
Reason: unsupported call to the Julia runtime (call to jl_f_getfield)
Stacktrace:
[1] call
@ ~\.julia\packages\Cassette\jxIEh\src\context.jl:456
[2] (::Core.var"
@ iobuffer.jl:112
[3] overdub
@ iobuffer.jl:112
[4] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
[5] multiple call sites
@ unknown:0
Reason: unsupported call through a literal pointer (call to jl_alloc_string)
Stacktrace:
[1] _string_n(::Int64)
@ strings\string.jl:74
[2] overdub
@ strings\string.jl:74
[3] StringVector(::Int64)
@ iobuffer.jl:31
[4] overdub
@ iobuffer.jl:31
[5] recurse
@ iobuffer.jl:114
[6] (::Core.var"
@ iobuffer.jl:112
[7] overdub
@ iobuffer.jl:112
[8] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
[9] multiple call sites
@ unknown:0
Reason: unsupported call through a literal pointer (call to jl_string_to_array)
Stacktrace:
[1] unsafe_wrap(::Type{Vector{UInt8}}, ::String)
@ strings\string.jl:85
[2] overdub
@ strings\string.jl:85
[3] StringVector(::Int64)
@ iobuffer.jl:31
[4] overdub
@ iobuffer.jl:31
[5] recurse
@ iobuffer.jl:114
[6] (::Core.var"
@ iobuffer.jl:112
[7] overdub
@ iobuffer.jl:112
[8] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
[9] multiple call sites
@ unknown:0
Reason: unsupported call through a literal pointer (call to memset)
Stacktrace:
[1] fill!(::Vector{UInt8}, ::Int64)
@ array.jl:406
[2] overdub
@ array.jl:406
[3] recurse
@ iobuffer.jl:121
[4] (::Core.var"
@ iobuffer.jl:112
[5] overdub
@ iobuffer.jl:112
[6] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
[7] multiple call sites
@ unknown:0
Reason: unsupported call to the Julia runtime (call to jl_object_id_)
Stacktrace:
[1] objectid(::CUDA.CuDeviceMatrix{Float32, 1})
@ reflection.jl:291
[2] overdub
@ reflection.jl:291
[3] dataids(::CUDA.CuDeviceMatrix{Float32, 1})
@ abstractarray.jl:1407
[4] overdub
@ abstractarray.jl:1407
[5] mightalias(::CUDA.CuDeviceMatrix{Float32, 1}, ::SVector{3, Float32})
@ abstractarray.jl:1384
[6] overdub
@ abstractarray.jl:1384
[7] unalias(::CUDA.CuDeviceMatrix{Float32, 1}, ::SVector{3, Float32})
@ abstractarray.jl:1349
[8] overdub
@ abstractarray.jl:1349
[9] overdub
@ multidimensional.jl:893
[10] overdub
@ multidimensional.jl:887
[11] overdub
@ abstractarray.jl:1267
[12] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[13] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[14] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call to the Julia runtime (call to jl_f_getfield)
Stacktrace:
[1] getindex(::Tuple{Int64, String}, ::Int64)
@ tuple.jl:29
[2] overdub
@ tuple.jl:29
[3] overdub
@ tuple.jl:66
[4] overdub
@ strings\io.jl:130
[5] string(::Int64, ::String)
@ strings\io.jl:174
[6] overdub
@ strings\io.jl:174
[7] dims2string(::Tuple{Int64})
@ show.jl:2642
[8] overdub
@ show.jl:2642
[9] overdub
@ indices.jl:193
[10] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[11] overdub
@ indices.jl:248
[12] overdub
@ multidimensional.jl:896
[13] overdub
@ multidimensional.jl:887
[14] overdub
@ abstractarray.jl:1267
[15] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[16] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[17] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call to the Julia runtime (call to jl_excstack_state)
Stacktrace:
[1] overdub
@ strings\io.jl:34
[2] overdub
@ strings\io.jl:135
[3] string(::Int64, ::String)
@ strings\io.jl:174
[4] overdub
@ strings\io.jl:174
[5] dims2string(::Tuple{Int64})
@ show.jl:2642
[6] overdub
@ show.jl:2642
[7] overdub
@ indices.jl:193
[8] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[9] overdub
@ indices.jl:248
[10] overdub
@ multidimensional.jl:896
[11] overdub
@ multidimensional.jl:887
[12] overdub
@ abstractarray.jl:1267
[13] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[14] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[15] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call to an unknown function (call to julia.except_enter)
Stacktrace:
[1] overdub
@ strings\io.jl:34
[2] overdub
@ strings\io.jl:135
[3] string(::Int64, ::String)
@ strings\io.jl:174
[4] overdub
@ strings\io.jl:174
[5] dims2string(::Tuple{Int64})
@ show.jl:2642
[6] overdub
@ show.jl:2642
[7] overdub
@ indices.jl:193
[8] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[9] overdub
@ indices.jl:248
[10] overdub
@ multidimensional.jl:896
[11] overdub
@ multidimensional.jl:887
[12] overdub
@ abstractarray.jl:1267
[13] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[14] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[15] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_alloc_string)
Stacktrace:
[1] _string_n(::Int64)
@ strings\string.jl:74
[2] overdub
@ strings\string.jl:74
[3] StringVector(::Int64)
@ iobuffer.jl:31
[4] overdub
@ iobuffer.jl:31
[5] overdub
@ intfuncs.jl:680
[6] overdub
@ intfuncs.jl:770
[7] string(::Int64)
@ intfuncs.jl:761
[8] overdub
@ intfuncs.jl:761
[9] show(::IOBuffer, ::Int64)
@ show.jl:969
[10] overdub
@ show.jl:969
[11] overdub
@ strings\io.jl:35
[12] overdub
@ strings\io.jl:135
[13] string(::Int64, ::String)
@ strings\io.jl:174
[14] overdub
@ strings\io.jl:174
[15] dims2string(::Tuple{Int64})
@ show.jl:2642
[16] overdub
@ show.jl:2642
[17] overdub
@ indices.jl:193
[18] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[19] overdub
@ indices.jl:248
[20] overdub
@ multidimensional.jl:896
[21] overdub
@ multidimensional.jl:887
[22] overdub
@ abstractarray.jl:1267
[23] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[24] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[25] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_string_to_array)
Stacktrace:
[1] unsafe_wrap(::Type{Vector{UInt8}}, ::String)
@ strings\string.jl:85
[2] overdub
@ strings\string.jl:85
[3] StringVector(::Int64)
@ iobuffer.jl:31
[4] overdub
@ iobuffer.jl:31
[5] overdub
@ intfuncs.jl:680
[6] overdub
@ intfuncs.jl:770
[7] string(::Int64)
@ intfuncs.jl:761
[8] overdub
@ intfuncs.jl:761
[9] show(::IOBuffer, ::Int64)
@ show.jl:969
[10] overdub
@ show.jl:969
[11] overdub
@ strings\io.jl:35
[12] overdub
@ strings\io.jl:135
[13] string(::Int64, ::String)
@ strings\io.jl:174
[14] overdub
@ strings\io.jl:174
[15] dims2string(::Tuple{Int64})
@ show.jl:2642
[16] overdub
@ show.jl:2642
[17] overdub
@ indices.jl:193
[18] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[19] overdub
@ indices.jl:248
[20] overdub
@ multidimensional.jl:896
[21] overdub
@ multidimensional.jl:887
[22] overdub
@ abstractarray.jl:1267
[23] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[24] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[25] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_to_string)
Stacktrace:
[1] String(::Vector{UInt8})
@ strings\string.jl:53
[2] overdub
@ strings\string.jl:53
[3] overdub
@ intfuncs.jl:694
[4] overdub
@ intfuncs.jl:770
[5] string(::Int64)
@ intfuncs.jl:761
[6] overdub
@ intfuncs.jl:761
[7] show(::IOBuffer, ::Int64)
@ show.jl:969
[8] overdub
@ show.jl:969
[9] overdub
@ strings\io.jl:35
[10] overdub
@ strings\io.jl:135
[11] string(::Int64, ::String)
@ strings\io.jl:174
[12] overdub
@ strings\io.jl:174
[13] dims2string(::Tuple{Int64})
@ show.jl:2642
[14] overdub
@ show.jl:2642
[15] overdub
@ indices.jl:193
[16] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[17] overdub
@ indices.jl:248
[18] overdub
@ multidimensional.jl:896
[19] overdub
@ multidimensional.jl:887
[20] overdub
@ abstractarray.jl:1267
[21] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[22] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[23] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_grow_end)
Stacktrace:
[1] _growend!(::Vector{UInt8}, ::UInt64)
@ array.jl:884
[2] overdub
@ array.jl:884
[3] overdub
@ iobuffer.jl:330
[4] unsafe_write(::IOBuffer, ::Ptr{UInt8}, ::UInt64)
@ iobuffer.jl:419
[5] overdub
@ iobuffer.jl:419
[6] write(::IOBuffer, ::String)
@ strings\io.jl:185
[7] overdub
@ strings\io.jl:185
[8] show(::IOBuffer, ::Int64)
@ show.jl:969
[9] overdub
@ show.jl:969
[10] overdub
@ strings\io.jl:35
[11] overdub
@ strings\io.jl:135
[12] string(::Int64, ::String)
@ strings\io.jl:174
[13] overdub
@ strings\io.jl:174
[14] dims2string(::Tuple{Int64})
@ show.jl:2642
[15] overdub
@ show.jl:2642
[16] overdub
@ indices.jl:193
[17] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[18] overdub
@ indices.jl:248
[19] overdub
@ multidimensional.jl:896
[20] overdub
@ multidimensional.jl:887
[21] overdub
@ abstractarray.jl:1267
[22] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[23] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[24] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call to the Julia runtime (call to jl_pop_handler)
Stacktrace:
[1] overdub
@ strings\io.jl:35
[2] overdub
@ strings\io.jl:135
[3] string(::Int64, ::String)
@ strings\io.jl:174
[4] overdub
@ strings\io.jl:174
[5] dims2string(::Tuple{Int64})
@ show.jl:2642
[6] overdub
@ show.jl:2642
[7] overdub
@ indices.jl:193
[8] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[9] overdub
@ indices.jl:248
[10] overdub
@ multidimensional.jl:896
[11] overdub
@ multidimensional.jl:887
[12] overdub
@ abstractarray.jl:1267
[13] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[14] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[15] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_rethrow)
Stacktrace:
[1] rethrow()
@ error.jl:59
[2] overdub
@ error.jl:59
[3] overdub
@ strings\io.jl:37
[4] overdub
@ strings\io.jl:135
[5] string(::Int64, ::String)
@ strings\io.jl:174
[6] overdub
@ strings\io.jl:174
[7] dims2string(::Tuple{Int64})
@ show.jl:2642
[8] overdub
@ show.jl:2642
[9] overdub
@ indices.jl:193
[10] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[11] overdub
@ indices.jl:248
[12] overdub
@ multidimensional.jl:896
[13] overdub
@ multidimensional.jl:887
[14] overdub
@ abstractarray.jl:1267
[15] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[16] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[17] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_grow_end)
Stacktrace:
[1] _growend!(::Vector{UInt8}, ::UInt64)
@ array.jl:884
[2] overdub
@ array.jl:884
[3] overdub
@ iobuffer.jl:330
[4] unsafe_write(::IOBuffer, ::Ptr{UInt8}, ::UInt64)
@ iobuffer.jl:419
[5] overdub
@ iobuffer.jl:419
[6] write(::IOBuffer, ::String)
@ strings\io.jl:185
[7] overdub
@ strings\io.jl:185
[8] print(::IOBuffer, ::String)
@ strings\io.jl:187
[9] overdub
@ strings\io.jl:187
[10] overdub
@ strings\io.jl:135
[11] string(::Int64, ::String)
@ strings\io.jl:174
[12] overdub
@ strings\io.jl:174
[13] dims2string(::Tuple{Int64})
@ show.jl:2642
[14] overdub
@ show.jl:2642
[15] overdub
@ indices.jl:193
[16] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[17] overdub
@ indices.jl:248
[18] overdub
@ multidimensional.jl:896
[19] overdub
@ multidimensional.jl:887
[20] overdub
@ abstractarray.jl:1267
[21] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[22] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[23] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call to the Julia runtime (call to jl_f_getfield)
Stacktrace:
[1] getindex(::Tuple{Int64, String}, ::Int64)
@ tuple.jl:29
[2] overdub
@ tuple.jl:29
[3] overdub
@ tuple.jl:66
[4] overdub
@ strings\io.jl:135
[5] string(::Int64, ::String)
@ strings\io.jl:174
[6] overdub
@ strings\io.jl:174
[7] dims2string(::Tuple{Int64})
@ show.jl:2642
[8] overdub
@ show.jl:2642
[9] overdub
@ indices.jl:193
[10] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[11] overdub
@ indices.jl:248
[12] overdub
@ multidimensional.jl:896
[13] overdub
@ multidimensional.jl:887
[14] overdub
@ abstractarray.jl:1267
[15] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[16] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[17] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_grow_end)
Stacktrace:
[1] _growend!(::Vector{UInt8}, ::Int64)
@ array.jl:884
[2] overdub
@ array.jl:884
[3] overdub
@ array.jl:1104
[4] overdub
@ strings\io.jl:137
[5] string(::Int64, ::String)
@ strings\io.jl:174
[6] overdub
@ strings\io.jl:174
[7] dims2string(::Tuple{Int64})
@ show.jl:2642
[8] overdub
@ show.jl:2642
[9] overdub
@ indices.jl:193
[10] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[11] overdub
@ indices.jl:248
[12] overdub
@ multidimensional.jl:896
[13] overdub
@ multidimensional.jl:887
[14] overdub
@ abstractarray.jl:1267
[15] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[16] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[17] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_del_end)
Stacktrace:
[1] _deleteend!(::Vector{UInt8}, ::Int64)
@ array.jl:893
[2] overdub
@ array.jl:893
[3] overdub
@ array.jl:1109
[4] overdub
@ strings\io.jl:137
[5] string(::Int64, ::String)
@ strings\io.jl:174
[6] overdub
@ strings\io.jl:174
[7] dims2string(::Tuple{Int64})
@ show.jl:2642
[8] overdub
@ show.jl:2642
[9] overdub
@ indices.jl:193
[10] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[11] overdub
@ indices.jl:248
[12] overdub
@ multidimensional.jl:896
[13] overdub
@ multidimensional.jl:887
[14] overdub
@ abstractarray.jl:1267
[15] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[16] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[17] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_to_string)
Stacktrace:
[1] String(::Vector{UInt8})
@ strings\string.jl:53
[2] overdub
@ strings\string.jl:53
[3] overdub
@ strings\io.jl:137
[4] string(::Int64, ::String)
@ strings\io.jl:174
[5] overdub
@ strings\io.jl:174
[6] dims2string(::Tuple{Int64})
@ show.jl:2642
[7] overdub
@ show.jl:2642
[8] overdub
@ indices.jl:193
[9] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[10] overdub
@ indices.jl:248
[11] overdub
@ multidimensional.jl:896
[12] overdub
@ multidimensional.jl:887
[13] overdub
@ abstractarray.jl:1267
[14] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[15] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[16] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_alloc_string)
Stacktrace:
[1] _string_n(::Int64)
@ strings\string.jl:74
[2] overdub
@ strings\string.jl:74
[3] StringVector(::Int64)
@ iobuffer.jl:31
[4] overdub
@ iobuffer.jl:31
[5] overdub
@ intfuncs.jl:680
[6] overdub
@ intfuncs.jl:770
[7] string(::Int64)
@ intfuncs.jl:761
[8] overdub
@ intfuncs.jl:761
[9] map(::typeof(string), ::Tuple{Int64, Int64})
@ tuple.jl:214
[10] overdub
@ tuple.jl:214
[11] dims2string(::Tuple{Int64, Int64})
@ show.jl:2642
[12] overdub
@ show.jl:2642
[13] overdub
@ indices.jl:193
[14] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[15] overdub
@ indices.jl:248
[16] overdub
@ multidimensional.jl:896
[17] overdub
@ multidimensional.jl:887
[18] overdub
@ abstractarray.jl:1267
[19] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[20] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[21] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_string_to_array)
Stacktrace:
[1] unsafe_wrap(::Type{Vector{UInt8}}, ::String)
@ strings\string.jl:85
[2] overdub
@ strings\string.jl:85
[3] StringVector(::Int64)
@ iobuffer.jl:31
[4] overdub
@ iobuffer.jl:31
[5] overdub
@ intfuncs.jl:680
[6] overdub
@ intfuncs.jl:770
[7] string(::Int64)
@ intfuncs.jl:761
[8] overdub
@ intfuncs.jl:761
[9] map(::typeof(string), ::Tuple{Int64, Int64})
@ tuple.jl:214
[10] overdub
@ tuple.jl:214
[11] dims2string(::Tuple{Int64, Int64})
@ show.jl:2642
[12] overdub
@ show.jl:2642
[13] overdub
@ indices.jl:193
[14] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[15] overdub
@ indices.jl:248
[16] overdub
@ multidimensional.jl:896
[17] overdub
@ multidimensional.jl:887
[18] overdub
@ abstractarray.jl:1267
[19] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[20] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[21] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_to_string)
Stacktrace:
[1] String(::Vector{UInt8})
@ strings\string.jl:53
[2] overdub
@ strings\string.jl:53
[3] overdub
@ intfuncs.jl:694
[4] overdub
@ intfuncs.jl:770
[5] string(::Int64)
@ intfuncs.jl:761
[6] overdub
@ intfuncs.jl:761
[7] map(::typeof(string), ::Tuple{Int64, Int64})
@ tuple.jl:214
[8] overdub
@ tuple.jl:214
[9] dims2string(::Tuple{Int64, Int64})
@ show.jl:2642
[10] overdub
@ show.jl:2642
[11] overdub
@ indices.jl:193
[12] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[13] overdub
@ indices.jl:248
[14] overdub
@ multidimensional.jl:896
[15] overdub
@ multidimensional.jl:887
[16] overdub
@ abstractarray.jl:1267
[17] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[18] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[19] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_grow_end)
Stacktrace:
[1] _growend!(::Vector{UInt8}, ::UInt64)
@ array.jl:884
[2] overdub
@ array.jl:884
[3] overdub
@ iobuffer.jl:330
[4] write(::IOBuffer, ::UInt8)
@ iobuffer.jl:446
[5] overdub
@ iobuffer.jl:446
[6] overdub
@ io.jl:700
[7] print(::IOBuffer, ::Char)
@ char.jl:229
[8] overdub
@ char.jl:229
[9] overdub
@ strings\io.jl:287
[10] overdub
@ strings\io.jl:105
[11] sprint(::typeof(join), ::Tuple{String, String}, ::Char)
@ strings\io.jl:101
[12] overdub
@ strings\io.jl:101
[13] join(::Tuple{String, String}, ::Char)
@ strings\io.jl:293
[14] overdub
@ strings\io.jl:293
[15] dims2string(::Tuple{Int64, Int64})
@ show.jl:2642
[16] overdub
@ show.jl:2642
[17] overdub
@ indices.jl:193
[18] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[19] overdub
@ indices.jl:248
[20] overdub
@ multidimensional.jl:896
[21] overdub
@ multidimensional.jl:887
[22] overdub
@ abstractarray.jl:1267
[23] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[24] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[25] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_grow_end)
Stacktrace:
[1] _growend!(::Vector{UInt8}, ::UInt64)
@ array.jl:884
[2] overdub
@ array.jl:884
[3] overdub
@ iobuffer.jl:330
[4] unsafe_write(::IOBuffer, ::Ptr{UInt8}, ::UInt64)
@ iobuffer.jl:419
[5] overdub
@ iobuffer.jl:419
[6] write(::IOBuffer, ::String)
@ strings\io.jl:185
[7] overdub
@ strings\io.jl:185
[8] print(::IOBuffer, ::String)
@ strings\io.jl:187
[9] overdub
@ strings\io.jl:187
[10] overdub
@ strings\io.jl:288
[11] overdub
@ strings\io.jl:105
[12] sprint(::typeof(join), ::Tuple{String, String}, ::Char)
@ strings\io.jl:101
[13] overdub
@ strings\io.jl:101
[14] join(::Tuple{String, String}, ::Char)
@ strings\io.jl:293
[15] overdub
@ strings\io.jl:293
[16] dims2string(::Tuple{Int64, Int64})
@ show.jl:2642
[17] overdub
@ show.jl:2642
[18] overdub
@ indices.jl:193
[19] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[20] overdub
@ indices.jl:248
[21] overdub
@ multidimensional.jl:896
[22] overdub
@ multidimensional.jl:887
[23] overdub
@ abstractarray.jl:1267
[24] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[25] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[26] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_grow_end)
Stacktrace:
[1] _growend!(::Vector{UInt8}, ::Int64)
@ array.jl:884
[2] overdub
@ array.jl:884
[3] overdub
@ array.jl:1104
[4] overdub
@ strings\io.jl:107
[5] sprint(::typeof(join), ::Tuple{String, String}, ::Char)
@ strings\io.jl:101
[6] overdub
@ strings\io.jl:101
[7] join(::Tuple{String, String}, ::Char)
@ strings\io.jl:293
[8] overdub
@ strings\io.jl:293
[9] dims2string(::Tuple{Int64, Int64})
@ show.jl:2642
[10] overdub
@ show.jl:2642
[11] overdub
@ indices.jl:193
[12] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[13] overdub
@ indices.jl:248
[14] overdub
@ multidimensional.jl:896
[15] overdub
@ multidimensional.jl:887
[16] overdub
@ abstractarray.jl:1267
[17] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[18] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[19] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_del_end)
Stacktrace:
[1] _deleteend!(::Vector{UInt8}, ::Int64)
@ array.jl:893
[2] overdub
@ array.jl:893
[3] overdub
@ array.jl:1109
[4] overdub
@ strings\io.jl:107
[5] sprint(::typeof(join), ::Tuple{String, String}, ::Char)
@ strings\io.jl:101
[6] overdub
@ strings\io.jl:101
[7] join(::Tuple{String, String}, ::Char)
@ strings\io.jl:293
[8] overdub
@ strings\io.jl:293
[9] dims2string(::Tuple{Int64, Int64})
@ show.jl:2642
[10] overdub
@ show.jl:2642
[11] overdub
@ indices.jl:193
[12] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[13] overdub
@ indices.jl:248
[14] overdub
@ multidimensional.jl:896
[15] overdub
@ multidimensional.jl:887
[16] overdub
@ abstractarray.jl:1267
[17] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[18] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[19] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_array_to_string)
Stacktrace:
[1] String(::Vector{UInt8})
@ strings\string.jl:53
[2] overdub
@ strings\string.jl:53
[3] overdub
@ strings\io.jl:107
[4] sprint(::typeof(join), ::Tuple{String, String}, ::Char)
@ strings\io.jl:101
[5] overdub
@ strings\io.jl:101
[6] join(::Tuple{String, String}, ::Char)
@ strings\io.jl:293
[7] overdub
@ strings\io.jl:293
[8] dims2string(::Tuple{Int64, Int64})
@ show.jl:2642
[9] overdub
@ show.jl:2642
[10] overdub
@ indices.jl:193
[11] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[12] overdub
@ indices.jl:248
[13] overdub
@ multidimensional.jl:896
[14] overdub
@ multidimensional.jl:887
[15] overdub
@ abstractarray.jl:1267
[16] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[17] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[18] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to jl_alloc_string)
Stacktrace:
[1] _string_n(::Int64)
@ strings\string.jl:74
[2] overdub
@ strings\string.jl:74
[3] overdub
@ strings\substring.jl:217
[4] overdub
@ indices.jl:193
[5] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[6] overdub
@ indices.jl:248
[7] overdub
@ multidimensional.jl:896
[8] overdub
@ multidimensional.jl:887
[9] overdub
@ abstractarray.jl:1267
[10] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[11] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[12] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call through a literal pointer (call to memcpy)
Stacktrace:
[1] unsafe_copyto!(::Ptr{UInt8}, ::Ptr{UInt8}, ::Int64)
@ array.jl:223
[2] overdub
@ array.jl:223
[3] overdub
@ strings\substring.jl:204
[4] overdub
@ strings\substring.jl:220
[5] overdub
@ indices.jl:193
[6] setindex_shape_check(::SVector{3, Float32}, ::Int64, ::Int64)
@ indices.jl:248
[7] overdub
@ indices.jl:248
[8] overdub
@ multidimensional.jl:896
[9] overdub
@ multidimensional.jl:887
[10] overdub
@ abstractarray.jl:1267
[11] macro expansion
@ ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:22
[12] overdub
@ ~\.julia\packages\KernelAbstractions\sZhVP\src\macros.jl:80
[13] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
Reason: unsupported call to the Julia runtime (call to jl_f_tuple)
Stacktrace:
[1] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:626
[2] throw_inexacterror(::Symbol, ::Type{UInt64}, ::Int64)
@ boot.jl:602
[3] overdub
@ boot.jl:602
[4] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
[5] multiple call sites
@ unknown:0
Reason: unsupported call to the Julia runtime (call to jl_f_getfield)
Stacktrace:
[1] InexactError(::Symbol, ::Type{UInt64}, ::Int64)
@ boot.jl:310
[2] overdub
@ boot.jl:310
[3] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
[4] throw_inexacterror(::Symbol, ::Type{UInt64}, ::Int64)
@ boot.jl:602
[5] overdub
@ boot.jl:602
[6] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
[7] multiple call sites
@ unknown:0
Reason: unsupported call to the Julia runtime (call to jl_f_getfield)
Stacktrace:
[1] throw_inexacterror(::Symbol, ::Type{UInt64}, ::Int64)
@ boot.jl:602
[2] overdub
@ boot.jl:602
[3] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
[4] multiple call sites
@ unknown:0
Reason: unsupported call through a literal pointer (call to memcpy)
Stacktrace:
[1] overdub
@ array.jl:271
[2] overdub
@ array.jl:313
[3] copyto!(::Vector{UInt8}, ::Int64, ::Vector{UInt8}, ::Int64, ::Int64)
@ array.jl:304
[4] overdub
@ array.jl:304
[5] overdub
@ iobuffer.jl:295
[6] overdub
@ iobuffer.jl:315
[7] overdub
@ ~\.julia\packages\Cassette\jxIEh\src\overdub.jl:0
[8] multiple call sites
@ unknown:0
Stacktrace:
[1] check_ir(job::GPUCompiler.CompilerJob{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams, GPUCompiler.FunctionSpec{typeof(Cassette.overdub), Tuple{Cassette.Context{nametype(CUDACtx), KernelAbstractions.CompilerMetadata{KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.DynamicCheck, Nothing, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, KernelAbstractions.NDIteration.NDRange{1, KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.DynamicSize, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}}}, Nothing, KernelAbstractions.var"##PassType#257", Nothing, Cassette.DisableHooks}, typeof(DiffEqGPU.gpu_gpu_kernel_oop), typeof(lorenz), CUDA.CuDeviceMatrix{Float32, 1}, CUDA.CuDeviceMatrix{Float32, 1}, CUDA.CuDeviceMatrix{Float32, 1}, Float32}}}, args::LLVM.Module)
@ GPUCompiler ~\.julia\packages\GPUCompiler\XwWPj\src\validation.jl:123
[2] macro expansion
@ ~\.julia\packages\GPUCompiler\XwWPj\src\driver.jl:288 [inlined]
[3] macro expansion
@ ~\.julia\packages\TimerOutputs\4QAIk\src\TimerOutput.jl:206 [inlined]
[4] macro expansion
@ ~\.julia\packages\GPUCompiler\XwWPj\src\driver.jl:286 [inlined]
[5] emit_asm(job::GPUCompiler.CompilerJob, ir::LLVM.Module, kernel::LLVM.Function; strip::Bool, validate::Bool, format::LLVM.API.LLVMCodeGenFileType)
@ GPUCompiler ~\.julia\packages\GPUCompiler\XwWPj\src\utils.jl:62
[6] cufunction_compile(job::GPUCompiler.CompilerJob)
@ CUDA ~\.julia\packages\CUDA\qEV3Y\src\compiler\execution.jl:306
[7] check_cache
@ ~\.julia\packages\GPUCompiler\XwWPj\src\cache.jl:44 [inlined]
[8] cached_compilation
@ .\none:0 [inlined]
[9] cufunction(f::typeof(Cassette.overdub), tt::Type{Tuple{Cassette.Context{nametype(CUDACtx), KernelAbstractions.CompilerMetadata{KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.DynamicCheck, Nothing, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, KernelAbstractions.NDIteration.NDRange{1, KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.DynamicSize, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}}}, Nothing,
KernelAbstractions.var"##PassType#257", Nothing, Cassette.DisableHooks}, typeof(DiffEqGPU.gpu_gpu_kernel_oop), typeof(lorenz), CUDA.CuDeviceMatrix{Float32, 1}, CUDA.CuDeviceMatrix{Float32, 1}, CUDA.CuDeviceMatrix{Float32, 1}, Float32}}; name::String, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ CUDA ~\.julia\packages\CUDA\qEV3Y\src\compiler\execution.jl:294
[10] macro expansion
@ ~\.julia\packages\CUDA\qEV3Y\src\compiler\execution.jl:102 [inlined]
[11] (::KernelAbstractions.Kernel{KernelAbstractions.CUDADevice, KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.DynamicSize, typeof(DiffEqGPU.gpu_gpu_kernel_oop)})(::Function, ::Vararg{Any, N} where N; ndrange::Int64, dependencies::KernelAbstractions.CudaEvent, workgroupsize::Int64, progress::Function)
@ KernelAbstractions ~\.julia\packages\KernelAbstractions\sZhVP\src\backends\cuda.jl:177
[12] (::DiffEqGPU.var"#55#59"{typeof(lorenz), typeof(DiffEqGPU.gpu_kernel_oop)})(du::CUDA.CuArray{Float32, 2}, u::CUDA.CuArray{Float32, 2}, p::CUDA.CuArray{Float32, 2}, t::Float32)
@ DiffEqGPU ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:371
[13] ODEFunction
@ ~\.julia\packages\SciMLBase\4HgSI\src\scimlfunctions.jl:334 [inlined]
[14] initialize!(integrator::OrdinaryDiffEq.ODEIntegrator{Tsit5, true, CUDA.CuArray{Float32, 2}, Nothing, Float32, CUDA.CuArray{Float32, 2}, Float32, Float32, Float32, Vector{CUDA.CuArray{Float32, 2}}, ODESolution{Float32, 3, Vector{CUDA.CuArray{Float32, 2}}, Nothing, Nothing, Vector{Float32}, Vector{Vector{CUDA.CuArray{Float32, 2}}}, ODEProblem{CUDA.CuArray{Float32, 2}, Tuple{Float32, Float32}, true, CUDA.CuArray{Float32, 2}, ODEFunction{true, DiffEqGPU.var"#55#59"{typeof(lorenz), typeof(DiffEqGPU.gpu_kernel_oop)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, Tsit5, OrdinaryDiffEq.InterpolationData{ODEFunction{true, DiffEqGPU.var"#55#59"{typeof(lorenz), typeof(DiffEqGPU.gpu_kernel_oop)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Vector{CUDA.CuArray{Float32, 2}}, Vector{Float32}, Vector{Vector{CUDA.CuArray{Float32, 2}}}, OrdinaryDiffEq.Tsit5Cache{CUDA.CuArray{Float32, 2}, CUDA.CuArray{Float32, 2}, CUDA.CuArray{Float32, 2}, OrdinaryDiffEq.Tsit5ConstantCache{Float32, Float32}}}, DiffEqBase.DEStats}, ODEFunction{true, DiffEqGPU.var"#55#59"{typeof(lorenz), typeof(DiffEqGPU.gpu_kernel_oop)}, LinearAlgebra.UniformScaling{Bool},
Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, OrdinaryDiffEq.Tsit5Cache{CUDA.CuArray{Float32, 2}, CUDA.CuArray{Float32, 2}, CUDA.CuArray{Float32, 2}, OrdinaryDiffEq.Tsit5ConstantCache{Float32, Float32}}, OrdinaryDiffEq.DEOptions{Float32, Float32, Float32, Float32, typeof(DiffEqGPU.diffeqgpunorm), typeof(LinearAlgebra.opnorm), Nothing, CallbackSet{Tuple{}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), DiffEqGPU.var"#10#16", DataStructures.BinaryMinHeap{Float32}, DataStructures.BinaryMinHeap{Float32}, Nothing, Nothing, Int64, Tuple{}, Float32, Tuple{}}, CUDA.CuArray{Float32, 2}, Float32, Nothing, OrdinaryDiffEq.DefaultInit}, cache::OrdinaryDiffEq.Tsit5Cache{CUDA.CuArray{Float32, 2}, CUDA.CuArray{Float32, 2}, CUDA.CuArray{Float32, 2}, OrdinaryDiffEq.Tsit5ConstantCache{Float32, Float32}})
@ OrdinaryDiffEq ~\.julia\packages\OrdinaryDiffEq\5egkj\src\perform_step\low_order_rk_perform_step.jl:623
[15] __init(prob::ODEProblem{CUDA.CuArray{Float32, 2}, Tuple{Float32, Float32}, true, CUDA.CuArray{Float32, 2}, ODEFunction{true, DiffEqGPU.var"#55#59"{typeof(lorenz), typeof(DiffEqGPU.gpu_kernel_oop)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, alg::Tsit5, timeseries_init::Tuple{}, ts_init::Tuple{}, ks_init::Tuple{}, recompile::Type{Val{true}}; saveat::Float32, tstops::Tuple{}, d_discontinuities::Tuple{}, save_idxs::Nothing, save_everystep::Bool, save_on::Bool, save_start::Bool, save_end::Nothing, callback::Nothing, dense::Bool, calck::Bool, dt::Float32, dtmin::Nothing, dtmax::Float32, force_dtmin::Bool, adaptive::Bool, gamma::Rational{Int64}, abstol::Nothing, reltol::Nothing, qmin::Rational{Int64}, qmax::Int64, qsteady_min::Int64, qsteady_max::Int64, qoldinit::Rational{Int64}, fullnormalize::Bool, failfactor::Int64, beta1::Nothing, beta2::Nothing, maxiters::Int64, internalnorm::typeof(DiffEqGPU.diffeqgpunorm), internalopnorm::typeof(LinearAlgebra.opnorm), isoutofdomain::typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), unstable_check::DiffEqGPU.var"#10#16", verbose::Bool, timeseries_errors::Bool, dense_errors::Bool, advance_to_tstop::Bool, stop_at_next_tstop::Bool, initialize_save::Bool, progress::Bool, progress_steps::Int64, progress_name::String, progress_message::typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), userdata::Nothing, allow_extrapolation::Bool, initialize_integrator::Bool, alias_u0::Bool, alias_du0::Bool, initializealg::OrdinaryDiffEq.DefaultInit, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ OrdinaryDiffEq ~\.julia\packages\OrdinaryDiffEq\5egkj\src\solve.jl:433
[16] #__solve#404
@ ~\.julia\packages\OrdinaryDiffEq\5egkj\src\solve.jl:4 [inlined]
[17] #solve_call#56
@ ~\.julia\packages\DiffEqBase\rN9Px\src\solve.jl:61 [inlined]
[18] solve_up(prob::ODEProblem{CUDA.CuArray{Float32, 2}, Tuple{Float32, Float32}, true, CUDA.CuArray{Float32, 2}, ODEFunction{true, DiffEqGPU.var"#55#59"{typeof(lorenz),
typeof(DiffEqGPU.gpu_kernel_oop)}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, sensealg::Nothing, u0::CUDA.CuArray{Float32, 2}, p::CUDA.CuArray{Float32, 2}, args::Tsit5; kwargs::Base.Iterators.Pairs{Symbol, Any, NTuple{5, Symbol}, NamedTuple{(:unstable_check, :saveat, :callback, :merge_callbacks, :internalnorm), Tuple{DiffEqGPU.var"#10#16", Float32, Nothing, Bool, typeof(DiffEqGPU.diffeqgpunorm)}}})
@ DiffEqBase ~\.julia\packages\DiffEqBase\rN9Px\src\solve.jl:82
[19] #solve#57
@ ~\.julia\packages\DiffEqBase\rN9Px\src\solve.jl:70 [inlined]
[20] batch_solve_up(ensembleprob::EnsembleProblem{ODEProblem{SVector{3, Float32}, Tuple{Float32, Float32}, false, SVector{3, Float32}, ODEFunction{false, typeof(lorenz),
LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, var"#7#8", typeof(SciMLBase.DEFAULT_OUTPUT_FUNC), typeof(SciMLBase.DEFAULT_REDUCTION), Nothing}, probs::Vector{ODEProblem{SVector{3, Float32}, Tuple{Float32, Float32}, false, Vector{Float32}, ODEFunction{false, typeof(lorenz), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}}, alg::Tsit5, ensemblealg::EnsembleGPUArray, I::UnitRange{Int64}, u0::Matrix{Float32}, p::Matrix{Float32}; kwargs::Base.Iterators.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:unstable_check, :saveat), Tuple{DiffEqGPU.var"#10#16", Float32}}})
@ DiffEqGPU ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:276
[21] batch_solve(ensembleprob::EnsembleProblem{ODEProblem{SVector{3, Float32}, Tuple{Float32, Float32}, false, SVector{3, Float32}, ODEFunction{false, typeof(lorenz), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, var"#7#8", typeof(SciMLBase.DEFAULT_OUTPUT_FUNC),
typeof(SciMLBase.DEFAULT_REDUCTION), Nothing}, alg::Tsit5, ensemblealg::EnsembleGPUArray, I::UnitRange{Int64}; kwargs::Base.Iterators.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:unstable_check, :saveat), Tuple{DiffEqGPU.var"#10#16", Float32}}})
@ DiffEqGPU ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:241
[22] macro expansion
@ .\timing.jl:287 [inlined]
[23] __solve(ensembleprob::EnsembleProblem{ODEProblem{SVector{3, Float32}, Tuple{Float32, Float32}, false, SVector{3, Float32}, ODEFunction{false, typeof(lorenz), LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing}, Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, SciMLBase.StandardODEProblem}, var"#7#8", typeof(SciMLBase.DEFAULT_OUTPUT_FUNC), typeof(SciMLBase.DEFAULT_REDUCTION), Nothing}, alg::Tsit5, ensemblealg::EnsembleGPUArray; trajectories::Int64, batch_size::Int64, unstable_check::Function, kwargs::Base.Iterators.Pairs{Symbol, Float32, Tuple{Symbol}, NamedTuple{(:saveat,), Tuple{Float32}}})
@ DiffEqGPU ~\.julia\dev\DiffEqGPU\src\DiffEqGPU.jl:158
[24] #solve#59
@ ~\.julia\packages\DiffEqBase\rN9Px\src\solve.jl:96 [inlined]
[25] top-level scope
@ none:1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@vchuravy do you know of a reason why this version would generate really slow code?
Fixes #26