libxmp/libxmpf in Omni Compiler
1.3.4
|
#include <stdarg.h>
#include "mpi.h"
#include "xmp_internal.h"
#include "xmp_math_function.h"
|
void | xmp_dbg_printf (char *fmt,...) |
|
void | _XMP_calc_array_dim_elmts (_XMP_array_t *array, int array_index) |
|
void | _XMP_setup_reduce_type (MPI_Datatype *mpi_datatype, size_t *datatype_size, int datatype) |
|
void | _XMP_init_array_desc (_XMP_array_t **array, _XMP_template_t *template, int dim, int type, size_t type_size,...) |
|
void | _XMP_init_array_desc_NOT_ALIGNED (_XMP_array_t **adesc, _XMP_template_t *template, int ndims, int type, size_t type_size, unsigned long long *dim_acc, void *ap) |
|
void | _XMP_finalize_array_desc (_XMP_array_t *array) |
|
void | _XMP_align_array_NOT_ALIGNED (_XMP_array_t *array, int array_index) |
|
void | _XMP_align_array_DUPLICATION (_XMP_array_t *array, int array_index, int template_index, long long align_subscript) |
|
void | _XMP_align_array_BLOCK (_XMP_array_t *array, int array_index, int template_index, long long align_subscript, int *temp0) |
|
void | _XMP_align_array_CYCLIC (_XMP_array_t *array, int array_index, int template_index, long long align_subscript, int *temp0) |
|
void | _XMP_align_array_BLOCK_CYCLIC (_XMP_array_t *array, int array_index, int template_index, long long align_subscript, int *temp0) |
|
void | _XMP_align_array_GBLOCK (_XMP_array_t *array, int array_index, int template_index, long long align_subscript, int *temp0) |
|
void | _XMP_alloc_array (void **array_addr, _XMP_array_t *array_desc, int is_coarray,...) |
|
void | _XMP_alloc_array2 (void **array_addr, _XMP_array_t *array_desc, int is_coarray, unsigned long long *acc[]) |
|
void | _XMP_alloc_array_EXTERN (void **array_addr, _XMP_array_t *array_desc,...) |
|
void | _XMP_dealloc_array (_XMP_array_t *array_desc) |
|
void | _XMP_init_array_addr (void **array_addr, void *init_addr, _XMP_array_t *array_desc,...) |
|
void | _XMP_init_array_comm (_XMP_array_t *array,...) |
|
void | _XMP_init_array_comm2 (_XMP_array_t *array, int args[]) |
|
void | _XMP_init_array_nodes (_XMP_array_t *array) |
|
unsigned long long | _XMP_get_array_total_elmts (_XMP_array_t *array) |
|
void | _XMP_align_array_noalloc (_XMP_array_t *a, int adim, int tdim, long long align_subscript, int *temp0, unsigned long long *acc0) |
|
int | _XMP_lidx_GBLOCK (_XMP_array_t *a, int i_dim, int global_idx) |
|
◆ MPI_PORTABLE_PLATFORM_H
#define MPI_PORTABLE_PLATFORM_H |
◆ _XMP_align_array_BLOCK()
void _XMP_align_array_BLOCK |
( |
_XMP_array_t * |
array, |
|
|
int |
array_index, |
|
|
int |
template_index, |
|
|
long long |
align_subscript, |
|
|
int * |
temp0 |
|
) |
| |
335 long long align_lower = ai->
ser_lower + align_subscript;
336 long long align_upper = ai->
ser_upper + align_subscript;
337 if(align_lower < ti->ser_lower || align_upper > ti->
ser_upper)
338 _XMP_fatal(
"aligned array is out of template bound");
344 if(template->is_owner){
345 long long template_lower = chunk->
par_lower;
346 long long template_upper = chunk->
par_upper;
349 if(align_lower < template_lower){
350 ai->
par_lower = template_lower - align_subscript;
352 else if(template_upper < align_lower){
354 goto EXIT_CALC_PARALLEL_MEMBERS;
361 if(align_upper < template_lower){
363 goto EXIT_CALC_PARALLEL_MEMBERS;
365 else if(template_upper < align_upper){
366 ai->
par_upper = template_upper - align_subscript;
383 EXIT_CALC_PARALLEL_MEMBERS:
◆ _XMP_align_array_BLOCK_CYCLIC()
void _XMP_align_array_BLOCK_CYCLIC |
( |
_XMP_array_t * |
array, |
|
|
int |
array_index, |
|
|
int |
template_index, |
|
|
long long |
align_subscript, |
|
|
int * |
temp0 |
|
) |
| |
454 long long align_lower = ai->
ser_lower + align_subscript;
455 long long align_upper = ai->
ser_upper + align_subscript;
456 if (((align_lower < ti->ser_lower) || (align_upper > ti->
ser_upper))) {
457 _XMP_fatal(
"aligned array is out of template bound");
464 if (template->is_owner) {
510 int rank_lb = rank_dist % nsize;
◆ _XMP_align_array_CYCLIC()
void _XMP_align_array_CYCLIC |
( |
_XMP_array_t * |
array, |
|
|
int |
array_index, |
|
|
int |
template_index, |
|
|
long long |
align_subscript, |
|
|
int * |
temp0 |
|
) |
| |
400 long long align_lower = ai->
ser_lower + align_subscript;
401 long long align_upper = ai->
ser_upper + align_subscript;
402 if (((align_lower < ti->ser_lower) || (align_upper > ti->
ser_upper))) {
403 _XMP_fatal(
"aligned array is out of template bound");
410 if (template->is_owner) {
◆ _XMP_align_array_DUPLICATION()
void _XMP_align_array_DUPLICATION |
( |
_XMP_array_t * |
array, |
|
|
int |
array_index, |
|
|
int |
template_index, |
|
|
long long |
align_subscript |
|
) |
| |
296 long long align_lower = lower + align_subscript;
297 long long align_upper = upper + align_subscript;
298 if (((align_lower < ti->ser_lower) || (align_upper > ti->
ser_upper))) {
299 _XMP_fatal(
"aligned array is out of template bound");
306 if (template->is_owner) {
◆ _XMP_align_array_GBLOCK()
void _XMP_align_array_GBLOCK |
( |
_XMP_array_t * |
array, |
|
|
int |
array_index, |
|
|
int |
template_index, |
|
|
long long |
align_subscript, |
|
|
int * |
temp0 |
|
) |
| |
567 long long align_lower = ai->
ser_lower + align_subscript;
568 long long align_upper = ai->
ser_upper + align_subscript;
569 if (((align_lower < ti->ser_lower) || (align_upper > ti->
ser_upper))) {
570 _XMP_fatal(
"aligned array is out of template bound");
577 if (template->is_owner) {
578 long long template_lower = chunk->
par_lower;
579 long long template_upper = chunk->
par_upper;
582 if (align_lower < template_lower) {
583 ai->
par_lower = template_lower - align_subscript;
585 else if (template_upper < align_lower) {
587 goto EXIT_CALC_PARALLEL_MEMBERS;
594 if (align_upper < template_lower) {
596 goto EXIT_CALC_PARALLEL_MEMBERS;
598 else if (template_upper < align_upper) {
599 ai->
par_upper = template_upper - align_subscript;
619 EXIT_CALC_PARALLEL_MEMBERS:
◆ _XMP_align_array_noalloc()
void _XMP_align_array_noalloc |
( |
_XMP_array_t * |
a, |
|
|
int |
adim, |
|
|
int |
tdim, |
|
|
long long |
align_subscript, |
|
|
int * |
temp0, |
|
|
unsigned long long * |
acc0 |
|
) |
| |
◆ _XMP_align_array_NOT_ALIGNED()
void _XMP_align_array_NOT_ALIGNED |
( |
_XMP_array_t * |
array, |
|
|
int |
array_index |
|
) |
| |
◆ _XMP_alloc_array()
void _XMP_alloc_array |
( |
void ** |
array_addr, |
|
|
_XMP_array_t * |
array_desc, |
|
|
int |
is_coarray, |
|
|
|
... |
|
) |
| |
633 unsigned long long total_elmts = 1;
634 int dim = array_desc->
dim;
637 va_start(args, is_coarray);
638 for(
int i=dim-1;i>=0;i--){
639 unsigned long long *acc = va_arg(args,
unsigned long long *);
647 for(
int i=0;i<dim;i++)
658 #ifdef _XMP_MPI3_ONESIDED
663 for (
int i = 0; i < dim; i++){
672 int ndims_node = ndesc->
dim;
673 int nsize[ndims_node-1];
674 for (
int i = 0; i < ndims_node-1; i++){
681 array_desc->coarray = c;
◆ _XMP_alloc_array2()
void _XMP_alloc_array2 |
( |
void ** |
array_addr, |
|
|
_XMP_array_t * |
array_desc, |
|
|
int |
is_coarray, |
|
|
unsigned long long * |
acc[] |
|
) |
| |
697 unsigned long long total_elmts = 1;
698 int dim = array_desc->
dim;
700 for (
int i = dim - 1; i >= 0; i--) {
701 *acc[i] = total_elmts;
708 for (
int i = 0; i < dim; i++) {
720 #ifdef _XMP_MPI3_ONESIDED
725 for (
int i = 0; i < dim; i++){
734 int ndims_node = ndesc->
dim;
735 int nsize[ndims_node-1];
736 for (
int i = 0; i < ndims_node-1; i++){
743 array_desc->coarray = c;
◆ _XMP_alloc_array_EXTERN()
void _XMP_alloc_array_EXTERN |
( |
void ** |
array_addr, |
|
|
_XMP_array_t * |
array_desc, |
|
|
|
... |
|
) |
| |
757 unsigned long long total_elmts = 1;
758 int dim = array_desc->
dim;
760 va_start(args, array_desc);
761 for (
int i = dim - 1; i >= 0; i--) {
762 unsigned long long *acc = va_arg(args,
unsigned long long *);
771 for (
int i = 0; i < dim; i++) {
◆ _XMP_calc_array_dim_elmts()
void _XMP_calc_array_dim_elmts |
( |
_XMP_array_t * |
array, |
|
|
int |
array_index |
|
) |
| |
22 unsigned long long dim_elmts = 1;
23 for (
int i = 0; i < dim; i++) {
24 if (i != array_index) {
◆ _XMP_dealloc_array()
◆ _XMP_finalize_array_desc()
191 int dim = array->
dim;
193 for(
int i=0;i<dim;i++){
218 for(
int i=0;i<async_reflect->
nreqs;i++){
219 if (async_reflect->
datatype[i] != MPI_DATATYPE_NULL)
220 MPI_Type_free(&async_reflect->
datatype[i]);
221 if (async_reflect->
reqs[i] != MPI_REQUEST_NULL)
222 MPI_Request_free(&async_reflect->
reqs[i]);
243 #ifdef _XMP_MPI3_ONESIDED
◆ _XMP_get_array_total_elmts()
unsigned long long _XMP_get_array_total_elmts |
( |
_XMP_array_t * |
array | ) |
|
◆ _XMP_init_array_addr()
void _XMP_init_array_addr |
( |
void ** |
array_addr, |
|
|
void * |
init_addr, |
|
|
_XMP_array_t * |
array_desc, |
|
|
|
... |
|
) |
| |
791 unsigned long long total_elmts = 1;
792 int dim = array_desc->
dim;
794 va_start(args, array_desc);
795 for (
int i = dim - 1; i >= 0; i--) {
796 unsigned long long *acc = va_arg(args,
unsigned long long *);
805 for (
int i = 0; i < dim; i++) {
811 for (
int i = 0; i < dim; i++) {
827 *array_addr = init_addr;
◆ _XMP_init_array_comm()
842 int acc_nodes_size = 1;
843 int template_dim = align_template->
dim;
846 va_start(args, array);
847 for(
int i=0;i<template_dim;i++){
857 size = onto_nodes_info->
size;
858 rank = onto_nodes_info->
rank;
861 if(va_arg(args,
int) == 1)
862 color += (acc_nodes_size * rank);
864 acc_nodes_size *= size;
872 MPI_Comm *comm =
_XMP_alloc(
sizeof(MPI_Comm));
◆ _XMP_init_array_comm2()
void _XMP_init_array_comm2 |
( |
_XMP_array_t * |
array, |
|
|
int |
args[] |
|
) |
| |
890 int acc_nodes_size = 1;
891 int template_dim = align_template->
dim;
893 for (
int i = 0; i < template_dim; i++) {
902 size = onto_nodes_info->
size;
903 rank = onto_nodes_info->
rank;
907 color += (acc_nodes_size * rank);
910 acc_nodes_size *= size;
916 MPI_Comm *comm =
_XMP_alloc(
sizeof(MPI_Comm));
◆ _XMP_init_array_desc()
54 a->
order = MPI_ORDER_C;
62 #ifdef _XMP_MPI3_ONESIDED
72 va_start(args, type_size);
73 for (
int i=0;i<dim;i++){
74 int size = va_arg(args,
int);
◆ _XMP_init_array_desc_NOT_ALIGNED()
void _XMP_init_array_desc_NOT_ALIGNED |
( |
_XMP_array_t ** |
adesc, |
|
|
_XMP_template_t * |
template, |
|
|
int |
ndims, |
|
|
int |
type, |
|
|
size_t |
type_size, |
|
|
unsigned long long * |
dim_acc, |
|
|
void * |
ap |
|
) |
| |
127 a->
order = MPI_ORDER_C;
138 #ifdef _XMP_MPI3_ONESIDED
146 for (
int i = 0; i < ndims; i++) {
◆ _XMP_init_array_nodes()
931 int template_dim = align_template->
dim;
932 int align_template_shrink[template_dim];
933 int align_template_num = 0;
934 long long align_template_lower[template_dim], align_template_upper[template_dim],
935 align_template_stride[template_dim];
937 for(
int i=0;i<template_dim;i++)
938 align_template_shrink[i] = 1;
940 int array_dim = array->
dim;
941 for(
int i=0;i<array_dim;i++){
945 align_template_shrink[align_template_index] = 0;
946 align_template_num++;
949 align_template_stride[align_template_index] = 1;
953 if(template_dim == align_template_num){
956 else if (template_dim > align_template_num){
963 align_template_upper, align_template_stride);
◆ _XMP_lidx_GBLOCK()
int _XMP_lidx_GBLOCK |
( |
_XMP_array_t * |
a, |
|
|
int |
i_dim, |
|
|
int |
global_idx |
|
) |
| |
1012 l_idx = global_idx + off - mapping_array[rank];
1013 l_base = ai->
par_lower + off -mapping_array[rank];
1015 l_idx = l_idx - l_base + lshadow;
◆ _XMP_setup_reduce_type()
void _XMP_setup_reduce_type |
( |
MPI_Datatype * |
mpi_datatype, |
|
|
size_t * |
datatype_size, |
|
|
int |
datatype |
|
) |
| |
17 { *mpi_datatype = MPI_LOGICAL; *datatype_size =
sizeof(_Bool);
break; }
19 { *mpi_datatype = MPI_SIGNED_CHAR; *datatype_size =
sizeof(char);
break; }
21 { *mpi_datatype = MPI_UNSIGNED_CHAR; *datatype_size =
sizeof(
unsigned char);
break; }
23 { *mpi_datatype = MPI_SHORT; *datatype_size =
sizeof(short);
break; }
25 { *mpi_datatype = MPI_UNSIGNED_SHORT; *datatype_size =
sizeof(
unsigned short);
break; }
27 { *mpi_datatype = MPI_INT; *datatype_size =
sizeof(int);
break; }
29 { *mpi_datatype = MPI_UNSIGNED; *datatype_size =
sizeof(
unsigned int);
break; }
31 { *mpi_datatype = MPI_LONG; *datatype_size =
sizeof(long);
break; }
33 { *mpi_datatype = MPI_UNSIGNED_LONG; *datatype_size =
sizeof(
unsigned long);
break; }
35 { *mpi_datatype = MPI_LONG_LONG; *datatype_size =
sizeof(
long long);
break; }
37 { *mpi_datatype = MPI_UNSIGNED_LONG_LONG; *datatype_size =
sizeof(
unsigned long long);
break; }
39 { *mpi_datatype = MPI_FLOAT; *datatype_size =
sizeof(float);
break; }
41 { *mpi_datatype = MPI_DOUBLE; *datatype_size =
sizeof(double);
break; }
43 { *mpi_datatype = MPI_LONG_DOUBLE; *datatype_size =
sizeof(
long double);
break; }
44 #ifdef __STD_IEC_559_COMPLEX__
45 case _XMP_N_TYPE_FLOAT_IMAGINARY:
46 { *mpi_datatype = MPI_FLOAT; *datatype_size =
sizeof(
float _Imaginary);
break; }
47 case _XMP_N_TYPE_DOUBLE_IMAGINARY:
48 { *mpi_datatype = MPI_DOUBLE; *datatype_size =
sizeof(
double _Imaginary);
break; }
49 case _XMP_N_TYPE_LONG_DOUBLE_IMAGINARY:
50 { *mpi_datatype = MPI_LONG_DOUBLE; *datatype_size =
sizeof(
long double _Imaginary);
break; }
53 #if ((MPI_VERSION >= 3) || (MPI_VERSION == 2 && MPI_SUBVERSION >= 2))
55 { *mpi_datatype = MPI_C_FLOAT_COMPLEX; *datatype_size =
sizeof(
float _Complex);
break; }
57 { *mpi_datatype = MPI_C_DOUBLE_COMPLEX; *datatype_size =
sizeof(
double _Complex);
break; }
59 { *mpi_datatype = MPI_C_LONG_DOUBLE_COMPLEX; *datatype_size =
sizeof(
long double _Complex);
break; }
◆ xmp_dbg_printf()
void xmp_dbg_printf |
( |
char * |
fmt, |
|
|
|
... |
|
) |
| |
43 vsprintf(buf,fmt,args);
int _XMPC_running
Definition: xmp_runtime.c:15
long long align_subscript
Definition: xmp_data_struct.h:246
_XMP_nodes_t * array_nodes
Definition: xmp_data_struct.h:306
long long par_upper
Definition: xmp_data_struct.h:81
void _XMP_coarray_detach(void **)
int size
Definition: xmp_data_struct.h:32
_XMP_nodes_info_t info[1]
Definition: xmp_data_struct.h:60
Definition: xmp_data_struct.h:31
_XMP_nodes_t * _XMP_create_temporary_nodes(_XMP_nodes_t *n)
Definition: xmp_nodes.c:257
#define _XMP_N_TYPE_BOOL
Definition: xmp_constant.h:80
#define _XMP_N_TYPE_INT
Definition: xmp_constant.h:85
int align_template_index
Definition: xmp_data_struct.h:260
void _XMP_alloc_tca(_XMP_array_t *adesc)
Definition: xmp_tca_runtime.c:11
long long ser_lower
Definition: xmp_data_struct.h:72
_XMP_nodes_t * _XMP_create_nodes_by_template_ref(_XMP_template_t *ref_template, int *shrink, long long *ref_lower, long long *ref_upper, long long *ref_stride)
Definition: xmp_template.c:459
int shadow_comm_rank
Definition: xmp_data_struct.h:257
int is_member
Definition: xmp_data_struct.h:46
void * _XMP_alloc(size_t size)
Definition: xmp_util.c:21
void _XMP_finalize_nodes(void *nodes)
Definition: xmp_data_struct.h:194
_XMP_reflect_sched_t * reflect_acc_sched
Definition: xmp_data_struct.h:253
_XMP_template_chunk_t * chunk
Definition: xmp_data_struct.h:112
int align_comm_size
Definition: xmp_data_struct.h:301
MPI_Request * reqs
Definition: xmp_data_struct.h:187
#define _XMP_N_TYPE_DOUBLE
Definition: xmp_constant.h:92
MPI_Datatype * datatype
Definition: xmp_data_struct.h:186
int ser_upper
Definition: xmp_data_struct.h:200
int desc_kind
Definition: xmp_data_struct.h:268
void _XMP_coarray_malloc_image_info_n(const int *i, const int ndims)
Definition: xmp_coarray.c:275
_Bool is_regular_chunk
Definition: xmp_data_struct.h:89
void _XMP_finalize_reflect_sched_acc(_XMP_reflect_sched_t *sched, _Bool free_buf)
Definition: xmp_reflect_acc.c:83
void _XMP_setup_reduce_type(MPI_Datatype *mpi_datatype, size_t *datatype_size, int datatype)
Definition: xmp_reduce.c:13
long long par_lower
Definition: xmp_data_struct.h:80
#define _XMP_N_TYPE_DOUBLE_COMPLEX
Definition: xmp_constant.h:102
#define MAX(a, b)
Definition: xmp_internal.h:16
int shadow_comm_size
Definition: xmp_data_struct.h:256
void * _XMP_world_nodes
Definition: xmp_world.c:10
int shadow_type
Definition: xmp_data_struct.h:248
int ser_size
Definition: xmp_data_struct.h:201
#define _XMP_N_TYPE_LONG_DOUBLE
Definition: xmp_constant.h:93
Definition: xmp_data_struct.h:119
void _XMP_coarray_attach(void **, void *, const size_t)
void _XMP_init_reflect_sched_acc(_XMP_reflect_sched_t *sched)
Definition: xmp_reflect_acc.c:74
_XMP_nodes_info_t * onto_nodes_info
Definition: xmp_data_struct.h:94
Definition: xmp_data_struct.h:70
#define _XMP_N_TYPE_NONBASIC
Definition: xmp_constant.h:104
int dim
Definition: xmp_data_struct.h:108
void _XMP_finalize_comm(void *comm)
_Bool is_regular_chunk
Definition: xmp_data_struct.h:196
int nreqs
Definition: xmp_data_struct.h:189
unsigned long long dim_elmts
Definition: xmp_data_struct.h:243
void _XMP_calc_array_dim_elmts(_XMP_array_t *array, int array_index)
Definition: xmp_align.c:17
int _XMP_world_rank
Definition: xmp_world.c:9
int par_upper
Definition: xmp_data_struct.h:205
_Bool is_shrunk_template
Definition: xmp_data_struct.h:305
#define _XMP_N_TYPE_UNSIGNED_LONGLONG
Definition: xmp_constant.h:90
int local_stride
Definition: xmp_data_struct.h:211
void _XMP_finalize_reflect_sched(_XMP_reflect_sched_t *sched, _Bool free_buf)
Definition: xmp_shadow.c:236
int temp0_v
Definition: xmp_data_struct.h:240
MPI_Datatype mpi_type
Definition: xmp_data_struct.h:275
_XMP_nodes_t * onto_nodes
Definition: xmp_data_struct.h:111
_XMP_comm_t * align_comm
Definition: xmp_data_struct.h:300
int shadow_size_lo
Definition: xmp_data_struct.h:249
_XMP_template_t * align_template
Definition: xmp_data_struct.h:312
#define _XMP_N_TYPE_LONG
Definition: xmp_constant.h:87
#define _XMP_N_TYPE_SHORT
Definition: xmp_constant.h:83
#define _XMP_N_TYPE_FLOAT_COMPLEX
Definition: xmp_constant.h:101
#define _XMP_N_TYPE_FLOAT
Definition: xmp_constant.h:91
#define _XMP_N_TYPE_UNSIGNED_INT
Definition: xmp_constant.h:86
#define _XMP_DESC_ARRAY
Definition: xmp_constant.h:133
int align_manner
Definition: xmp_data_struct.h:197
Definition: xmp_data_struct.h:98
#define _XMP_N_TYPE_UNSIGNED_LONG
Definition: xmp_constant.h:88
unsigned long long total_elmts
Definition: xmp_data_struct.h:293
int align_comm_rank
Definition: xmp_data_struct.h:302
_XMP_async_reflect_t * async_reflect
Definition: xmp_data_struct.h:296
int ser_lower
Definition: xmp_data_struct.h:199
Definition: xmp_data_struct.h:78
long long ser_upper
Definition: xmp_data_struct.h:73
int order
Definition: xmp_data_struct.h:276
int local_lower
Definition: xmp_data_struct.h:209
#define _XMP_N_DIST_DUPLICATION
Definition: xmp_constant.h:28
int shadow_size_hi
Definition: xmp_data_struct.h:250
#define _XMP_N_TYPE_UNSIGNED_SHORT
Definition: xmp_constant.h:84
Definition: xmp_data_struct.h:266
#define _XMP_N_TYPE_CHAR
Definition: xmp_constant.h:81
#define _XMP_N_TYPE_UNSIGNED_CHAR
Definition: xmp_constant.h:82
#define _XMP_N_NO_ALIGN_TEMPLATE
Definition: xmp_constant.h:23
void _XMP_init_reflect_sched(_XMP_reflect_sched_t *sched)
Definition: xmp_shadow.c:218
int par_stride
Definition: xmp_data_struct.h:85
int rank
Definition: xmp_data_struct.h:35
#define _XMP_N_INVALID_RANK
Definition: xmp_constant.h:21
int dist_manner
Definition: xmp_data_struct.h:87
size_t type_size
Definition: xmp_data_struct.h:274
int alloc_size
Definition: xmp_data_struct.h:212
#define _XMP_N_ALIGN_CYCLIC
Definition: xmp_constant.h:38
#define _XMP_N_ALIGN_BLOCK
Definition: xmp_constant.h:37
Definition: xmp_data_struct.h:328
#define _XMP_N_ALIGN_DUPLICATION
Definition: xmp_constant.h:36
_XMP_array_info_t info[1]
Definition: xmp_data_struct.h:313
void _XMP_free(void *p)
Definition: xmp_util.c:37
#define _XMP_ASSERT(_flag)
Definition: xmp_internal.h:34
#define _XMP_N_TYPE_LONG_DOUBLE_COMPLEX
Definition: xmp_constant.h:103
#define _XMP_N_ALIGN_NOT_ALIGNED
Definition: xmp_constant.h:35
void * array_addr_p
Definition: xmp_data_struct.h:279
#define _XMP_N_ALIGN_BLOCK_CYCLIC
Definition: xmp_constant.h:39
int par_stride
Definition: xmp_data_struct.h:206
int dim
Definition: xmp_data_struct.h:272
void _XMP_fatal(char *msg)
Definition: xmp_util.c:42
unsigned long long * acc
Definition: xmp_data_struct.h:262
unsigned long long dim_acc
Definition: xmp_data_struct.h:242
int par_size
Definition: xmp_data_struct.h:207
_XMP_reflect_sched_t * reflect_sched
Definition: xmp_data_struct.h:252
unsigned long long par_width
Definition: xmp_data_struct.h:82
#define _XMP_N_TYPE_LONGLONG
Definition: xmp_constant.h:89
_Bool is_distributed
Definition: xmp_data_struct.h:105
int dim
Definition: xmp_data_struct.h:47
Definition: xmp_data_struct.h:40
int _XMP_modi_ll_i(long long value, int cycle)
Definition: xmp_math_function.c:9
#define _XMP_M_COUNT_TRIPLETi(l_, u_, s_)
Definition: xmp_gpu_func.hpp:25
int * temp0
Definition: xmp_data_struct.h:239
_Bool is_align_comm_member
Definition: xmp_data_struct.h:271
void _XMP_coarray_malloc_info_n(const long *n, const int ndims, const size_t elmt_size)
Set n-dim coarray information.
Definition: xmp_coarray.c:140
#define _XMP_N_SHADOW_NONE
Definition: xmp_constant.h:64
int _XMPF_running
Definition: xmp_runtime.c:16
int type
Definition: xmp_data_struct.h:273
#define _XMP_N_INT_TRUE
Definition: xmp_constant.h:4
#define _XMP_N_ALIGN_GBLOCK
Definition: xmp_constant.h:40
long long * mapping_array
Definition: xmp_data_struct.h:88
_Bool is_allocated
Definition: xmp_data_struct.h:270
_XMP_comm_t * shadow_comm
Definition: xmp_data_struct.h:255
void * _XMP_get_execution_nodes(void)
Definition: xmp_nodes_stack.c:46
int par_lower
Definition: xmp_data_struct.h:204
Definition: xmp_data_struct.h:181
_Bool is_shadow_comm_member
Definition: xmp_data_struct.h:195
int local_upper
Definition: xmp_data_struct.h:210