Open mhauru opened 2 hours ago
There is something going on with the underlying Memory
s here. If you look at the [rule in which the error is thrown](), you'll see that we've somehow wound up in a situation whereby the primal and fdata Memory
s / MemoryRef
s are out of sync with one another. I believe that it must be the case that either
Memory
s are of different lengths, orMemoryRef
s point to different locations in their respective Memory
s.Figuring out how this happened should be possible using debug mode, but I might need to update it with some checks for Memory
and MemoryRef
s.
Now managing to reproduce locally by checking out the latest commit (6f5b273dfa1d21548758d986e5710c3e72524195) from https://github.com/TuringLang/Turing.jl/pull/2328 and running
module MWE
using Distributions: Normal, sample
import Random
using StableRNGs: StableRNG
import Mooncake
using Turing
@model function gdemo_d()
s ~ InverseGamma(2, 3)
m ~ Normal(0, sqrt(s))
1.5 ~ Normal(m, sqrt(s))
2.0 ~ Normal(m, sqrt(s))
return s, m
end
gdemo_default = gdemo_d()
adbackend = Turing.AutoMooncake(; config=nothing)
rng = StableRNG(123)
Random.seed!(12345) # particle samplers do not support user-provided `rng` yet
alg3 = Gibbs(; s=PG(20), m=HMCDA(500, 0.8, 0.25; init_ϵ=0.05, adtype=adbackend))
res3 = sample(rng, gdemo_default, alg3, 3000, discard_initial=1000)
end
with Julia v1.11.1
This will make debugging vastly easier. Thank you!
A Turing CI run fails with the following:
The test passes for me locally, also on v1.11.1. To save time, I skipped running the preceding tests though, so if this is random seed dependent then that would explain why it worked for me locally.