21
char *_armci_fence_arr;
23
void armci_init_fence()
25
#if defined (DATA_SERVER) || defined(PORTALS)
26
#if defined(THREAD_SAFE)
27
_armci_fence_arr = calloc(armci_nproc*armci_user_threads.max,1);
29
_armci_fence_arr=calloc(armci_nproc,1);
32
armci_die("armci_init_fence: calloc failed",0);
36
void armci_finalize_fence()
38
#if defined (DATA_SERVER) || defined(PORTALS)
39
free(_armci_fence_arr);
40
_armci_fence_arr = NULL;
45
void armci_update_fence_array(int proc, int inc)
55
void PARMCI_Fence(int proc)
57
#if defined(DATA_SERVER) && !(defined(GM) && defined(ACK_FENCE))
58
if(FENCE_ARR(proc) && (armci_nclus >1)){
60
int cluster = armci_clus_id(proc);
61
int master = armci_clus_info[cluster].master;
63
armci_rem_ack(cluster);
65
bzero(&FENCE_ARR(master),
66
armci_clus_info[cluster].nslave);
80
void PARMCI_AllFence()
86
#elif defined(LAPI) || defined(CLUSTER)
89
for(p = 0;p < armci_nproc; p++) {
106
MPI_Barrier(ARMCI_COMM_WORLD);