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! >> > >> > >
