Might be in relation to this thread <https://groups.google.com/forum/#!msg/julia-users/FjGXSTzvfmc/j0ZDG629IwAJ> - I've ported some code from 0.3.11 to 0.4, but when trying to run it in parallel I encounter all kinds of issues.
My main file starts with nprocs()==CPU_CORES || addprocs(CPU_CORES-1) @everywhere begin include(path*"Optimizations.jl") include(path*"Interpolations.jl") include(path*"Parameters.jl") ... end Each file included here has a using statement at the beginning importing the necessary modules (e.g. Optimizations.jl will start with using Optim). Now when I run this, I get warnings about "replacing modules", one for each worker. Furthermore, every now and then (I'd say about half the time), I also get warnings of the form "both Grid and Grid export "CoordInterpGrid"; uses of it in module Main must be qualified", and the whole thing ends in an UndefVarError on one of the workers, complaining that a function from one of the modules that should have been imported is undefined. If I get past this stage and my code gets to the parallel loop, it finishes after a couple of seconds without any results. I've narrowed this down to the fact that the function being called in my parallel loop for some reason doesn't work on the worker processes (i.e. I can call func(a,b,c) on the main process, but remotecall_fetch(3,func,a,b,c,) gives a MethodError), but instead of getting lots of errors from my workers (as in 0.3.11), it seems that the loop simply skips over the errors and returns an empty results array without displaying an error. Is this expected behavior?
