This source file includes following definitions.
- main
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <stdio.h>
14 #include <string.h>
15
16 #include <shmem.h>
17
18 long pSync[_SHMEM_BCAST_SYNC_SIZE];
19
20 #define N 3
21
22 long src[N];
23 long dst[N];
24 long pWrk[_SHMEM_REDUCE_SYNC_SIZE];
25
26 int main(void)
27 {
28 int i;
29 int my_pe, num_pes;
30
31 for (i = 0; i < SHMEM_BCAST_SYNC_SIZE; i += 1) {
32 pSync[i] = _SHMEM_SYNC_VALUE;
33 }
34
35 shmem_init();
36
37 my_pe = shmem_my_pe();
38 num_pes = shmem_n_pes();
39
40 for (i = 0; i < N; i += 1) {
41 src[i] = my_pe + i;
42 }
43
44 shmem_barrier_all();
45
46 shmem_long_max_to_all(dst, src, N, 0, 0, num_pes, pWrk, pSync);
47
48 printf("%d/%d dst =", my_pe, num_pes);
49
50 for (i = 0; i < N; i+= 1) {
51 printf(" %ld", dst[i]);
52 }
53
54 printf("\n");
55 shmem_finalize();
56
57 return 0;
58 }
59