2014-04-22 35 views
5

Tôi đang khám phá các tính toán song song của Julia và cố này:Làm cách nào để đặt giá trị cho các thành phần của DArray?

a=dzeros(5);a[1]=5 

nhưng chỉ có lỗi này:

setindex! not defined for DArray{{Float64, 1, Array{Float64, 1}} 

Vâng, tôi nghĩ hướng dẫn nói setindex! được thực hiện hoàn toàn bởi DArray. Tôi đã bỏ lỡ điều gì?

Tôi đang sử dụng v0.2.1 cho Windows 32 bit.

+0

phương thức (setindex!) Nói gì? DArray có được liệt kê ở bất kỳ đâu trong danh sách của nó không? –

+0

@ JeremyWall Tôi thấy một số 'DArray's trong danh sách, nhưng không chắc chắn nếu họ là phương pháp hỗ trợ những gì tôi muốn làm. (Tôi vẫn không quen thuộc với cú pháp của Julia.) – xzczd

Trả lời

3

Tôi cũng chỉ là một nhà thám hiểm, nhưng sau khi đọc Julia's Distributed Arrays Docs, tôi đã thử điều này dường như hoạt động.

$ ./julia 
       _ 
    _  _ _(_)_  | A fresh approach to technical computing 
    (_)  | (_) (_) | Documentation: http://docs.julialang.org 
    _ _ _| |_ __ _ | Type "help()" to list help topics 
    | | | | | | |/ _` | | 
    | | |_| | | | (_| | | Version 0.3.0-prerelease+2703 (2014-04-22 18:57 UTC) 
_/ |\__'_|_|_|\__'_| | Commit 942ae42* (0 days old master) 
|__/     | i686-redhat-linux 

julia> versioninfo() 
Julia Version 0.3.0-prerelease+2703 
Commit 942ae42* (2014-04-22 18:57 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> a=dzeros(5) 
5-element DArray{Float64,1,Array{Float64,1}}: 
0.0 
0.0 
0.0 
0.0 
0.0 

julia> localpart(a)[1]=5 
5 

julia> a 
5-element DArray{Float64,1,Array{Float64,1}}: 
5.0 
0.0 
0.0 
0.0 
0.0 

julia> 

Dường như mảng phân phối không phải là "địa phương" cho đến khi bạn làm cho họ "địa phương".

+0

N.B .: 'Localpart' của DArray cần được gán cho 'proc/worker' nơi nó tồn tại. – rickhg12hs

Các vấn đề liên quan