How can a remote proc discover, on its own, that it is "hosting" a portion 
of a DArray?

Here a DArray is distributed across two workers, but the workers' 
`whos` don't see it.

$ ./julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" to list help topics
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.3.0-prerelease+2921 (2014-05-07 17:56 
UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit ea70e4d* (0 days old master)
|__/                   |  i686-redhat-linux


julia> versioninfo()
Julia Version 0.3.0-prerelease+2921
Commit ea70e4d* (2014-05-07 17:56 UTC)
Platform Info:
  System: Linux (i686-redhat-linux)
  CPU: Genuine Intel(R) CPU           T2250  @ 1.73GHz
  WORD_SIZE: 32
  BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY)
  LAPACK: libopenblas
  LIBM: libopenlibm


julia> addprocs(2)
2-element Array{Any,1}:
 2
 3


julia> remotecall_fetch(2, whos)
 From worker 2: Base                          Module
 From worker 2: Core                          Module
 From worker 2: Main                          Module


julia> dz=dzeros(512)
512-element DArray{Float64,1,Array{Float64,1}}:
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 ⋮  
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0


julia> dz.chunks
2-element Array{RemoteRef,1}:
 RemoteRef(2,1,3)
 RemoteRef(3,1,4)


julia> dz.indexes
2-element Array{(UnitRange{Int32},),1}:
 (1:256,)  
 (257:512,)


julia> remotecall_fetch(2, whos)
 From worker 2: Base                          Module
 From worker 2: Core                          Module
 From worker 2: Main                          Module


julia> 


If you tell the remote proc the name of the DArray, it can find its part.

julia> remotecall_fetch(2, localpart, dz)
256-element Array{Float64,1}:
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 ⋮  
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0


julia> 



Reply via email to