Distributed.jl
Distributed.jl copied to clipboard
`@distributed` fails silently when lacking `@sync` or reduction
For a simple example:
@distributed for (i, j) in Base.Iterators.product([1, 2], [3, 4])
@show i + j; i + j
end
This should error, as in JuliaLang/Distributed.jl#57, but no error is reported. The code silently never runs the contents of the distributed loop. If you tack on a @sync
or even put in a reduction, i.e. @distributed (*)
then the error is reported properly.
This is relevant to my use-case where I set up a RemoteChannel and listen to it after running the @distributed
loop asynchronously.
julia> versioninfo()
Julia Version 1.3.0
Commit 46ce4d7933 (2019-11-26 06:09 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, skylake)