Issue filed: https://github.com/JuliaLang/julia/issues/5478
On Wed, Jan 22, 2014 at 1:19 AM, Amit Murthy <[email protected]> wrote: > amitm:/tmp$ julia -p 2 -e "@everywhere include(\"module.jl\")" > Warning: requiring "DataStructures" did not define a corresponding module. > Warning: requiring "DataStructures" did not define a corresponding module. > > amitm:/tmp$ julia -p 2 -e "require(\"module.jl\")" > > Only the include is throwing up the warning, require seems to be fine.... > > > > > On Wed, Jan 22, 2014 at 11:41 AM, Amit Murthy <[email protected]> wrote: >> >> I just did a 'Pkg.add("DataStructures")' and tried the above code. Seeing >> the same issue. >> >> >> On Wed, Jan 22, 2014 at 11:38 AM, Jeff Bezanson <[email protected]> >> wrote: >>> >>> This ought to work. The warning is interesting, since the >>> DataStructures package does (for me at least) define a DataStructures >>> module. Is it possible DataStructures is not fully installed, missing >>> files or something like that? >>> >>> >>> On Wed, Jan 22, 2014 at 1:01 AM, Madeleine Udell >>> <[email protected]> wrote: >>> > I'm trying to understand the most Julian way to perform a particular >>> > parallel programming task. Suppose I need function foo from module.jl >>> > to be >>> > available everywhere. Let's call the following code map_foo.jl: >>> > >>> > @everywhere include("module.jl") >>> > @everywhere using MyModule >>> > pmap(foo,1:100) >>> > >>> > That works fine, except when module.jl itself has other dependencies on >>> > other modules: >>> > >>> > module MyModule >>> > >>> > using DataStructures >>> > export foo >>> > >>> > function foo(i) >>> > return Queue(i) >>> > end >>> > >>> > end # module >>> > >>> > In this case, it works to call >>> > >>> > julia map_foo.jl >>> > >>> > but when I call >>> > >>> > julia -p 2 map_foo.jl >>> > >>> > I get the following error >>> > >>> > Warning: requiring "DataStructures" did not define a corresponding >>> > module. >>> > Warning: requiring "DataStructures" did not define a corresponding >>> > module. >>> > exception on exception on 2: 3: ERROR: ERROR: Queue not definedQueue >>> > not >>> > defined >>> > in >>> > in foo at /Users/madeleineudell/Dropbox/pestilli_icme_life >>> > (1)/src/julia/questions/module.jl:7 >>> > in anonymous at multi.jl:834 >>> > in run_work_thunk at multi.jl:575 >>> > in anonymous at task.jl:834 >>> > foo at /Users/madeleineudell/Dropbox/pestilli_icme_life >>> > (1)/src/julia/questions/module.jl:7 >>> > in anonymous at multi.jl:834 >>> > in run_work_thunk at multi.jl:575 >>> > in anonymous at task.jl:834 >>> > >>> > Does anyone know how I can successfully chain dependencies like this >>> > when >>> > using parallelism? Calling @everywhere on the import call in module.jl >>> > also >>> > doesn't fix the problem, strangely enough. >>> > >>> > Of course, if I could put all my code into shared memory, I'd be much >>> > happier. I just saw an update adding shared memory arrays, but I don't >>> > know >>> > if there's a way to get shared memory code! >>> > >> >> >
