main
test-branch
| Line | |
|---|
| 1 | #include <mpi.h>
|
|---|
| 2 | #include <stdio.h>
|
|---|
| 3 | #include <assert.h>
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 | int main() {
|
|---|
| 7 | int rank;
|
|---|
| 8 | double prefixSums[3];
|
|---|
| 9 | double values[3] = {1, 2, 3};
|
|---|
| 10 |
|
|---|
| 11 | MPI_Init(NULL, NULL);
|
|---|
| 12 | MPI_Comm_rank(MPI_COMM_WORLD, &rank);
|
|---|
| 13 |
|
|---|
| 14 | MPI_Scan(values, prefixSums, 3, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
|
|---|
| 15 |
|
|---|
| 16 | printf("I'm rank %d, my results are %f, %f, %f\n", rank, prefixSums[0], prefixSums[1], prefixSums[2]);
|
|---|
| 17 | assert(prefixSums[0] == rank+1 && prefixSums[1] == 2 * (rank + 1)
|
|---|
| 18 | && prefixSums[2] == 3 * (rank + 1));
|
|---|
| 19 | MPI_Finalize();
|
|---|
| 20 | return 0;
|
|---|
| 21 | }
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.