MATLAB Answers

## need simple example using pmode

Asked by huda nawaf

### huda nawaf (view profile)

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*

#### 0 Comments

Sign in to comment.

## 1 Answer

Answer by Konrad Malkowski

### Konrad Malkowski (view profile)

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

huda nawaf

### huda nawaf (view profile)

on 13 Mar 2013
Many thanks,
Can I use this code to solve complex program as sequence alignmnet ?I meam instead of sum two vectors , I use other procedure in same way.
Konrad Malkowski

### Konrad Malkowski (view profile)

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 (view profile)

on 16 Mar 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.