Conversation
Remove the following line: MAP(sim::NestedFilterSimulation; kwargs...) = MAP(sim.fstate.model; kwargs...)
…tic_train Deterministic train
…t_CG Make measurement of computation time less conservative
…nalty Include penalty
|
The new |
|
The |
|
There is one remaining failing test, which is expected, because |
|
TODO: I will also test this branch on my GPU. |
When doing a = @timed xxx, a is going to be a structure containing (value = 2, time = 1.0e-7, bytes = 0, gctime = 0.0, gcstats = Base.GC_Diff(0, 0, 0, 0, 0, 0, 0, 0, 0)). Here, we are only interested in the object time.
…tier-patch-1 Return value for time
|
Tested on my GPU machine: Full test output
(BinomialSynapses) pkg> test
┌ Warning: The active manifest file is an older format with no julia version entry. Dependencies may have been resolved with a different julia version.
└ @ ~/.julia/dev/BinomialSynapses/Manifest.toml:0
Testing BinomialSynapses
Status `/tmp/jl_FvaZ0v/Project.toml`
[6e4b80f9] BenchmarkTools v1.3.1
[8a0f34ba] BinomialSynapses v0.4.2 `~/.julia/dev/BinomialSynapses`
[052768ef] CUDA v3.9.0
[31c24e10] Distributions v0.25.56
[4138dd39] JLD v0.13.1
[2913bbd2] StatsBase v0.33.16
[8dfed614] Test `@stdlib/Test`
Status `/tmp/jl_FvaZ0v/Manifest.toml`
[621f4979] AbstractFFTs v1.1.0
[79e6a3ab] Adapt v3.3.3
[ab4f0b2a] BFloat16s v0.2.0
[6e4b80f9] BenchmarkTools v1.3.1
[c5bbfde1] BinomialGPU v0.4.4
[8a0f34ba] BinomialSynapses v0.4.2 `~/.julia/dev/BinomialSynapses`
[a74b3585] Blosc v0.7.3
[fa961155] CEnum v0.4.2
[052768ef] CUDA v3.9.0
[d360d2e6] ChainRulesCore v1.14.0
[9e997f8a] ChangesOfVariables v0.1.2
[35d6a980] ColorSchemes v3.17.1
[3da002f7] ColorTypes v0.11.0
[5ae59095] Colors v0.12.8
[34da2185] Compat v3.43.0
[d38c429a] Contour v0.5.7
[587fd27a] CovarianceEstimation v0.2.7
[9a962f9c] DataAPI v1.10.0
[864edb3b] DataStructures v0.18.11
[e2d170a0] DataValueInterfaces v1.0.0
[b429d917] DensityInterface v0.4.0
[31c24e10] Distributions v0.25.56
[ffbed154] DocStringExtensions v0.8.6
[e2ba6199] ExprTools v0.1.8
[c87230d0] FFMPEG v0.4.1
[5789e2e9] FileIO v1.13.0
[1a297f60] FillArrays v0.13.2
[53c48c17] FixedPointNumbers v0.8.4
[59287772] Formatting v0.4.2
[0c68f7d7] GPUArrays v8.3.2
[61eb1bfa] GPUCompiler v0.14.1
[28b8d3ca] GR v0.64.2
[5c1252a2] GeometryBasics v0.4.2
[42e2da0e] Grisu v1.0.2
[c8ec2601] H5Zblosc v0.1.0
[f67ccb44] HDF5 v0.16.7
[cd3eb016] HTTP v0.9.17
[83e8ac13] IniFile v0.5.1
[3587e190] InverseFunctions v0.1.3
[92d709cd] IrrationalConstants v0.1.1
[c8e1da08] IterTools v1.4.0
[82899510] IteratorInterfaceExtensions v1.0.0
[4138dd39] JLD v0.13.1
[692b3bcd] JLLWrappers v1.4.1
[682c06a0] JSON v0.21.3
[929cbde3] LLVM v4.9.1
[b964fa9f] LaTeXStrings v1.3.0
[23fbe1c1] Latexify v0.15.15
[2ab3a3ac] LogExpFunctions v0.3.14
[1914dd2f] MacroTools v0.5.9
[739be429] MbedTLS v1.0.3
[442fdcdd] Measures v0.3.1
[e1d29d7a] Missings v1.0.2
[77ba4419] NaNMath v1.0.0
[bac558e1] OrderedCollections v1.4.1
[90014a1f] PDMats v0.11.8
[69de0a69] Parsers v2.3.1
[ccf2f8ad] PlotThemes v3.0.0
[995b91a9] PlotUtils v1.2.0
[91a5bcdd] Plots v1.28.1
[21216c6a] Preferences v1.3.0
[1fd47b50] QuadGK v2.4.2
[74087812] Random123 v1.5.0
[e6cf234a] RandomNumbers v1.5.3
[3cdcf5f2] RecipesBase v1.2.1
[01d81517] RecipesPipeline v0.5.2
[189a3867] Reexport v1.2.2
[05181044] RelocatableFolders v0.1.3
[ae029012] Requires v1.3.0
[79098fc4] Rmath v0.7.0
[6c6a2e73] Scratch v1.1.0
[992d4aef] Showoff v1.0.3
[a2af1166] SortingAlgorithms v1.0.1
[276daf66] SpecialFunctions v2.1.4
[90137ffa] StaticArrays v1.4.4
[82ae8749] StatsAPI v1.3.0
[2913bbd2] StatsBase v0.33.16
[4c63d2b9] StatsFuns v0.9.18
[09ab397b] StructArrays v0.6.6
[3783bdb8] TableTraits v1.0.1
[bd369af6] Tables v1.7.0
[a759f4b9] TimerOutputs v0.5.17
[5c2747f8] URIs v1.3.0
[1cfade01] UnicodeFun v0.4.1
[41fe7b60] Unzip v0.1.2
[0b7ba130] Blosc_jll v1.21.1+0
[6e34b625] Bzip2_jll v1.0.8+0
[83423d85] Cairo_jll v1.16.1+1
[5ae413db] EarCut_jll v2.2.3+0
[2e619515] Expat_jll v2.4.8+0
[b22a6f82] FFMPEG_jll v4.4.0+0
[a3f928ae] Fontconfig_jll v2.13.93+0
[d7e528f0] FreeType2_jll v2.10.4+0
[559328eb] FriBidi_jll v1.0.10+0
[0656b61e] GLFW_jll v3.3.6+0
[d2c73de3] GR_jll v0.64.2+0
[78b55507] Gettext_jll v0.21.0+0
[7746bdde] Glib_jll v2.68.3+2
[3b182d85] Graphite2_jll v1.3.14+0
[0234f1f7] HDF5_jll v1.12.1+0
[2e76f6c2] HarfBuzz_jll v2.8.1+1
[aacddb02] JpegTurbo_jll v2.1.2+0
[c1c5ebd0] LAME_jll v3.100.1+0
[88015f11] LERC_jll v3.0.0+1
[dad2f222] LLVMExtra_jll v0.0.14+2
[dd4b983a] LZO_jll v2.10.1+0
[e9f186c6] Libffi_jll v3.2.2+1
[d4300ac3] Libgcrypt_jll v1.8.7+0
[7e76a0d4] Libglvnd_jll v1.3.0+3
[7add5ba3] Libgpg_error_jll v1.42.0+0
[94ce4f54] Libiconv_jll v1.16.1+1
[4b2f31a3] Libmount_jll v2.35.0+0
[89763e89] Libtiff_jll v4.3.0+1
[38a345b3] Libuuid_jll v2.36.0+0
[5ced341a] Lz4_jll v1.9.3+0
[e7412a2a] Ogg_jll v1.3.5+1
[458c3c95] OpenSSL_jll v1.1.14+0
[efe28fd5] OpenSpecFun_jll v0.5.5+0
[91d4177d] Opus_jll v1.3.2+0
[2f80f16e] PCRE_jll v8.44.0+0
[30392449] Pixman_jll v0.40.1+0
[ea2cea3b] Qt5Base_jll v5.15.3+1
[f50d1b31] Rmath_jll v0.3.0+0
[a2964d1f] Wayland_jll v1.19.0+0
[2381bf8a] Wayland_protocols_jll v1.25.0+0
[02c8fc9c] XML2_jll v2.9.12+0
[aed1982a] XSLT_jll v1.1.34+0
[4f6342f7] Xorg_libX11_jll v1.6.9+4
[0c0b7dd1] Xorg_libXau_jll v1.0.9+4
[935fb764] Xorg_libXcursor_jll v1.2.0+4
[a3789734] Xorg_libXdmcp_jll v1.1.3+4
[1082639a] Xorg_libXext_jll v1.3.4+4
[d091e8ba] Xorg_libXfixes_jll v5.0.3+4
[a51aa0fd] Xorg_libXi_jll v1.7.10+4
[d1454406] Xorg_libXinerama_jll v1.1.4+4
[ec84b674] Xorg_libXrandr_jll v1.5.2+4
[ea2f1a96] Xorg_libXrender_jll v0.9.10+4
[14d82f49] Xorg_libpthread_stubs_jll v0.1.0+3
[c7cfdc94] Xorg_libxcb_jll v1.13.0+3
[cc61e674] Xorg_libxkbfile_jll v1.1.0+4
[12413925] Xorg_xcb_util_image_jll v0.4.0+1
[2def613f] Xorg_xcb_util_jll v0.4.0+1
[975044d2] Xorg_xcb_util_keysyms_jll v0.4.0+1
[0d47668e] Xorg_xcb_util_renderutil_jll v0.3.9+1
[c22f9ab0] Xorg_xcb_util_wm_jll v0.4.1+1
[35661453] Xorg_xkbcomp_jll v1.4.2+4
[33bec58e] Xorg_xkeyboard_config_jll v2.27.0+4
[c5fb5394] Xorg_xtrans_jll v1.4.0+3
[3161d3a3] Zstd_jll v1.5.2+0
[0ac62f75] libass_jll v0.15.1+0
[f638f0a6] libfdk_aac_jll v2.0.2+0
[b53b4c65] libpng_jll v1.6.38+0
[f27f6e37] libvorbis_jll v1.3.7+1
[1270edf5] x264_jll v2021.5.5+0
[dfaa095f] x265_jll v3.5.0+0
[d8fb68d0] xkbcommon_jll v0.9.1+5
[0dad84c5] ArgTools `@stdlib/ArgTools`
[56f22d72] Artifacts `@stdlib/Artifacts`
[2a0f44e3] Base64 `@stdlib/Base64`
[ade2ca70] Dates `@stdlib/Dates`
[8bb1440f] DelimitedFiles `@stdlib/DelimitedFiles`
[8ba89e20] Distributed `@stdlib/Distributed`
[f43a241f] Downloads `@stdlib/Downloads`
[b77e0a4c] InteractiveUtils `@stdlib/InteractiveUtils`
[4af54fe1] LazyArtifacts `@stdlib/LazyArtifacts`
[b27032c2] LibCURL `@stdlib/LibCURL`
[76f85450] LibGit2 `@stdlib/LibGit2`
[8f399da3] Libdl `@stdlib/Libdl`
[37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
[56ddb016] Logging `@stdlib/Logging`
[d6f4376e] Markdown `@stdlib/Markdown`
[a63ad114] Mmap `@stdlib/Mmap`
[ca575930] NetworkOptions `@stdlib/NetworkOptions`
[44cfe95a] Pkg `@stdlib/Pkg`
[de0858da] Printf `@stdlib/Printf`
[9abbd945] Profile `@stdlib/Profile`
[3fa0cd96] REPL `@stdlib/REPL`
[9a3f8284] Random `@stdlib/Random`
[ea8e919c] SHA `@stdlib/SHA`
[9e88b42a] Serialization `@stdlib/Serialization`
[1a1011a3] SharedArrays `@stdlib/SharedArrays`
[6462fe0b] Sockets `@stdlib/Sockets`
[2f01184e] SparseArrays `@stdlib/SparseArrays`
[10745b16] Statistics `@stdlib/Statistics`
[4607b0f0] SuiteSparse `@stdlib/SuiteSparse`
[fa267f1f] TOML `@stdlib/TOML`
[a4e569a6] Tar `@stdlib/Tar`
[8dfed614] Test `@stdlib/Test`
[cf7118a7] UUIDs `@stdlib/UUIDs`
[4ec0a83e] Unicode `@stdlib/Unicode`
[e66e0078] CompilerSupportLibraries_jll `@stdlib/CompilerSupportLibraries_jll`
[deac9b47] LibCURL_jll `@stdlib/LibCURL_jll`
[29816b5a] LibSSH2_jll `@stdlib/LibSSH2_jll`
[c8ffd9c3] MbedTLS_jll `@stdlib/MbedTLS_jll`
[14a3606d] MozillaCACerts_jll `@stdlib/MozillaCACerts_jll`
[4536629a] OpenBLAS_jll `@stdlib/OpenBLAS_jll`
[05823500] OpenLibm_jll `@stdlib/OpenLibm_jll`
[83775a58] Zlib_jll `@stdlib/Zlib_jll`
[8e850b90] libblastrampoline_jll `@stdlib/libblastrampoline_jll`
[8e850ede] nghttp2_jll `@stdlib/nghttp2_jll`
[3f19e933] p7zip_jll `@stdlib/p7zip_jll`
Testing Running tests...
[ Info: Functional CUDA device detected.
CUDA toolkit 11.6, artifact installation
NVIDIA driver 510.47.3, for CUDA 11.6
CUDA driver 11.6
Libraries:
- CUBLAS: 11.8.1
- CURAND: 10.2.9
- CUFFT: 10.7.0
- CUSOLVER: 11.3.2
- CUSPARSE: 11.7.1
- CUPTI: 16.0.0
- NVML: 11.0.0+510.47.3
- CUDNN: 8.30.2 (for CUDA 11.5.0)
- CUTENSOR: 1.4.0 (for CUDA 11.5.0)
Toolchain:
- Julia: 1.7.2
- LLVM: 12.0.1
- PTX ISA support: 3.2, 4.0, 4.1, 4.2, 4.3, 5.0, 6.0, 6.1, 6.3, 6.4, 6.5, 7.0
- Device capability support: sm_35, sm_37, sm_50, sm_52, sm_53, sm_60, sm_61, sm_62, sm_70, sm_72, sm_75, sm_80
1 device:
0: NVIDIA GeForce RTX 2070 (sm_75, 7.263 GiB / 8.000 GiB available)
[ Info: Skipping intermediate benchmarks.
[ Info: Testing models.jl
[ Info: Testing propagate.jl
[ Info: Testing timestep.jl
[ Info: Testing emission.jl
[ Info: Testing likelihood.jl
[ Info: Testing jitter.jl
[ Info: Testing resample.jl
[ Info: Testing filter.jl
[ Info: Benchmarking one filter update step: should take less than 10ms.
BenchmarkTools.Trial: 876 samples with 1 evaluation.
Range (min … max): 4.806 ms … 83.997 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 5.173 ms ┊ GC (median): 0.00%
Time (mean ± σ): 5.706 ms ± 3.680 ms ┊ GC (mean ± σ): 0.41% ± 2.35%
▅█▅
█████▇▅▄▄▄▁▁▄▄▁▁▄▁▄▄▁▄▁▁▁▁▁▁▁▁▁▁▁▁▅▄▅▁▅▁▁▁▁▁▁▄▁▁▁▄▁▄▄▁▁▁▄▄ ▇
4.81 ms Histogram: log(frequency) by time 18.6 ms <
Memory estimate: 48.84 KiB, allocs estimate: 567.
[ Info: Testing statistics.jl
[ Info: Testing simulate.jl
┌ Warning: Simulation ended prematurely due to `get_step` returning `nothing`.
└ @ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/simulate.jl:163
┌ Warning: Simulation ended prematurely due to `get_step` returning `nothing`.
└ @ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/simulate.jl:163
[ Info: Testing record.jl
[ Info: Testing myopic.jl
CPU: Error During Test at /home/simone/.julia/dev/BinomialSynapses/test/myopic.jl:55
Test threw exception
Expression: _entropy(model, obs, policy) ≈ 0.3
PosDefException: matrix is not positive definite; Cholesky factorization failed.
Stacktrace:
[1] checkpositivedefinite
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/factorization.jl:18 [inlined]
[2] cholesky!(A::LinearAlgebra.Symmetric{Float64, Matrix{Float64}}, ::Val{false}; check::Bool)
@ LinearAlgebra ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/cholesky.jl:266
[3] #cholesky#143
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/cholesky.jl:394 [inlined]
[4] cholesky (repeats 2 times)
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/cholesky.jl:394 [inlined]
[5] PDMats.PDMat(mat::LinearAlgebra.Symmetric{Float64, Matrix{Float64}})
@ PDMats ~/.julia/packages/PDMats/ovlmf/src/pdmat.jl:19
[6] MvNormal
@ ~/.julia/packages/Distributions/0h6GE/src/multivariate/mvnormal.jl:201 [inlined]
[7] MvNormal
@ ~/.julia/packages/Distributions/0h6GE/src/multivariate/mvnormal.jl:218 [inlined]
[8] _entropy(model::BinomialGridModel{Matrix{Int64}, UnitRange{Int64}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}, Matrix{Int64}, Matrix{Float64}}, obs::BinomialObservation{Vector{Float64}, Vector{Float64}}, policy::Myopic{Vector{Float64}, typeof(_entropy), Int64})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/myopic.jl:224
[9] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:445 [inlined]
[10] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:55 [inlined]
[11] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[12] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:38 [inlined]
[13] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[14] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:29 [inlined]
[15] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[16] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:2
GPU: Error During Test at /home/simone/.julia/dev/BinomialSynapses/test/myopic.jl:81
Test threw exception
Expression: _entropy(model, obs, policy) ≈ 0.2
PosDefException: matrix is not positive definite; Cholesky factorization failed.
Stacktrace:
[1] checkpositivedefinite
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/factorization.jl:18 [inlined]
[2] cholesky!(A::LinearAlgebra.Symmetric{Float64, Matrix{Float64}}, ::Val{false}; check::Bool)
@ LinearAlgebra ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/cholesky.jl:266
[3] #cholesky#143
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/cholesky.jl:394 [inlined]
[4] cholesky (repeats 2 times)
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/cholesky.jl:394 [inlined]
[5] PDMats.PDMat(mat::LinearAlgebra.Symmetric{Float64, Matrix{Float64}})
@ PDMats ~/.julia/packages/PDMats/ovlmf/src/pdmat.jl:19
[6] MvNormal
@ ~/.julia/packages/Distributions/0h6GE/src/multivariate/mvnormal.jl:201 [inlined]
[7] MvNormal
@ ~/.julia/packages/Distributions/0h6GE/src/multivariate/mvnormal.jl:218 [inlined]
[8] _entropy(model::BinomialGridModel{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}}, obs::BinomialObservation{Vector{Float64}, Vector{Float64}}, policy::Myopic{Vector{Float64}, typeof(_entropy), Int64})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/myopic.jl:224
[9] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:445 [inlined]
[10] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:81 [inlined]
[11] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[12] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:59 [inlined]
[13] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[14] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:29 [inlined]
[15] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[16] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:2
GPU: Error During Test at /home/simone/.julia/dev/BinomialSynapses/test/myopic.jl:127
Test threw exception
Expression: _entropy(model, obs, policy) ≈ 0.1
PosDefException: matrix is not positive definite; Cholesky factorization failed.
Stacktrace:
[1] checkpositivedefinite
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/factorization.jl:18 [inlined]
[2] cholesky!(A::LinearAlgebra.Symmetric{Float64, Matrix{Float64}}, ::Val{false}; check::Bool)
@ LinearAlgebra ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/cholesky.jl:266
[3] #cholesky#143
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/cholesky.jl:394 [inlined]
[4] cholesky (repeats 2 times)
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/LinearAlgebra/src/cholesky.jl:394 [inlined]
[5] PDMats.PDMat(mat::LinearAlgebra.Symmetric{Float64, Matrix{Float64}})
@ PDMats ~/.julia/packages/PDMats/ovlmf/src/pdmat.jl:19
[6] MvNormal
@ ~/.julia/packages/Distributions/0h6GE/src/multivariate/mvnormal.jl:201 [inlined]
[7] MvNormal
@ ~/.julia/packages/Distributions/0h6GE/src/multivariate/mvnormal.jl:218 [inlined]
[8] _entropy(model::BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}, obs::BinomialObservation{Vector{Float64}, Vector{Float64}}, policy::Myopic{Vector{Float64}, typeof(_entropy), Int64})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/myopic.jl:224
[9] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:445 [inlined]
[10] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:127 [inlined]
[11] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[12] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:110 [inlined]
[13] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[14] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:86 [inlined]
[15] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[16] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/myopic.jl:2
[ Info: Performing INTEGRATION TESTS
[ Info: Benchmarking single iteration with timestep = RandomTimestep{Exponential{Float64}}(Exponential{Float64}(θ=0.121)) on device = cpu
BenchmarkTools.Trial: 28 samples with 1 evaluation.
Range (min … max): 142.920 ms … 204.624 ms ┊ GC (min … max): 0.00% … 1.62%
Time (median): 183.524 ms ┊ GC (median): 0.89%
Time (mean ± σ): 179.666 ms ± 13.878 ms ┊ GC (mean ± σ): 0.93% ± 0.95%
▃ █ ▃▃▃ █
▇▁▁▁▇▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▇▁█▁█▇▇▇▁▁▁▇▁▇▁▁▁███▇▁▁▇█▁▇▇▁▁▁▇▁▁▁▁▁▇ ▁
143 ms Histogram: frequency by time 205 ms <
Memory estimate: 56.21 MiB, allocs estimate: 28.
[ Info: Benchmarking single iteration with timestep = Uniform{LinRange{Float64, Int64}}(range(0.005, stop=2.0, length=8)) on device = cpu
BenchmarkTools.Trial: 33 samples with 1 evaluation.
Range (min … max): 135.742 ms … 177.511 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 152.818 ms ┊ GC (median): 0.00%
Time (mean ± σ): 153.329 ms ± 9.243 ms ┊ GC (mean ± σ): 1.06% ± 1.12%
▁▁ ▁ ▁█ ▁ ▁▁ ▄
▆▁▁▁▁▁██▁▁▁▁▁▆▁▁▁▁█▁██▁▆█▆▆██▁█▆▁▁▁▆▁▆▁▁▁▁▁▁▁▆▁▁▁▆▁▁▁▁▆▁▁▁▁▁▆ ▁
136 ms Histogram: frequency by time 178 ms <
Memory estimate: 56.21 MiB, allocs estimate: 28.
[ Info: Benchmarking single iteration with timestep = Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}(range(0.005, stop=2.0, length=8), BinomialSynapses._entropy, 0) on device = cpu
BenchmarkTools.Trial: 3 samples with 1 evaluation.
Range (min … max): 2.304 s … 2.552 s ┊ GC (min … max): 7.05% … 8.19%
Time (median): 2.360 s ┊ GC (median): 6.88%
Time (mean ± σ): 2.405 s ± 130.359 ms ┊ GC (mean ± σ): 5.34% ± 4.09%
█ █ █
█▁▁▁▁▁▁▁▁▁▁▁▁█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█ ▁
2.3 s Histogram: frequency by time 2.55 s <
Memory estimate: 639.78 MiB, allocs estimate: 11793.
[ Info: Benchmarking single iteration with timestep = MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}(range(0.005, stop=2.0, length=8), BinomialSynapses._entropy, 0) on device = cpu
BenchmarkTools.Trial: 15 samples with 1 evaluation.
Range (min … max): 325.105 ms … 348.060 ms ┊ GC (min … max): 1.05% … 1.01%
Time (median): 336.728 ms ┊ GC (median): 1.02%
Time (mean ± σ): 335.828 ms ± 7.526 ms ┊ GC (mean ± σ): 1.30% ± 0.49%
█ █ █ █ █ ██ ██ █ █ █ █ █ █
█▁▁█▁▁▁█▁█▁▁█▁▁▁▁▁▁██▁▁▁▁▁▁▁▁▁██▁█▁▁▁▁█▁▁▁▁▁▁▁▁█▁▁▁▁▁█▁▁█▁▁▁█ ▁
325 ms Histogram: frequency by time 348 ms <
Memory estimate: 129.66 MiB, allocs estimate: 8385.
[ Info: Benchmarking single iteration with timestep = RandomTimestep{Exponential{Float64}}(Exponential{Float64}(θ=0.121)) on device = gpu
BenchmarkTools.Trial: 1145 samples with 1 evaluation.
Range (min … max): 2.962 ms … 27.462 ms ┊ GC (min … max): 0.00% … 17.12%
Time (median): 4.131 ms ┊ GC (median): 0.00%
Time (mean ± σ): 4.363 ms ± 1.364 ms ┊ GC (mean ± σ): 0.67% ± 2.54%
▁▂███▅▂▁▁
▂▃▅██████████▇▅▂▂▁▂▂▂▁▂▁▁▁▁▂▁▂▁▁▂▁▂▁▁▁▁▁▁▂▁▂▁▁▂▁▁▂▁▁▁▁▁▁▁▂ ▃
2.96 ms Histogram: frequency by time 12 ms <
Memory estimate: 85.39 KiB, allocs estimate: 578.
[ Info: Benchmarking single iteration with timestep = Uniform{LinRange{Float64, Int64}}(range(0.005, stop=2.0, length=8)) on device = gpu
BenchmarkTools.Trial: 1035 samples with 1 evaluation.
Range (min … max): 3.047 ms … 60.520 ms ┊ GC (min … max): 0.00% … 0.00%
Time (median): 4.091 ms ┊ GC (median): 0.00%
Time (mean ± σ): 4.834 ms ± 3.352 ms ┊ GC (mean ± σ): 0.67% ± 2.81%
▃█▇▆▆▅▄▂▂
▇█████████▇▅▆▄▄▄▅▄▁▄▄▁▄▅▄▅▄▅▄▁▄▅▄▄▁▄▄▁▄▅▅▅▁▁▅▁▁▅▄▄▄▄▁▄▁▁▄▅ █
3.05 ms Histogram: log(frequency) by time 18.4 ms <
Memory estimate: 85.36 KiB, allocs estimate: 577.
[ Info: Benchmarking single iteration with timestep = Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}(range(0.005, stop=2.0, length=8), BinomialSynapses._entropy, 0) on device = gpu
OEDPolicy: Myopic: Error During Test at /home/simone/.julia/dev/BinomialSynapses/test/_integration.jl:76
Got exception outside of a @test
GPU compilation of kernel broadcast_kernel(CUDA.CuKernelContext, CuDeviceArray{Float32, 3, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Int64) failed
KernelError: passing and using non-bitstype argument
Argument 4 to your kernel function is of type Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, which is not isbits:
.args is of type Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}} which is not isbits.
.1 is of type Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}} which is not isbits.
.x is of type Vector{Float32} which is not isbits.
Stacktrace:
[1] check_invocation(job::GPUCompiler.CompilerJob)
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/validation.jl:71
[2] macro expansion
@ ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:385 [inlined]
[3] macro expansion
@ ~/.julia/packages/TimerOutputs/2IJ7m/src/TimerOutput.jl:252 [inlined]
[4] macro expansion
@ ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:384 [inlined]
[5] emit_asm(job::GPUCompiler.CompilerJob, ir::LLVM.Module; strip::Bool, validate::Bool, format::LLVM.API.LLVMCodeGenFileType)
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/utils.jl:64
[6] cufunction_compile(job::GPUCompiler.CompilerJob, ctx::LLVM.Context)
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:332
[7] #260
@ ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:325 [inlined]
[8] JuliaContext(f::CUDA.var"#260#261"{GPUCompiler.CompilerJob{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams, GPUCompiler.FunctionSpec{GPUArrays.var"#broadcast_kernel#17", Tuple{CUDA.CuKernelContext, CuDeviceArray{Float32, 3, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Int64}}}})
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:74
[9] cufunction_compile(job::GPUCompiler.CompilerJob)
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:324
[10] cached_compilation(cache::Dict{UInt64, Any}, job::GPUCompiler.CompilerJob, compiler::typeof(CUDA.cufunction_compile), linker::typeof(CUDA.cufunction_link))
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/cache.jl:90
[11] cufunction(f::GPUArrays.var"#broadcast_kernel#17", tt::Type{Tuple{CUDA.CuKernelContext, CuDeviceArray{Float32, 3, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Int64}}; name::Nothing, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:297
[12] cufunction(f::GPUArrays.var"#broadcast_kernel#17", tt::Type{Tuple{CUDA.CuKernelContext, CuDeviceArray{Float32, 3, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Int64}})
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:291
[13] macro expansion
@ ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:102 [inlined]
[14] #launch_heuristic#284
@ ~/.julia/packages/CUDA/Uurn4/src/gpuarrays.jl:17 [inlined]
[15] _copyto!
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:73 [inlined]
[16] copyto!
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:56 [inlined]
[17] copy
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:47 [inlined]
[18] materialize
@ ./broadcast.jl:860 [inlined]
[19] likelihood_indices(k::PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuArray{Int64, 3, CUDA.Mem.DeviceBuffer}}, model::BinomialGridModel{PermutedDimsArray{Int64, 2, (2, 1), (2, 1), CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}}, obs::Vector{Float32})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/likelihood.jl:25
[20] likelihood_resample!
@ ~/.julia/dev/BinomialSynapses/src/likelihood.jl:41 [inlined]
[21] update!(filterstate::NestedParticleState{BinomialState{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuArray{Int64, 3, CUDA.Mem.DeviceBuffer}}}, BinomialGridModel{PermutedDimsArray{Int64, 2, (2, 1), (2, 1), CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}}}, observation::BinomialObservation{Vector{Float32}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}, filter::NestedParticleFilter)
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/filter.jl:57
[22] (::Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64})(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/myopic.jl:76
[23] macro expansion
@ ./timing.jl:380 [inlined]
[24] propagate!(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/simulate.jl:113
[25] macro expansion
@ ~/.julia/packages/CUDA/Uurn4/src/utilities.jl:25 [inlined]
[26] var"##core#2269"(sim#2248::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}})
@ Main ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:489
[27] var"##sample#2270"(::Tuple{NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}}}, __params::BenchmarkTools.Parameters)
@ Main ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:495
[28] _run(b::BenchmarkTools.Benchmark, p::BenchmarkTools.Parameters; verbose::Bool, pad::String, kwargs::Base.Pairs{Symbol, Integer, NTuple{4, Symbol}, NamedTuple{(:samples, :evals, :gctrial, :gcsample), Tuple{Int64, Int64, Bool, Bool}}})
@ BenchmarkTools ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:99
[29] #invokelatest#2
@ ./essentials.jl:718 [inlined]
[30] #run_result#45
@ ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:34 [inlined]
[31] run(b::BenchmarkTools.Benchmark, p::BenchmarkTools.Parameters; progressid::Nothing, nleaves::Float64, ndone::Float64, kwargs::Base.Pairs{Symbol, Integer, NTuple{5, Symbol}, NamedTuple{(:verbose, :samples, :evals, :gctrial, :gcsample), Tuple{Bool, Int64, Int64, Bool, Bool}}})
@ BenchmarkTools ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:117
[32] #warmup#54
@ ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:169 [inlined]
[33] warmup(item::BenchmarkTools.Benchmark)
@ BenchmarkTools ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:169
[34] macro expansion
@ ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:393 [inlined]
[35] (::var"#benchmark#5")(timestep::Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}, device::Symbol)
@ Main ~/.julia/dev/BinomialSynapses/test/_integration.jl:24
[36] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:77 [inlined]
[37] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
--- the last 2 lines are repeated 1 more time ---
[40] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:72 [inlined]
[41] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1359 [inlined]
[42] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:64 [inlined]
[43] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[44] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:2
[45] include(fname::String)
@ Base.MainInclude ./client.jl:451
[46] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/runtests.jl:43 [inlined]
[47] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[48] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/runtests.jl:30
[49] include(fname::String)
@ Base.MainInclude ./client.jl:451
[50] top-level scope
@ none:6
[51] eval
@ ./boot.jl:373 [inlined]
[52] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:268
[ Info: Benchmarking single iteration with timestep = MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}(range(0.005, stop=2.0, length=8), BinomialSynapses._entropy, 0) on device = gpu
OEDPolicy: MyopicFast: Error During Test at /home/simone/.julia/dev/BinomialSynapses/test/_integration.jl:79
Got exception outside of a @test
GPU compilation of kernel broadcast_kernel(CUDA.CuKernelContext, CuDeviceMatrix{Float32, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Int64, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}}}, Int64) failed
KernelError: passing and using non-bitstype argument
Argument 4 to your kernel function is of type Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Int64, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}}}, which is not isbits:
.args is of type Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Int64, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}} which is not isbits.
.1 is of type Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}} which is not isbits.
.x is of type Vector{Float32} which is not isbits.
Stacktrace:
[1] check_invocation(job::GPUCompiler.CompilerJob)
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/validation.jl:71
[2] macro expansion
@ ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:385 [inlined]
[3] macro expansion
@ ~/.julia/packages/TimerOutputs/2IJ7m/src/TimerOutput.jl:252 [inlined]
[4] macro expansion
@ ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:384 [inlined]
[5] emit_asm(job::GPUCompiler.CompilerJob, ir::LLVM.Module; strip::Bool, validate::Bool, format::LLVM.API.LLVMCodeGenFileType)
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/utils.jl:64
[6] cufunction_compile(job::GPUCompiler.CompilerJob, ctx::LLVM.Context)
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:332
[7] #260
@ ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:325 [inlined]
[8] JuliaContext(f::CUDA.var"#260#261"{GPUCompiler.CompilerJob{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams, GPUCompiler.FunctionSpec{GPUArrays.var"#broadcast_kernel#17", Tuple{CUDA.CuKernelContext, CuDeviceMatrix{Float32, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Int64, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}}}, Int64}}}})
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:74
[9] cufunction_compile(job::GPUCompiler.CompilerJob)
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:324
[10] cached_compilation(cache::Dict{UInt64, Any}, job::GPUCompiler.CompilerJob, compiler::typeof(CUDA.cufunction_compile), linker::typeof(CUDA.cufunction_link))
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/cache.jl:90
[11] cufunction(f::GPUArrays.var"#broadcast_kernel#17", tt::Type{Tuple{CUDA.CuKernelContext, CuDeviceMatrix{Float32, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Int64, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}}}, Int64}}; name::Nothing, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:297
[12] cufunction
@ ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:291 [inlined]
[13] macro expansion
@ ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:102 [inlined]
[14] #launch_heuristic#284
@ ~/.julia/packages/CUDA/Uurn4/src/gpuarrays.jl:17 [inlined]
[15] _copyto!
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:73 [inlined]
[16] copyto!
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:56 [inlined]
[17] copy
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:47 [inlined]
[18] materialize
@ ./broadcast.jl:860 [inlined]
[19] likelihood_indices(k::CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}, model::BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}, obs::Vector{Float32})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/likelihood.jl:25
[20] likelihood_resample!
@ ~/.julia/dev/BinomialSynapses/src/likelihood.jl:41 [inlined]
[21] update!(filterstate::NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, observation::BinomialObservation{Vector{Float32}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}, filter::NestedParticleFilter)
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/filter.jl:57
[22] (::MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64})(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/myopic.jl:76
[23] macro expansion
@ ./timing.jl:380 [inlined]
[24] propagate!(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/simulate.jl:113
[25] macro expansion
@ ~/.julia/packages/CUDA/Uurn4/src/utilities.jl:25 [inlined]
[26] var"##core#2458"(sim#2248::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}})
@ Main ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:489
[27] var"##sample#2459"(::Tuple{NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}}}, __params::BenchmarkTools.Parameters)
@ Main ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:495
[28] _run(b::BenchmarkTools.Benchmark, p::BenchmarkTools.Parameters; verbose::Bool, pad::String, kwargs::Base.Pairs{Symbol, Integer, NTuple{4, Symbol}, NamedTuple{(:samples, :evals, :gctrial, :gcsample), Tuple{Int64, Int64, Bool, Bool}}})
@ BenchmarkTools ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:99
[29] #invokelatest#2
@ ./essentials.jl:718 [inlined]
[30] #run_result#45
@ ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:34 [inlined]
[31] run(b::BenchmarkTools.Benchmark, p::BenchmarkTools.Parameters; progressid::Nothing, nleaves::Float64, ndone::Float64, kwargs::Base.Pairs{Symbol, Integer, NTuple{5, Symbol}, NamedTuple{(:verbose, :samples, :evals, :gctrial, :gcsample), Tuple{Bool, Int64, Int64, Bool, Bool}}})
@ BenchmarkTools ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:117
[32] #warmup#54
@ ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:169 [inlined]
[33] warmup(item::BenchmarkTools.Benchmark)
@ BenchmarkTools ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:169
[34] macro expansion
@ ~/.julia/packages/BenchmarkTools/7xSXH/src/execution.jl:393 [inlined]
[35] (::var"#benchmark#5")(timestep::MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}, device::Symbol)
@ Main ~/.julia/dev/BinomialSynapses/test/_integration.jl:24
[36] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:80 [inlined]
[37] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
--- the last 2 lines are repeated 1 more time ---
[40] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:72 [inlined]
[41] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1359 [inlined]
[42] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:64 [inlined]
[43] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[44] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:2
[45] include(fname::String)
@ Base.MainInclude ./client.jl:451
[46] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/runtests.jl:43 [inlined]
[47] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[48] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/runtests.jl:30
[49] include(fname::String)
@ Base.MainInclude ./client.jl:451
[50] top-level scope
@ none:6
[51] eval
@ ./boot.jl:373 [inlined]
[52] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:268
OEDPolicy: Myopic: Error During Test at /home/simone/.julia/dev/BinomialSynapses/test/_integration.jl:95
Got exception outside of a @test
GPU compilation of kernel broadcast_kernel(CUDA.CuKernelContext, CuDeviceArray{Float32, 3, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Int64) failed
KernelError: passing and using non-bitstype argument
Argument 4 to your kernel function is of type Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, which is not isbits:
.args is of type Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}} which is not isbits.
.1 is of type Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}} which is not isbits.
.x is of type Vector{Float32} which is not isbits.
Stacktrace:
[1] check_invocation(job::GPUCompiler.CompilerJob)
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/validation.jl:71
[2] macro expansion
@ ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:385 [inlined]
[3] macro expansion
@ ~/.julia/packages/TimerOutputs/2IJ7m/src/TimerOutput.jl:252 [inlined]
[4] macro expansion
@ ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:384 [inlined]
[5] emit_asm(job::GPUCompiler.CompilerJob, ir::LLVM.Module; strip::Bool, validate::Bool, format::LLVM.API.LLVMCodeGenFileType)
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/utils.jl:64
[6] cufunction_compile(job::GPUCompiler.CompilerJob, ctx::LLVM.Context)
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:332
[7] #260
@ ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:325 [inlined]
[8] JuliaContext(f::CUDA.var"#260#261"{GPUCompiler.CompilerJob{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams, GPUCompiler.FunctionSpec{GPUArrays.var"#broadcast_kernel#17", Tuple{CUDA.CuKernelContext, CuDeviceArray{Float32, 3, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Int64}}}})
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:74
[9] cufunction_compile(job::GPUCompiler.CompilerJob)
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:324
[10] cached_compilation(cache::Dict{UInt64, Any}, job::GPUCompiler.CompilerJob, compiler::typeof(CUDA.cufunction_compile), linker::typeof(CUDA.cufunction_link))
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/cache.jl:90
[11] cufunction(f::GPUArrays.var"#broadcast_kernel#17", tt::Type{Tuple{CUDA.CuKernelContext, CuDeviceArray{Float32, 3, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Int64}}; name::Nothing, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:297
[12] cufunction(f::GPUArrays.var"#broadcast_kernel#17", tt::Type{Tuple{CUDA.CuKernelContext, CuDeviceArray{Float32, 3, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{3}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}, Base.Broadcast.Extruded{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuDeviceArray{Int64, 3, 1}}, Tuple{Bool, Bool, Bool}, Tuple{Int64, Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceMatrix{Float32, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Int64}})
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:291
[13] macro expansion
@ ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:102 [inlined]
[14] #launch_heuristic#284
@ ~/.julia/packages/CUDA/Uurn4/src/gpuarrays.jl:17 [inlined]
[15] _copyto!
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:73 [inlined]
[16] copyto!
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:56 [inlined]
[17] copy
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:47 [inlined]
[18] materialize
@ ./broadcast.jl:860 [inlined]
[19] likelihood_indices(k::PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuArray{Int64, 3, CUDA.Mem.DeviceBuffer}}, model::BinomialGridModel{PermutedDimsArray{Int64, 2, (2, 1), (2, 1), CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}}, obs::Vector{Float32})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/likelihood.jl:25
[20] likelihood_resample!
@ ~/.julia/dev/BinomialSynapses/src/likelihood.jl:41 [inlined]
[21] update!(filterstate::NestedParticleState{BinomialState{PermutedDimsArray{Int64, 3, (3, 1, 2), (2, 3, 1), CuArray{Int64, 3, CUDA.Mem.DeviceBuffer}}}, BinomialGridModel{PermutedDimsArray{Int64, 2, (2, 1), (2, 1), CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}}}, observation::BinomialObservation{Vector{Float32}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}, filter::NestedParticleFilter)
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/filter.jl:57
[22] (::Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64})(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/myopic.jl:76
[23] macro expansion
@ ./timing.jl:380 [inlined]
[24] propagate!(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/simulate.jl:113
[25] macro expansion
@ ~/.julia/dev/BinomialSynapses/src/simulate.jl:161 [inlined]
[26] macro expansion
@ ./timing.jl:380 [inlined]
[27] run!(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}}; T::Int64, plot_each_timestep::Bool, recording::Recording{Nothing, Nothing, Nothing})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/simulate.jl:160
[28] (::var"#test_convergence#6")(timestep::Myopic{LinRange{Float64, Int64}, typeof(_entropy), Int64}, T::Int64, device::Symbol)
@ Main ~/.julia/dev/BinomialSynapses/test/_integration.jl:54
[29] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:96 [inlined]
[30] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[31] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:96 [inlined]
[32] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[33] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:90 [inlined]
[34] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1359 [inlined]
[35] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:64 [inlined]
[36] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[37] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:2
[38] include(fname::String)
@ Base.MainInclude ./client.jl:451
[39] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/runtests.jl:43 [inlined]
[40] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[41] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/runtests.jl:30
[42] include(fname::String)
@ Base.MainInclude ./client.jl:451
[43] top-level scope
@ none:6
[44] eval
@ ./boot.jl:373 [inlined]
[45] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:268
[46] _start()
@ Base ./client.jl:495
OEDPolicy: MyopicFast: Error During Test at /home/simone/.julia/dev/BinomialSynapses/test/_integration.jl:98
Got exception outside of a @test
GPU compilation of kernel broadcast_kernel(CUDA.CuKernelContext, CuDeviceMatrix{Float32, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Int64, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}}}, Int64) failed
KernelError: passing and using non-bitstype argument
Argument 4 to your kernel function is of type Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Int64, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}}}, which is not isbits:
.args is of type Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Int64, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}} which is not isbits.
.1 is of type Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}} which is not isbits.
.x is of type Vector{Float32} which is not isbits.
Stacktrace:
[1] check_invocation(job::GPUCompiler.CompilerJob)
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/validation.jl:71
[2] macro expansion
@ ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:385 [inlined]
[3] macro expansion
@ ~/.julia/packages/TimerOutputs/2IJ7m/src/TimerOutput.jl:252 [inlined]
[4] macro expansion
@ ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:384 [inlined]
[5] emit_asm(job::GPUCompiler.CompilerJob, ir::LLVM.Module; strip::Bool, validate::Bool, format::LLVM.API.LLVMCodeGenFileType)
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/utils.jl:64
[6] cufunction_compile(job::GPUCompiler.CompilerJob, ctx::LLVM.Context)
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:332
[7] #260
@ ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:325 [inlined]
[8] JuliaContext(f::CUDA.var"#260#261"{GPUCompiler.CompilerJob{GPUCompiler.PTXCompilerTarget, CUDA.CUDACompilerParams, GPUCompiler.FunctionSpec{GPUArrays.var"#broadcast_kernel#17", Tuple{CUDA.CuKernelContext, CuDeviceMatrix{Float32, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Int64, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}}}, Int64}}}})
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/driver.jl:74
[9] cufunction_compile(job::GPUCompiler.CompilerJob)
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:324
[10] cached_compilation(cache::Dict{UInt64, Any}, job::GPUCompiler.CompilerJob, compiler::typeof(CUDA.cufunction_compile), linker::typeof(CUDA.cufunction_link))
@ GPUCompiler ~/.julia/packages/GPUCompiler/1FdJy/src/cache.jl:90
[11] cufunction(f::GPUArrays.var"#broadcast_kernel#17", tt::Type{Tuple{CUDA.CuKernelContext, CuDeviceMatrix{Float32, 1}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(BinomialSynapses.gauss), Tuple{Base.Broadcast.Extruded{Vector{Float32}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{2}, Nothing, typeof(*), Tuple{Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Extruded{CuDeviceMatrix{Int64, 1}, Tuple{Bool, Bool}, Tuple{Int64, Int64}}}}, Base.Broadcast.Extruded{CuDeviceVector{Float32, 1}, Tuple{Bool}, Tuple{Int64}}}}, Int64}}; name::Nothing, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ CUDA ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:297
[12] cufunction
@ ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:291 [inlined]
[13] macro expansion
@ ~/.julia/packages/CUDA/Uurn4/src/compiler/execution.jl:102 [inlined]
[14] #launch_heuristic#284
@ ~/.julia/packages/CUDA/Uurn4/src/gpuarrays.jl:17 [inlined]
[15] _copyto!
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:73 [inlined]
[16] copyto!
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:56 [inlined]
[17] copy
@ ~/.julia/packages/GPUArrays/Zecv7/src/host/broadcast.jl:47 [inlined]
[18] materialize
@ ./broadcast.jl:860 [inlined]
[19] likelihood_indices(k::CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}, model::BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}, obs::Vector{Float32})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/likelihood.jl:25
[20] likelihood_resample!
@ ~/.julia/dev/BinomialSynapses/src/likelihood.jl:41 [inlined]
[21] update!(filterstate::NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, observation::BinomialObservation{Vector{Float32}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}, filter::NestedParticleFilter)
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/filter.jl:57
[22] (::MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64})(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/myopic.jl:76
[23] macro expansion
@ ./timing.jl:380 [inlined]
[24] propagate!(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/simulate.jl:113
[25] macro expansion
@ ~/.julia/dev/BinomialSynapses/src/simulate.jl:161 [inlined]
[26] macro expansion
@ ./timing.jl:380 [inlined]
[27] run!(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}, Vector{Float64}, Vector{Float64}}; T::Int64, plot_each_timestep::Bool, recording::Recording{Nothing, Nothing, Nothing})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/simulate.jl:160
[28] (::var"#test_convergence#6")(timestep::MyopicFast{LinRange{Float64, Int64}, typeof(_entropy), Int64}, T::Int64, device::Symbol)
@ Main ~/.julia/dev/BinomialSynapses/test/_integration.jl:54
[29] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:99 [inlined]
[30] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[31] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:99 [inlined]
[32] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[33] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:90 [inlined]
[34] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1359 [inlined]
[35] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:64 [inlined]
[36] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[37] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/_integration.jl:2
[38] include(fname::String)
@ Base.MainInclude ./client.jl:451
[39] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/runtests.jl:43 [inlined]
[40] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[41] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/runtests.jl:30
[42] include(fname::String)
@ Base.MainInclude ./client.jl:451
[43] top-level scope
@ none:6
[44] eval
@ ./boot.jl:373 [inlined]
[45] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:268
[46] _start()
@ Base ./client.jl:495
Saving Recording using JLD: Error During Test at /home/simone/.julia/dev/BinomialSynapses/test/saving.jl:1
Got exception outside of a @test
type Float64 has no field time
Stacktrace:
[1] getproperty
@ ./Base.jl:42 [inlined]
[2] (::var"#f1#12")(sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, FixedTimestep{Float64}, Vector{Float64}, Vector{Float64}}, time::Float64)
@ Main ~/.julia/dev/BinomialSynapses/test/saving.jl:67
[3] Recording(f1::var"#f1#12", f2::Function, sim::NestedFilterSimulation{BinomialModel{Vector{Int64}, Vector{Float64}}, NestedParticleFilter, BinomialState{Matrix{Int64}}, NestedParticleState{BinomialState{CuArray{Int64, 2, CUDA.Mem.DeviceBuffer}}, BinomialGridModel{CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}}}, FixedTimestep{Float64}, Vector{Float64}, Vector{Float64}})
@ BinomialSynapses ~/.julia/dev/BinomialSynapses/src/simulate.jl:333
[4] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/saving.jl:74 [inlined]
[5] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[6] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/saving.jl:2
[7] include(fname::String)
@ Base.MainInclude ./client.jl:451
[8] macro expansion
@ ~/.julia/dev/BinomialSynapses/test/runtests.jl:44 [inlined]
[9] macro expansion
@ ~/.julia/juliaup/julia-1.7.2+0~x64/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
[10] top-level scope
@ ~/.julia/dev/BinomialSynapses/test/runtests.jl:30
[11] include(fname::String)
@ Base.MainInclude ./client.jl:451
[12] top-level scope
@ none:6
[13] eval
@ ./boot.jl:373 [inlined]
[14] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:268
[15] _start()
@ Base ./client.jl:495
Test Summary: | Pass Error Total
BinomialSynapses.jl | 153095 8 153103
models.jl | No tests
propagate.jl | 456 456
timestep.jl | 10 10
emission.jl | 3 3
likelihood.jl | 2082 2082
jitter.jl | 2000 2000
resample.jl | 147576 147576
filter.jl | No tests
statistics.jl | 10 10
simulate.jl | 96 96
record.jl | 7 7
myopic.jl | 845 3 848
_repeat | 840 840
_entropy: Myopic | 2 2
CPU | 1 1
GPU | 1 1
_entropy: MyopicFast | 1 1 2
CPU | 1 1
GPU | 1 1
_tauentropy: Myopic | 2 2
_tauentropy: MyopicFast | 2 2
integration tests | 10 4 14
Device = cpu | No tests
Device = gpu | 10 4 14
benchmark of filter | No tests
benchmark of OED | 2 2
OEDPolicy: Uniform | No tests
OEDPolicy: Myopic | 1 1
OEDPolicy: MyopicFast | 1 1
convergence of filter | 5 5
convergence of OED | 5 2 7
OEDPolicy: Uniform | 5 5
OEDPolicy: Myopic | 1 1
OEDPolicy: MyopicFast | 1 1
Saving Recording using JLD | 1 1
ERROR: LoadError: Some tests did not pass: 153095 passed, 0 failed, 8 errored, 0 broken.
in expression starting at /home/simone/.julia/dev/BinomialSynapses/test/runtests.jl:29
ERROR: Package BinomialSynapses errored during testing |
|
Re-tested on my GPU machine: |
|
Now the only tests that fail are those that are expected to fail. |
1 similar comment
|
Now the only tests that fail are those that are expected to fail. |
No description provided.