Open
Description
Allocating matrices on one worker and copying them to another worker repeatedly leads to a memory leak on my computer, and the Julia session being killed.
julia> using Distributed
julia> addprocs(8)
julia> using Dagger
julia> for _ in 1:5
@time fetch(let
foo = Dagger.@spawn scope=Dagger.scope(worker=1) rand(10000, 10000);
Dagger.@spawn scope=Dagger.scope(worker=2) copy(foo)
end);
end
The foo
matrix and its copy should be garbage collected, which I don't think they are. But even then, each matrix is 0.8GB, so if they exist 5 times on both workers we have 5 * 2 * 0.8GB=8GB of memory, which should not overflow my RAM. (I have at least 16GB free).
Session is a clean temp
project with Dagger v0.18.12
, Julia 1.10.4,