36 int array_dim = array_desc->
dim;
37 size_t array_type_size = array_desc->
type_size;
39 int lower[array_dim], upper[array_dim], stride[array_dim];
42 if (rank != (size - 1)) {
54 for (
int i = 0; i < array_dim; i++) {
55 if (i == array_index) {
69 array_type_size, alloc_size, array_dim,
70 lower, upper, stride);
87 for (
int i = 0; i < array_dim; i++) {
88 if (i == array_index) {
102 array_type_size, alloc_size, array_dim,
103 lower, upper, stride);
Definition: xmp_data_struct.h:194
int shadow_comm_size
Definition: xmp_data_struct.h:256
int shadow_comm_rank
Definition: xmp_data_struct.h:257
int align_manner
Definition: xmp_data_struct.h:197
int local_upper
Definition: xmp_data_struct.h:210
int local_stride
Definition: xmp_data_struct.h:211
int par_size
Definition: xmp_data_struct.h:207
int shadow_size_lo
Definition: xmp_data_struct.h:249
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
int local_lower
Definition: xmp_data_struct.h:209
Definition: xmp_data_struct.h:266
_XMP_array_info_t info[1]
Definition: xmp_data_struct.h:313
_Bool is_allocated
Definition: xmp_data_struct.h:270
size_t type_size
Definition: xmp_data_struct.h:274
int dim
Definition: xmp_data_struct.h:272
void * device_addr
Definition: xmp_data_struct.h:483
_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
#define _XMP_N_ALIGN_BLOCK
Definition: xmp_constant.h:37
void * _XMP_alloc(size_t size)
Definition: xmp_util.c:21
void _XMP_fatal(char *msg)
Definition: xmp_util.c:42
void _XMP_gpu_pack_array(_XMP_gpu_array_t *device_desc, void *host_shadow_buffer, void *gpu_array_addr, size_t type_size, size_t alloc_size, int array_dim, int *lower, int *upper, int *stride)
#define _XMP_RETURN_IF_SINGLE
Definition: xmp_internal.h:37
#define _XMP_ASSERT(_flag)
Definition: xmp_internal.h:34