libxmp/libxmpf in Omni Compiler  1.3.4
xmp_onesided.c File Reference
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include "xmp_internal.h"
Include dependency graph for xmp_onesided.c:

Functions

void _XMP_initialize_onesided_functions ()
 
void _XMP_finalize_onesided_functions ()
 

Variables

int _XMP_flag_put_nb = false
 These variables are temporral. More...
 
int _XMP_flag_get_nb = false
 

Function Documentation

◆ _XMP_finalize_onesided_functions()

void _XMP_finalize_onesided_functions ( )
143 {
144 #ifdef _XMP_GASNET
146 #elif _XMP_FJRDMA
147  if(_XMP_world_size > _XMP_ONESIDED_MAX_PROCS) return;
148  else _XMP_fjrdma_finalize();
149 #elif _XMP_UTOFU
151 #elif _XMP_MPI3_ONESIDED
153 #endif
154 
155 #ifdef _XMP_TCA
157 #endif
158 }
Here is the call graph for this function:

◆ _XMP_initialize_onesided_functions()

void _XMP_initialize_onesided_functions ( )
72 {
73 #ifdef _XMP_FJRDMA
74  if(_XMP_world_size > _XMP_ONESIDED_MAX_PROCS){
75  if(_XMP_world_rank == 0)
76  fprintf(stderr, "Warning : Onesided operations cannot be not used in %d processes (up to %d processes)\n",
77  _XMP_world_size, _XMP_ONESIDED_MAX_PROCS);
78 
79  return;
80  }
81 #endif
82 
83 #ifdef _XMP_GASNET
84  size_t _xmp_heap_size, _xmp_stride_size;
85  _xmp_heap_size = _get_size("XMP_ONESIDED_HEAP_SIZE");
86  _xmp_stride_size = _get_size("XMP_ONESIDED_STRIDE_SIZE");
87  _xmp_heap_size += _xmp_stride_size;
88  _XMP_gasnet_initialize(_xmp_heap_size, _xmp_stride_size);
90 #elif _XMP_FJRDMA
92 #elif _XMP_UTOFU
94 #elif _XMP_MPI3_ONESIDED
95  size_t _xmp_heap_size;
96  _xmp_heap_size = _get_size("XMP_ONESIDED_HEAP_SIZE");
97  _XMP_mpi_onesided_initialize(_xmp_heap_size);
98 #endif
99 
100 #ifdef _XMP_TCA
102 #endif
103 
104 #if defined(_XMP_GASNET) || defined(_XMP_FJRDMA) || defined(_XMP_TCA) || defined(_XMP_MPI3_ONESIDED) || defined(_XMP_UTOFU)
108 #endif
109 
110  /* Temporary */
111  if(getenv("XMP_PUT_NB") != NULL){
112  _XMP_flag_put_nb = true; // defalt false
113  if(_XMP_world_rank == 0)
114  printf("*** _XMP_coarray_contiguous_put() is Non-Blocking ***\n");
115  }
116 
117  if(getenv("XMP_GET_NB") != NULL){
118  _XMP_flag_get_nb = true; // defalt false
119  if(_XMP_world_rank == 0)
120  printf("*** _XMP_coarray_contiguous_get() is Non-Blocking ***\n");
121  }
122 
123 #if defined(_XMP_FJRDMA)
124  if(getenv("XMP_PUT_NB_RR") != NULL){
125  _XMP_flag_put_nb = true; // defalt false
126  _XMP_flag_put_nb_rr = true; // defalt false
127  if(_XMP_world_rank == 0)
128  printf("*** _XMP_coarray_contiguous_put() is Non-Blocking and Round-Robin ***\n");
129  }
130 
131  if(getenv("XMP_PUT_NB_RR_I") != NULL){
132  _XMP_flag_put_nb = true; // defalt false
133  _XMP_flag_put_nb_rr = true; // defalt false
134  _XMP_flag_put_nb_rr_i = true; // defalt false
135  if(_XMP_world_rank == 0)
136  printf("*** _XMP_coarray_contiguous_put() is Non-Blocking, Round-Robin and Immediately ***\n");
137  }
138 #endif
139  /* End Temporary */
140 }
Here is the call graph for this function:

Variable Documentation

◆ _XMP_flag_get_nb

int _XMP_flag_get_nb = false

◆ _XMP_flag_put_nb

int _XMP_flag_put_nb = false

These variables are temporral.

_XMP_flag_put_nb
int _XMP_flag_put_nb
These variables are temporral.
Definition: xmp_onesided.c:5
_XMP_utofu_finalize
void _XMP_utofu_finalize(void)
Definition: xmp_onesided_utofu.c:79
_XMP_gasnet_finalize
void _XMP_gasnet_finalize()
Finalize GASNet job.
Definition: xmp_onesided_gasnet.c:77
_XMP_world_size
int _XMP_world_size
Definition: xmp_world.c:8
_XMP_utofu_initialize
void _XMP_utofu_initialize(void)
Definition: xmp_onesided_utofu.c:5
_XMP_flag_get_nb
int _XMP_flag_get_nb
Definition: xmp_onesided.c:6
_XMP_flag_put_nb_rr
int _XMP_flag_put_nb_rr
_XMP_world_rank
int _XMP_world_rank
Definition: xmp_world.c:9
_XMP_post_wait_initialize
void _XMP_post_wait_initialize()
Definition: xmp_post_wait.c:8
_XMP_tca_initialize
void _XMP_tca_initialize()
Initialize TCA.
Definition: xmp_onesided_tca.c:22
_XMP_gasnet_intrinsic_initialize
void _XMP_gasnet_intrinsic_initialize()
Definition: xmp_intrinsic_gasnet.c:33
_XMP_tca_finalize
void _XMP_tca_finalize()
Finalize TCA.
Definition: xmp_onesided_tca.c:45
_XMP_build_coarray_queue
void _XMP_build_coarray_queue()
Build queue for coarray.
Definition: xmp_coarray.c:1574
_XMP_mpi_onesided_initialize
void _XMP_mpi_onesided_initialize(const size_t heap_size)
Definition: xmp_onesided_mpi.c:25
_XMP_fjrdma_initialize
void _XMP_fjrdma_initialize(int argc, char **argv)
Initialize FUJITSU RDMA for the K computer and FX10.
Definition: xmp_onesided_fjrdma.c:7
_XMP_build_sync_images_table
void _XMP_build_sync_images_table()
Build table for sync images.
Definition: xmp_coarray.c:1558
_XMP_mpi_onesided_finalize
void _XMP_mpi_onesided_finalize()
Definition: xmp_onesided_mpi.c:64
_XMP_gasnet_initialize
void _XMP_gasnet_initialize(const size_t xmp_gasnet_heap_size, const size_t xmp_gasnet_stride_size)
Initialize GASNet job.
Definition: xmp_onesided_gasnet.c:32
_XMP_flag_put_nb_rr_i
int _XMP_flag_put_nb_rr_i
_XMP_fjrdma_finalize
void _XMP_fjrdma_finalize()
Finalize FUJITSU RDMA for the K computer and FX10.
Definition: xmp_onesided_fjrdma.c:16