So, @everywhere Pkg.build("Dierckx") didn’t help, and Fortran is working 
fine on the servers (recall that the code works fine when the workers are 
launched from the server with addprocs(2)). However, just to rule out 
anything having to do with Fortran I decided to test a few code 
permutations with the Distributions package. I still get the same WARNING: 
node state is inconsistent... but now if I use @everywhere using 
Distributions then the code works (but not for Dierckx). I’m totally 
confused. 

Here is a summary.

When launched from my laptop, the following commands work fine

machines = ["ande...@xxx.xxx.edu", "ande...@xxx.xxx.edu"]

addprocs(
  machines,
  tunnel=true,
  dir="/home/anderes/",
  exename="/usr/local/bin/julia",
  topology=:master_slave,
)

Now if I do

using  Distributions
@everywhere X = Distributions.Normal(0,1)

the first line results in the same WARNING: node state is inconsistent... 
but second line fails with UndefVarError: Distributions not defined. 
However, I get no errors with the above two commands if I launch the 
workers directly on the server with addprocs(2) (just as with the Dierckx 
package).

However, if I do

@everywhere using  Distributions
@everywhere X = Distributions.Normal(0,1)

the first line still results WARNING: node state is inconsistent but now 
the second line works! but not for Dierckx (unless I’m launching the 
workers from the server).

At least I’m making some progress. Is it possible that the node state being 
inconsistent creates a problem for the Fortran stuff in Dierckx but not for 
Distributions. Even if that is the problem for Dierckx I still don’t get 
why I need the @everywhere before using Distributions in the one use cases 
of of addprocs and not the other. 


On Saturday, June 4, 2016 at 12:23:20 AM UTC-7, Tony Kelman wrote:

That may cause recompilation to happen. Do you also have the Fortran 
> library installed on all machines? If not,
>
> @everywhere Pkg.build("Dierckx")
>
> may help.
>
>
> On Friday, June 3, 2016 at 5:48:24 PM UTC-7, Ethan Anderes wrote:
>>
>> Hi Tim:
>>
>> I just checked and the package versions are the same (v0.1.8). However, 
>> the julia versions on my laptop is slightly different from what is on the 
>> server (Version 0.4.6-pre+37 vrs Version 0.4.6-pre+36). Is that a problem? 
>>
>> Ethan
>>
>> On Friday, June 3, 2016 at 1:48:37 PM UTC-7, Tim Holy wrote:
>>>
>>> Do you have different versions of the package installed on the different 
>>> machines? 
>>>
>>> --Tim 
>>>
>>> On Friday, June 3, 2016 8:56:39 AM CDT Ethan Anderes wrote: 
>>> > I still get an error (see below). Even if it did work, it would still 
>>> be 
>>> > strange that one would need a different syntax when the workers are on 
>>> my 
>>> > local machine vrs connected to servers with ssh tunnel. 
>>> > 
>>> > julia> addprocs( 
>>> >            machines, 
>>> >            tunnel=true, 
>>> >            dir="/home/anderes/", 
>>> >            exename="/usr/local/bin/julia", 
>>> >            topology=:master_slave, 
>>> >        ) 
>>> > 2-element Array{Int64,1}: 
>>> >  2 
>>> >  3 
>>> > 
>>> > julia> @everywhere using  Dierckx 
>>> > WARNING: node state is inconsistent: node 2 failed to load cache from 
>>> > /Users/ethananderes/.julia/lib/v0.4/Dierckx.ji WARNING: node state is 
>>> > inconsistent: node 3 failed to load cache from 
>>> > /Users/ethananderes/.julia/lib/v0.4/Dierckx.ji WARNING: 
>>> deserialization 
>>> > checks failed while attempting to load cache from 
>>> > /Users/ethananderes/.julia/lib/v0.4/Dierckx.ji WARNING: 
>>> deserialization 
>>> > checks failed while attempting to load cache from 
>>> > /Users/ethananderes/.julia/lib/v0.4/Dierckx.ji WARNING: 
>>> deserialization 
>>> > checks failed while attempting to load cache from 
>>> > /Users/ethananderes/.julia/lib/v0.4/Compat.ji WARNING: deserialization 
>>> > checks failed while attempting to load cache from 
>>> > /Users/ethananderes/.julia/lib/v0.4/Compat.ji ERROR: On worker 2: 
>>> > LoadError: InitError: Dierckx not properly installed. Run 
>>> > Pkg.build("Dierckx") in __init__ at 
>>> > /Users/ethananderes/.julia/v0.4/Dierckx/src/Dierckx.jl:27 in 
>>> include_string 
>>> > at loading.jl:282 
>>> >  in include_from_node1 at ./loading.jl:323 
>>> >  in require at ./loading.jl:259 
>>> >  in eval at ./sysimg.jl:14 
>>> >  in anonymous at multi.jl:1394 
>>> >  in anonymous at multi.jl:923 
>>> >  in run_work_thunk at multi.jl:661 
>>> >  [inlined code] from multi.jl:923 
>>> >  in anonymous at task.jl:63 
>>> > during initialization of module Dierckx 
>>> > while loading /Users/ethananderes/.julia/v0.4/Dierckx/src/Dierckx.jl, 
>>> in 
>>> > expression starting on line 714 in remotecall_fetch at multi.jl:747 
>>> >  in remotecall_fetch at multi.jl:750 
>>> >  in anonymous at multi.jl:1396 
>>> > 
>>> > ...and 1 other exceptions. 
>>> > 
>>> >  in sync_end at ./task.jl:413 
>>> >  in anonymous at multi.jl:1405 
>>> > 
>>> > Just to convince you that it’s not a problem with Dierckx on the 
>>> remote 
>>> > machine… everything works fine (even without @everywhere before using 
>>> > Dierckx) when the master node is on server (rather than on my laptop) 
>>> > 
>>> > $ ssh xxx...@xxx.xxx.edu 
>>> > 
>>> > (xxx)-~$ julia 
>>> >                _ 
>>> >    _       _ _(_)_     |  A fresh approach to technical computing 
>>> >   (_)     | (_) (_)    |  Documentation: http://docs.julialang.org 
>>> >    _ _   _| |_  __ _   |  Type "?help" for help. 
>>> > 
>>> >   | | | | | | |/ _` |  | 
>>> >   | | | 
>>> >   | | |_| | | | (_| |  |  Version 0.4.6-pre+37 (2016-05-27 22:56 UTC) 
>>> > 
>>> >  _/ |\__'_|_|_|\__'_|  |  Commit 430601c (6 days old release-0.4) 
>>> > 
>>> > |__/                   |  x86_64-redhat-linux 
>>> > 
>>> > julia> addprocs(2, topology=:master_slave) 
>>> > 2-element Array{Int64,1}: 
>>> >  2 
>>> >  3 
>>> > 
>>> > julia> using  Dierckx 
>>> > 
>>> > julia> @everywhere spl = Dierckx.Spline1D([1., 2., 3.], [1., 2., 3.], 
>>> k=2) 
>>> > 
>>> > julia> 
>>> > 
>>> > 
>>> > I did find this old issue on github which seems to have a similar 
>>> error ( 
>>> > https://github.com/JuliaLang/julia/issues/12381). Should I file an 
>>> issue, 
>>> > or do you think it’s a problem on my end? 
>>> > 
>>> > 
>>> > 
>>> > 
>>> > 
>>> > On Friday, June 3, 2016 at 7:31:35 AM UTC-7, Isaiah wrote: 
>>> > 
>>> > Try `@everywhere using Dierckx` 
>>> > 
>>> > > ​ 
>>>
>>>
>>> ​

Reply via email to