need simple example using pmode

2 views (last 30 days)
huda nawaf
huda nawaf on 12 Mar 2013
hi,
*i need simple example using pmode . for example : if I have this array
x=[2 90 2 17 80; 5 3 2 90 8; 60 74 1 2 3;55 6 4 11 0];
how i can use my two workers to sum this array, where each worker will work on part of array, the collect the result.
I don't know how i partition the array on two workers , the how to collect the results.
please , i need simple example about that.
thanks in advance*

Answers (1)

Konrad Malkowski
Konrad Malkowski on 13 Mar 2013
Here's an example how to use
distributed
arrays and how to use SPMD:
matlabpool open 2
x = 1:1:100;
y = 100:-1:1;
dx = distributed(x);
dy = distributed(y);
dz = dx + dy
spmd
dz
end
Note that dz is distributed across two workers :-).
Hope this helps
  3 Comments
Konrad Malkowski
Konrad Malkowski on 15 Mar 2013
Yes you could use this functionality in the way that you describe. You will need to check documentation for distributed/codistributed arrays to see which options are supported.
You can also do MPI like programming in MATLAB using labSend, labReceive commands, etc.
huda nawaf
huda nawaf on 16 Mar 2013
Edited: huda nawaf on 12 May 2013
I have a matrix , say x(10*10); and I have two workers what I need is running the code for each part of matrix. I want to ask , must I write the code two times as follows, then coolect the result? what if I have 5 workers, must write the code 5 times?
matlabpool open 2
x=dlmread()with size 10*10
for i=1:5
for j=1:10
process....
end
end
result=z
for i=6:10
for j=1:10
process....
end
end
result=z1;
dx = distributed(z);
dy = distributed(z1);
dz = dx + dy
spmd
dz
end
thanks in advance

Sign in to comment.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!