This source file includes following definitions.
- main
1
2
3
4
5
6
7
8
9
10
11 #include <stdio.h>
12 #include <shmem.h>
13
14 #define SIZE 16
15
16 int main(int argc, char* argv[])
17 {
18 short source[SIZE];
19 static short target[SIZE];
20 int i;
21 int num_pe, my_pe;
22
23 shmem_init();
24
25 num_pe = shmem_n_pes();
26 my_pe = shmem_my_pe();
27
28 if (my_pe == 0) {
29
30 for(i = 0; i < SIZE; i++) {
31 source[i] = i;
32 }
33
34
35
36 for(i = 1; i < num_pe; i++) {
37 shmem_short_put(target, source, SIZE, i);
38 }
39 }
40
41 shmem_barrier_all();
42
43 if (my_pe != 0) {
44 printf("Target on PE %d is \t", my_pe);
45
46 for(i = 0; i < SIZE; i++) {
47 printf("%hd \t", target[i]);
48 }
49 printf("\n");
50 }
51
52 shmem_barrier_all();
53 shmem_finalize();
54
55 return 0;
56 }