1 #ifndef _XMP_DATA_STRUCT
2 #define _XMP_DATA_STRUCT
7 #if defined(OMNI_TARGET_CPU_KCOMPUTER) && defined(K_RDMA_REFLECT)
10 #if defined(_XMP_XACC)
13 #if defined(_XMP_UTOFU)
17 #define _XMP_comm_t void
145 #if defined(_XMP_XACC)
146 #if defined(_XMP_TCA)
148 void *lo_send_host_buf, *lo_recv_host_buf;
149 void *hi_send_host_buf, *hi_recv_host_buf;
152 off_t lo_src_offset, lo_dst_offset;
153 off_t hi_src_offset, hi_dst_offset;
154 void *lo_send_handle, *lo_recv_handle;
155 void *hi_send_handle, *hi_recv_handle;
157 void *lo_send_host_buf, *lo_recv_host_buf;
158 void *hi_send_host_buf, *hi_recv_host_buf;
159 _XACC_queue_t lo_async_id;
160 _XACC_queue_t hi_async_id;
161 _XACC_memory_t dev_mem;
164 size_t lo_send_offset;
165 size_t lo_recv_offset;
166 size_t hi_send_offset;
167 size_t hi_recv_offset;
168 _XACC_memory_t lo_send_buf_mem;
169 _XACC_memory_t lo_recv_buf_mem;
170 _XACC_memory_t hi_send_buf_mem;
171 _XACC_memory_t hi_recv_buf_mem;
172 size_t lo_send_buf_offset;
173 size_t lo_recv_buf_offset;
174 size_t hi_send_buf_offset;
175 size_t hi_recv_buf_offset;
280 #if defined(OMNI_TARGET_CPU_KCOMPUTER) && defined(K_RDMA_REFLECT)
284 #if defined(_XMP_TCA)
286 void* tca_reflect_desc;
308 #ifdef _XMP_MPI3_ONESIDED
360 #ifdef _XMP_MPI3_ONESIDED
371 utofu_stadd_t *stadds;
402 #if defined(_XMP_XACC)
471 #define _XMP_ASYNC_COMM_SIZE 511
472 #define _XMP_MAX_ASYNC_REQS (4 * _XMP_N_MAX_DIM * 10)
473 #define _XMP_MAX_ASYNC_NODES (20)
Definition: xmp_data_struct.h:194
int par_lower
Definition: xmp_data_struct.h:204
int par_upper
Definition: xmp_data_struct.h:205
_XMP_reflect_sched_t * reflect_acc_sched
Definition: xmp_data_struct.h:253
_Bool is_regular_chunk
Definition: xmp_data_struct.h:196
int shadow_comm_size
Definition: xmp_data_struct.h:256
int shadow_comm_rank
Definition: xmp_data_struct.h:257
int * temp0
Definition: xmp_data_struct.h:239
int alloc_size
Definition: xmp_data_struct.h:212
int align_manner
Definition: xmp_data_struct.h:197
int local_upper
Definition: xmp_data_struct.h:210
int temp0_v
Definition: xmp_data_struct.h:240
int ser_lower
Definition: xmp_data_struct.h:199
int ser_size
Definition: xmp_data_struct.h:201
long long align_subscript
Definition: xmp_data_struct.h:246
_XMP_reflect_sched_t * reflect_sched
Definition: xmp_data_struct.h:252
int local_stride
Definition: xmp_data_struct.h:211
int align_template_index
Definition: xmp_data_struct.h:260
int par_stride
Definition: xmp_data_struct.h:206
int par_size
Definition: xmp_data_struct.h:207
unsigned long long dim_acc
Definition: xmp_data_struct.h:242
int ser_upper
Definition: xmp_data_struct.h:200
int shadow_size_lo
Definition: xmp_data_struct.h:249
unsigned long long * acc
Definition: xmp_data_struct.h:262
unsigned long long dim_elmts
Definition: xmp_data_struct.h:243
_Bool is_shadow_comm_member
Definition: xmp_data_struct.h:195
int shadow_size_hi
Definition: xmp_data_struct.h:250
_XMP_comm_t * shadow_comm
Definition: xmp_data_struct.h:255
int local_lower
Definition: xmp_data_struct.h:209
int shadow_type
Definition: xmp_data_struct.h:248
Definition: xmp_data_struct.h:375
long distance
Definition: xmp_data_struct.h:380
long stride
Definition: xmp_data_struct.h:378
long elmts
Definition: xmp_data_struct.h:379
long start
Definition: xmp_data_struct.h:376
long length
Definition: xmp_data_struct.h:377
Definition: xmp_data_struct.h:266
int align_comm_size
Definition: xmp_data_struct.h:301
int align_comm_rank
Definition: xmp_data_struct.h:302
int order
Definition: xmp_data_struct.h:276
MPI_Datatype mpi_type
Definition: xmp_data_struct.h:275
_XMP_template_t * align_template
Definition: xmp_data_struct.h:312
_Bool is_shrunk_template
Definition: xmp_data_struct.h:305
_XMP_array_info_t info[1]
Definition: xmp_data_struct.h:313
_Bool is_align_comm_member
Definition: xmp_data_struct.h:271
_XMP_comm_t * align_comm
Definition: xmp_data_struct.h:300
int type
Definition: xmp_data_struct.h:273
_Bool is_allocated
Definition: xmp_data_struct.h:270
size_t type_size
Definition: xmp_data_struct.h:274
_XMP_nodes_t * array_nodes
Definition: xmp_data_struct.h:306
unsigned long long total_elmts
Definition: xmp_data_struct.h:293
void * array_addr_p
Definition: xmp_data_struct.h:279
int desc_kind
Definition: xmp_data_struct.h:268
int dim
Definition: xmp_data_struct.h:272
_XMP_async_reflect_t * async_reflect
Definition: xmp_data_struct.h:296
Definition: xmp_data_struct.h:458
int nreqs
Definition: xmp_data_struct.h:460
_XMP_async_gmove_t * gmove
Definition: xmp_data_struct.h:466
int async_id
Definition: xmp_data_struct.h:459
_Bool is_used
Definition: xmp_data_struct.h:462
_XMP_nodes_t ** node
Definition: xmp_data_struct.h:465
struct _XMP_async_comm * next
Definition: xmp_data_struct.h:468
int type
Definition: xmp_data_struct.h:463
int nnodes
Definition: xmp_data_struct.h:461
MPI_Request * reqs
Definition: xmp_data_struct.h:464
_XMP_array_t * a
Definition: xmp_data_struct.h:467
Definition: xmp_data_struct.h:449
int recvbuf_size
Definition: xmp_data_struct.h:453
int mode
Definition: xmp_data_struct.h:450
_XMP_array_t * a
Definition: xmp_data_struct.h:454
void * sendbuf
Definition: xmp_data_struct.h:451
void * recvbuf
Definition: xmp_data_struct.h:452
Definition: xmp_data_struct.h:181
int lwidth[_XMP_N_MAX_DIM]
Definition: xmp_data_struct.h:183
_Bool is_periodic[_XMP_N_MAX_DIM]
Definition: xmp_data_struct.h:184
MPI_Request * reqs
Definition: xmp_data_struct.h:187
MPI_Datatype * datatype
Definition: xmp_data_struct.h:186
int uwidth[_XMP_N_MAX_DIM]
Definition: xmp_data_struct.h:183
int nreqs
Definition: xmp_data_struct.h:189
MPI_Request * reqs_reduce
Definition: xmp_data_struct.h:188
Definition: xmp_data_struct.h:419
int u
Definition: xmp_data_struct.h:421
int l
Definition: xmp_data_struct.h:420
int b
Definition: xmp_data_struct.h:422
int c
Definition: xmp_data_struct.h:423
Definition: xmp_data_struct.h:439
int l
Definition: xmp_data_struct.h:440
int u
Definition: xmp_data_struct.h:441
struct _XMP_comm_set_type * next
Definition: xmp_data_struct.h:442
Definition: xmp_data_struct.h:430
int * l
Definition: xmp_data_struct.h:431
int * u
Definition: xmp_data_struct.h:432
int n
Definition: xmp_data_struct.h:433
int s
Definition: xmp_data_struct.h:434
Definition: xmp_data_struct.h:387
int ndims
Definition: xmp_data_struct.h:389
int * ub
Definition: xmp_data_struct.h:399
_XMP_array_t * a_desc
Definition: xmp_data_struct.h:391
int * lb
Definition: xmp_data_struct.h:398
int * a_lb
Definition: xmp_data_struct.h:394
void * local_data
Definition: xmp_data_struct.h:393
_Bool is_global
Definition: xmp_data_struct.h:388
int * a_ub
Definition: xmp_data_struct.h:395
int * st
Definition: xmp_data_struct.h:400
int * kind
Definition: xmp_data_struct.h:397
Definition: xmp_data_struct.h:475
int gtol
Definition: xmp_data_struct.h:476
unsigned long long acc
Definition: xmp_data_struct.h:477
Definition: xmp_data_struct.h:480
void * host_addr
Definition: xmp_data_struct.h:482
void * device_addr
Definition: xmp_data_struct.h:483
_Bool is_aligned_array
Definition: xmp_data_struct.h:481
size_t size
Definition: xmp_data_struct.h:486
_XMP_gpu_array_t * device_array_desc
Definition: xmp_data_struct.h:485
_XMP_array_t * host_array_desc
Definition: xmp_data_struct.h:484
Definition: xmp_data_struct.h:31
int size
Definition: xmp_data_struct.h:32
int multiplier
Definition: xmp_data_struct.h:37
int rank
Definition: xmp_data_struct.h:35
Definition: xmp_data_struct.h:20
int shrink
Definition: xmp_data_struct.h:21
int lower
Definition: xmp_data_struct.h:23
int stride
Definition: xmp_data_struct.h:25
int upper
Definition: xmp_data_struct.h:24
int size
Definition: xmp_data_struct.h:28
Definition: xmp_data_struct.h:63
_XMP_nodes_t * nodes
Definition: xmp_data_struct.h:64
int shrink_nodes_size
Definition: xmp_data_struct.h:66
int * ref
Definition: xmp_data_struct.h:65
Definition: xmp_data_struct.h:40
int use_subcomm
Definition: xmp_data_struct.h:55
_XMP_comm_t * subcomm
Definition: xmp_data_struct.h:54
int comm_rank
Definition: xmp_data_struct.h:52
int is_member
Definition: xmp_data_struct.h:46
_XMP_comm_t * comm
Definition: xmp_data_struct.h:53
int dim
Definition: xmp_data_struct.h:47
struct _XMP_nodes_type * inherit_nodes
Definition: xmp_data_struct.h:57
int desc_kind
Definition: xmp_data_struct.h:42
_XMP_nodes_info_t info[1]
Definition: xmp_data_struct.h:60
int comm_size
Definition: xmp_data_struct.h:48
int attr
Definition: xmp_data_struct.h:49
_XMP_nodes_inherit_info_t * inherit_info
Definition: xmp_data_struct.h:59
unsigned long long on_ref_id
Definition: xmp_data_struct.h:44
Definition: xmp_data_struct.h:119
MPI_Request req_reduce[4]
Definition: xmp_data_struct.h:132
void * lo_recv_array
Definition: xmp_data_struct.h:137
int lo_width
Definition: xmp_data_struct.h:125
void * lo_send_array
Definition: xmp_data_struct.h:137
void * hi_recv_array
Definition: xmp_data_struct.h:138
int hi_width
Definition: xmp_data_struct.h:125
void * lo_send_buf
Definition: xmp_data_struct.h:134
void * hi_send_array
Definition: xmp_data_struct.h:138
long long stride
Definition: xmp_data_struct.h:141
MPI_Datatype datatype_hi
Definition: xmp_data_struct.h:129
int prev_pcopy_sched_type
Definition: xmp_data_struct.h:123
void * hi_send_buf
Definition: xmp_data_struct.h:135
MPI_Datatype datatype_lo
Definition: xmp_data_struct.h:128
int is_periodic
Definition: xmp_data_struct.h:126
int blocklength
Definition: xmp_data_struct.h:140
int hi_rank
Definition: xmp_data_struct.h:143
int reduce_is_initialized
Definition: xmp_data_struct.h:122
int lo_rank
Definition: xmp_data_struct.h:143
int count
Definition: xmp_data_struct.h:140
void * hi_recv_buf
Definition: xmp_data_struct.h:135
int reflect_is_initialized
Definition: xmp_data_struct.h:121
MPI_Request req[4]
Definition: xmp_data_struct.h:131
void * lo_recv_buf
Definition: xmp_data_struct.h:134
Definition: xmp_data_struct.h:409
int l
Definition: xmp_data_struct.h:410
int u
Definition: xmp_data_struct.h:411
int s
Definition: xmp_data_struct.h:412
Definition: xmp_data_struct.h:316
int ref_lower[_XMP_N_MAX_DIM]
Definition: xmp_data_struct.h:322
unsigned long long on_ref_id
Definition: xmp_data_struct.h:320
int execute
Definition: xmp_data_struct.h:318
_XMP_nodes_t * nodes
Definition: xmp_data_struct.h:317
int ref_upper[_XMP_N_MAX_DIM]
Definition: xmp_data_struct.h:323
int ref_stride[_XMP_N_MAX_DIM]
Definition: xmp_data_struct.h:324
Definition: xmp_data_struct.h:78
long long par_lower
Definition: xmp_data_struct.h:80
int dist_manner
Definition: xmp_data_struct.h:87
_XMP_nodes_info_t * onto_nodes_info
Definition: xmp_data_struct.h:94
int onto_nodes_index
Definition: xmp_data_struct.h:92
long long * mapping_array
Definition: xmp_data_struct.h:88
_Bool is_regular_chunk
Definition: xmp_data_struct.h:89
long long par_upper
Definition: xmp_data_struct.h:81
int par_stride
Definition: xmp_data_struct.h:85
unsigned long long par_chunk_width
Definition: xmp_data_struct.h:86
unsigned long long par_width
Definition: xmp_data_struct.h:82
Definition: xmp_data_struct.h:70
long long ser_lower
Definition: xmp_data_struct.h:72
long long ser_upper
Definition: xmp_data_struct.h:73
unsigned long long ser_size
Definition: xmp_data_struct.h:74
Definition: xmp_data_struct.h:98
unsigned long long on_ref_id
Definition: xmp_data_struct.h:102
_XMP_nodes_t * onto_nodes
Definition: xmp_data_struct.h:111
int desc_kind
Definition: xmp_data_struct.h:100
_XMP_template_info_t info[1]
Definition: xmp_data_struct.h:115
_Bool is_fixed
Definition: xmp_data_struct.h:104
int dim
Definition: xmp_data_struct.h:108
_Bool is_owner
Definition: xmp_data_struct.h:106
_Bool is_distributed
Definition: xmp_data_struct.h:105
_XMP_template_chunk_t * chunk
Definition: xmp_data_struct.h:112
Definition: xmp_data_struct.h:328
char ** addr
Definition: xmp_data_struct.h:329
long * distance_of_coarray_elmts
Definition: xmp_data_struct.h:349
size_t elmt_size
Definition: xmp_data_struct.h:339
char * real_addr
Definition: xmp_data_struct.h:336
long * coarray_elmts
Definition: xmp_data_struct.h:345
int image_dims
Definition: xmp_data_struct.h:354
int coarray_dims
Definition: xmp_data_struct.h:342
int * distance_of_image_elmts
Definition: xmp_data_struct.h:357
#define _XMP_N_MAX_DIM
Definition: xmp_constant.h:6
struct _XMP_nodes_type _XMP_nodes_t
struct _XMP_async_gmove _XMP_async_gmove_t
struct _XMP_template_chunk_type _XMP_template_chunk_t
struct _XMP_nodes_info_type _XMP_nodes_info_t
struct _XMP_gpu_array_type _XMP_gpu_array_t
struct _XMP_array_info_type _XMP_array_info_t
struct _XMP_rsd_type _XMP_rsd_t
struct _XMP_gpu_data_type _XMP_gpu_data_t
struct _XMP_nodes_inherit_info_type _XMP_nodes_inherit_info_t
struct _XMP_template_type _XMP_template_t
struct _XMP_async_reflect_type _XMP_async_reflect_t
struct xmp_coarray _XMP_coarray_t
struct _XMP_csd_type _XMP_csd_t
struct _XMP_array_section _XMP_array_section_t
struct _XMP_async_comm _XMP_async_comm_t
struct _XMP_comm_set_type _XMP_comm_set_t
struct _XMP_gmv_desc_type _XMP_gmv_desc_t
#define _XMP_comm_t
Definition: xmp_data_struct.h:17
struct _XMP_bsd_type _XMP_bsd_t
struct _XMP_task_desc_type _XMP_task_desc_t
struct _XMP_template_info_type _XMP_template_info_t
struct _XMP_reflect_sched_type _XMP_reflect_sched_t
struct _XMP_nodes_ref_type _XMP_nodes_ref_t
struct _XMP_array_type _XMP_array_t