29.01.2015 Views

Dr. David Cronk Innovative Computing Lab University of ... - It works!

Dr. David Cronk Innovative Computing Lab University of ... - It works!

Dr. David Cronk Innovative Computing Lab University of ... - It works!

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Create a non-commutative sum<br />

Void my_add (void *in, void *out, int *len, MPI_Datatype *dtype)<br />

{<br />

int i;<br />

int *iarray1, *iarray2;<br />

float *farray1, *farray2;<br />

if (*dtype == MPI_INT) {<br />

iarray1 = in; iarray2 = out;<br />

for (i = 0; i < *len; i++)<br />

iarray2[i] = iarra2[i] + iarray1[i];<br />

} else {<br />

farray1 = in; farray2 = out;<br />

for (i = 0; i < *len; i++)<br />

iarray2[i] = iarra2[i] + iarray1[i];<br />

}<br />

}<br />

…<br />

MPI_Op myop;<br />

MPI_Op_create ((MPI_User_function*)my_add, False, &myop);<br />

MPI_Reduce (inbuf, outbuf, num, MPI_FLOAT, myop, 0, MPI_COMM_WORLD);<br />

<strong>David</strong> <strong>Cronk</strong> 122

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!