libxmp/libxmpf in Omni Compiler
1.3.4
|
#include <stdarg.h>
#include <stdlib.h>
#include "xmp_internal.h"
#include "xmp.h"
#include <stddef.h>
|
void | _XMP_align_local_idx (long long int global_idx, int *local_idx, _XMP_array_t *array, int array_axis, int *rank) |
|
void | _XMP_init_shadow_dim (_XMP_array_t *array, int i, int type, int lo, int hi) |
|
MPI_Comm | xmp_get_mpi_comm (void) |
|
void | xmp_init_mpi (int *argc, char ***argv) |
|
void | xmp_finalize_mpi (void) |
|
void | xmp_init_py (MPI_Fint comm) |
|
void | xmp_init (MPI_Comm comm) |
|
void | xmp_finalize () |
|
int | xmp_desc_kind (xmp_desc_t d, int *kind) |
|
int | xmp_num_nodes (void) |
|
int | xmp_num_images (void) |
|
int | xmp_node_num (void) |
|
int | xmpc_node_num (void) |
|
int | xmpc_this_image (void) |
|
void | xmp_barrier (void) |
|
int | xmp_all_num_nodes (void) |
|
int | xmp_all_node_num (void) |
|
int | xmpc_all_node_num (void) |
|
double | xmp_wtime (void) |
|
double | xmp_wtick (void) |
|
int | xmp_array_ndims (xmp_desc_t d, int *ndims) |
|
int | xmp_array_lbound (xmp_desc_t d, int dim, int *lbound) |
|
int | xmp_array_ubound (xmp_desc_t d, int dim, int *ubound) |
|
size_t | xmp_array_type_size (xmp_desc_t d) |
|
int | xmp_array_gsize (xmp_desc_t d, int dim) |
|
int | xmp_array_lsize (xmp_desc_t d, int dim, int *lsize) |
|
int | xmp_array_gcllbound (xmp_desc_t d, int dim) |
|
int | xmp_array_gclubound (xmp_desc_t d, int dim) |
|
int | xmp_array_lcllbound (xmp_desc_t d, int dim) |
|
int | xmp_array_lclubound (xmp_desc_t d, int dim) |
|
int | xmp_array_gcglbound (xmp_desc_t d, int dim) |
|
int | xmp_array_gcgubound (xmp_desc_t d, int dim) |
|
int | xmp_array_laddr (xmp_desc_t d, void **laddr) |
|
int | xmp_array_ushadow (xmp_desc_t d, int dim, int *ushadow) |
|
int | xmp_array_lshadow (xmp_desc_t d, int dim, int *lshadow) |
|
int | xmp_array_owner (xmp_desc_t d, int ndims, int index[ndims], int dim) |
|
int | xmp_array_lead_dim (xmp_desc_t d, int size[]) |
|
int | xmp_array_gtol (xmp_desc_t d, int dim, int g_idx, int *l_idx) |
|
int | xmp_align_axis (xmp_desc_t d, int dim, int *axis) |
|
int | xmp_align_offset (xmp_desc_t d, int dim, int *offset) |
|
int | xmp_align_format (xmp_desc_t d, int dim) |
|
int | xmp_align_size (xmp_desc_t d, int dim) |
|
int | xmp_align_replicated (xmp_desc_t d, int dim, int *replicated) |
|
int | xmp_align_template (xmp_desc_t d, xmp_desc_t *dt) |
|
int | xmp_template_fixed (xmp_desc_t d, int *fixed) |
|
int | xmp_template_ndims (xmp_desc_t d, int *ndims) |
|
int | xmp_template_lbound (xmp_desc_t d, int dim, int *lbound) |
|
int | xmp_template_ubound (xmp_desc_t d, int dim, int *ubound) |
|
int | xmp_template_gsize (xmp_desc_t d, int dim) |
|
int | xmp_template_lsize (xmp_desc_t d, int dim) |
|
int | xmp_dist_format (xmp_desc_t d, int dim, int *format) |
|
int | xmp_dist_blocksize (xmp_desc_t d, int dim, int *blocksize) |
|
int | xmp_dist_stride (xmp_desc_t d, int dim) |
|
int | xmp_dist_nodes (xmp_desc_t d, xmp_desc_t *dn) |
|
int | xmp_dist_axis (xmp_desc_t d, int dim, int *axis) |
|
int | xmp_dist_gblockmap (xmp_desc_t d, int dim, int *map) |
|
int | xmp_nodes_ndims (xmp_desc_t d, int *ndims) |
|
int | xmp_nodes_index (xmp_desc_t d, int dim, int *index) |
|
int | xmp_nodes_size (xmp_desc_t d, int dim, int *size) |
|
int | xmp_nodes_rank (xmp_desc_t d, int *rank) |
|
int | xmp_nodes_comm (xmp_desc_t d, void **comm) |
|
int | xmp_nodes_equiv (xmp_desc_t d, xmp_desc_t *dn, int lb[], int ub[], int st[]) |
|
void | xmp_sched_template_index (int *local_start_index, int *local_end_index, const int global_start_index, const int global_end_index, const int step, const xmp_desc_t template, const int template_dim) |
|
void * | xmp_malloc (xmp_desc_t d,...) |
|
void | xmp_free (xmp_desc_t d) |
|
void | xmp_exit (int status) |
|
void | xmp_array_lbound_global (xmp_desc_t d, int dim, int *global_i) |
|
void | xmp_array_ubound_global (xmp_desc_t d, int dim, int *global_i) |
|
void | _XMP_calc_gmove_rank_array_SCALAR (xmp_desc_t array, int *ref_index, int *rank_array) |
|
int | xmp_array_owner_rank (xmp_desc_t d, int *ref_index, int *owners) |
|
◆ _XMP_align_local_idx()
void _XMP_align_local_idx |
( |
long long int |
global_idx, |
|
|
int * |
local_idx, |
|
|
_XMP_array_t * |
array, |
|
|
int |
array_axis, |
|
|
int * |
rank |
|
) |
| |
1366 long long tbase =
template->info[template_index].ser_lower;
1368 int irank, idiv, imod;
1374 *local_idx = global_idx + offset - base;
1389 idiv = offset/n_info->
size;
1390 imod = offset%n_info->
size;
1391 *rank = (global_idx + offset - base) % n_info->
size;
1392 *local_idx = (global_idx + offset - base) / n_info->
size;
1394 *local_idx = *local_idx - (idiv + 1);
1396 *local_idx = *local_idx - idiv;
1403 idiv = (offset/w)/n_info->
size;
1404 int imod1 = (offset/w)%n_info->
size;
1405 int imod2 = offset%w;
1406 int off = global_idx + offset - base;
1407 *local_idx = (off / (n_info->
size*w)) * w + off%w;
1409 *rank=(off/w)% (n_info->
size);
1411 if (imod1 == *rank ){
1412 *local_idx = *local_idx - idiv*w-imod2;
1413 }
else if (imod1 > *rank){
1414 *local_idx = *local_idx - (idiv+1)*w;
1416 }
else if (imod1 == 0){
1417 if (imod1 == *rank ){
1418 *local_idx = *local_idx - idiv*w -imod2;
1420 *local_idx = *local_idx - idiv*w;
1429 for(
int i=1;i<(n_info->
size+1);i++){
1430 if(global_idx + offset < chunk->mapping_array[i]+ (base - tbase)){
1436 for(
int i=1;i<n_info->size+1;i++){
1437 if(offset < chunk->mapping_array[i]+(base-tbase)){
1439 idiv = offset - (chunk->
mapping_array[i-1] + (base - tbase) - base);
1443 if (*rank == irank){
1444 *local_idx = *local_idx - idiv;
1451 *local_idx=global_idx - base;
1455 _XMP_fatal(
"_XMP_: unknown chunk dist_manner");
◆ _XMP_calc_gmove_rank_array_SCALAR()
void _XMP_calc_gmove_rank_array_SCALAR |
( |
xmp_desc_t |
array, |
|
|
int * |
ref_index, |
|
|
int * |
rank_array |
|
) |
| |
◆ _XMP_init_shadow_dim()
void _XMP_init_shadow_dim |
( |
_XMP_array_t * |
array, |
|
|
int |
i, |
|
|
int |
type, |
|
|
int |
lo, |
|
|
int |
hi |
|
) |
| |
360 _XMP_fatal(
"<shadow-width> should be a nonnegative integer");
364 _XMP_fatal(
"<shadow-width> should be a nonnegative integer");
367 if ((lo == 0) && (hi == 0)) {
◆ xmp_align_axis()
int xmp_align_axis |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
axis |
|
) |
| |
◆ xmp_align_format()
◆ xmp_align_offset()
int xmp_align_offset |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
offset |
|
) |
| |
◆ xmp_align_replicated()
int xmp_align_replicated |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
replicated |
|
) |
| |
292 int andims, nndims, axis, counter=0;
300 for(
int i=0; i<andims; i++){
303 counter = counter +1;
307 if (counter != nndims){
309 for(
int i=0; i<andims; i++){
◆ xmp_align_size()
264 int format, ival=0, idim;
◆ xmp_align_template()
◆ xmp_all_node_num()
int xmp_all_node_num |
( |
void |
| ) |
|
◆ xmp_all_num_nodes()
int xmp_all_num_nodes |
( |
void |
| ) |
|
◆ xmp_array_gcglbound()
◆ xmp_array_gcgubound()
◆ xmp_array_gcllbound()
◆ xmp_array_gclubound()
◆ xmp_array_gsize()
◆ xmp_array_gtol()
int xmp_array_gtol |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int |
g_idx, |
|
|
int * |
l_idx |
|
) |
| |
◆ xmp_array_laddr()
int xmp_array_laddr |
( |
xmp_desc_t |
d, |
|
|
void ** |
laddr |
|
) |
| |
◆ xmp_array_lbound()
int xmp_array_lbound |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
lbound |
|
) |
| |
◆ xmp_array_lbound_global()
void xmp_array_lbound_global |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
global_i |
|
) |
| |
◆ xmp_array_lcllbound()
◆ xmp_array_lclubound()
◆ xmp_array_lead_dim()
int xmp_array_lead_dim |
( |
xmp_desc_t |
d, |
|
|
int |
size[] |
|
) |
| |
228 for(
int i=0;i<ndims;i++)
◆ xmp_array_lshadow()
int xmp_array_lshadow |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
lshadow |
|
) |
| |
◆ xmp_array_lsize()
int xmp_array_lsize |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
lsize |
|
) |
| |
◆ xmp_array_ndims()
◆ xmp_array_owner()
int xmp_array_owner |
( |
xmp_desc_t |
d, |
|
|
int |
ndims, |
|
|
int |
index[ndims], |
|
|
int |
dim |
|
) |
| |
196 int idim, ival, idistnum, t_dist_size, format;
211 ival = index[idim-1]/t_dist_size+idistnum +1;
213 ival = (index[idim-1]/t_dist_size+idistnum)%(n->
info[idim-1].
size)+1;
215 ival = (index[idim-1]/t_dist_size+idistnum)%(n->
info[idim-1].
size)+1;
◆ xmp_array_owner_rank()
int xmp_array_owner_rank |
( |
xmp_desc_t |
d, |
|
|
int * |
ref_index, |
|
|
int * |
owners |
|
) |
| |
637 int nodes_dim = nodes->
dim;
641 for (
int i = 0; i < nodes_dim; i++) rank_array[i] = -1;
646 for (
int i = 0; i < nodes_dim; i++){
648 if (rank_array[i] == -1){
653 lb[i] = rank_array[i];
654 ub[i] = rank_array[i] + 1;
660 for (rank_array[0] = lb[0]; rank_array[0] < ub[0]; rank_array[0]++)
661 for (rank_array[1] = lb[1]; rank_array[1] < ub[1]; rank_array[1]++)
662 for (rank_array[2] = lb[2]; rank_array[2] < ub[2]; rank_array[2]++)
663 for (rank_array[3] = lb[3]; rank_array[3] < ub[3]; rank_array[3]++)
664 for (rank_array[4] = lb[4]; rank_array[4] < ub[4]; rank_array[4]++)
665 for (rank_array[5] = lb[5]; rank_array[5] < ub[5]; rank_array[5]++)
666 for (rank_array[6] = lb[6]; rank_array[6] < ub[6]; rank_array[6]++)
◆ xmp_array_type_size()
◆ xmp_array_ubound()
int xmp_array_ubound |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
ubound |
|
) |
| |
◆ xmp_array_ubound_global()
void xmp_array_ubound_global |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
global_i |
|
) |
| |
◆ xmp_array_ushadow()
int xmp_array_ushadow |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
ushadow |
|
) |
| |
◆ xmp_barrier()
void xmp_barrier |
( |
void |
| ) |
|
◆ xmp_desc_kind()
◆ xmp_dist_axis()
int xmp_dist_axis |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
axis |
|
) |
| |
◆ xmp_dist_blocksize()
int xmp_dist_blocksize |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
blocksize |
|
) |
| |
◆ xmp_dist_format()
int xmp_dist_format |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
format |
|
) |
| |
◆ xmp_dist_gblockmap()
int xmp_dist_gblockmap |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
map |
|
) |
| |
440 for (
int i=0; i<size-1; i++){
445 }
else if (size == 1){
◆ xmp_dist_nodes()
◆ xmp_dist_stride()
◆ xmp_exit()
void xmp_exit |
( |
int |
status | ) |
|
◆ xmp_finalize()
◆ xmp_finalize_mpi()
void xmp_finalize_mpi |
( |
void |
| ) |
|
◆ xmp_free()
◆ xmp_get_mpi_comm()
MPI_Comm xmp_get_mpi_comm |
( |
void |
| ) |
|
◆ xmp_init()
void xmp_init |
( |
MPI_Comm |
comm | ) |
|
◆ xmp_init_mpi()
void xmp_init_mpi |
( |
int * |
argc, |
|
|
char *** |
argv |
|
) |
| |
◆ xmp_init_py()
void xmp_init_py |
( |
MPI_Fint |
comm | ) |
|
◆ xmp_malloc()
550 for (
int i = 0; i < a->
dim; i++){
551 int size = va_arg(args,
int);
◆ xmp_node_num()
int xmp_node_num |
( |
void |
| ) |
|
◆ xmp_nodes_comm()
485 *(
void **)comm = (
void *)n->
comm;
◆ xmp_nodes_equiv()
498 for (i=0; i<ndims; i++){
◆ xmp_nodes_index()
int xmp_nodes_index |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
index |
|
) |
| |
◆ xmp_nodes_ndims()
◆ xmp_nodes_rank()
◆ xmp_nodes_size()
int xmp_nodes_size |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
size |
|
) |
| |
◆ xmp_num_images()
int xmp_num_images |
( |
void |
| ) |
|
◆ xmp_num_nodes()
int xmp_num_nodes |
( |
void |
| ) |
|
◆ xmp_sched_template_index()
void xmp_sched_template_index |
( |
int * |
local_start_index, |
|
|
int * |
local_end_index, |
|
|
const int |
global_start_index, |
|
|
const int |
global_end_index, |
|
|
const int |
step, |
|
|
const xmp_desc_t |
template, |
|
|
const int |
template_dim |
|
) |
| |
521 local_start_index, local_end_index, &tmp,
template, template_dim);
525 local_start_index, local_end_index, &tmp,
template, template_dim);
529 local_start_index, local_end_index, &tmp,
template, template_dim);
532 _XMP_fatal(
"does not support distribution in xmp_sched_template_index()");
◆ xmp_template_fixed()
int xmp_template_fixed |
( |
xmp_desc_t |
d, |
|
|
int * |
fixed |
|
) |
| |
◆ xmp_template_gsize()
◆ xmp_template_lbound()
int xmp_template_lbound |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
lbound |
|
) |
| |
◆ xmp_template_lsize()
◆ xmp_template_ndims()
int xmp_template_ndims |
( |
xmp_desc_t |
d, |
|
|
int * |
ndims |
|
) |
| |
◆ xmp_template_ubound()
int xmp_template_ubound |
( |
xmp_desc_t |
d, |
|
|
int |
dim, |
|
|
int * |
ubound |
|
) |
| |
◆ xmp_wtick()
double xmp_wtick |
( |
void |
| ) |
|
◆ xmp_wtime()
double xmp_wtime |
( |
void |
| ) |
|
◆ xmpc_all_node_num()
int xmpc_all_node_num |
( |
void |
| ) |
|
◆ xmpc_node_num()
int xmpc_node_num |
( |
void |
| ) |
|
◆ xmpc_this_image()
int xmpc_this_image |
( |
void |
| ) |
|
long long align_subscript
Definition: xmp_data_struct.h:246
void _XMP_align_array_NOT_ALIGNED(void *array, int array_index)
void _XMP_barrier_EXEC(void)
Definition: xmp_barrier.c:16
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_template_info_t info[1]
Definition: xmp_data_struct.h:115
void _XMP_finalize(bool isFinalize)
Definition: xmp_runtime.c:73
unsigned long long ser_size
Definition: xmp_data_struct.h:74
int align_template_index
Definition: xmp_data_struct.h:260
#define _XMP_N_DIST_BLOCK
Definition: xmp_constant.h:29
long long ser_lower
Definition: xmp_data_struct.h:72
void * _XMP_alloc(size_t size)
Definition: xmp_util.c:21
Definition: xmp_data_struct.h:194
struct _XMP_nodes_type * inherit_nodes
Definition: xmp_data_struct.h:57
_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 xmp_align_format(xmp_desc_t d, int dim)
Definition: xmp_lib.c:256
int ser_upper
Definition: xmp_data_struct.h:200
int _XMP_world_size
Definition: xmp_world.c:8
int xmp_align_template(xmp_desc_t d, xmp_desc_t *dt)
Definition: xmp_lib.c:323
int shadow_type
Definition: xmp_data_struct.h:248
int ser_size
Definition: xmp_data_struct.h:201
void _XMP_dealloc_array(void *array_desc)
Definition: xmp_data_struct.h:119
_XMP_nodes_info_t * onto_nodes_info
Definition: xmp_data_struct.h:94
int xmp_align_axis(xmp_desc_t d, int dim, int *axis)
Definition: xmp_lib.c:242
int xmp_dist_nodes(xmp_desc_t d, xmp_desc_t *dn)
Definition: xmp_lib.c:415
_Bool is_fixed
Definition: xmp_data_struct.h:104
int _XMP_calc_linear_rank_on_target_nodes(_XMP_nodes_t *n, int *rank_array, _XMP_nodes_t *target_nodes)
Definition: xmp_nodes.c:1049
Definition: xmp_data_struct.h:70
int dim
Definition: xmp_data_struct.h:108
void _XMP_align_local_idx(long long int global_idx, int *local_idx, _XMP_array_t *array, int array_axis, int *rank)
Definition: xmp_gmove.c:1358
void * xmp_desc_t
Definition: xmp.h:29
int comm_rank
Definition: xmp_data_struct.h:52
void _XMP_align_array_BLOCK(void *array, int array_index, int template_index, long long align_subscript, int *temp0)
void _XMP_init(int argc, char **argv, MPI_Comm comm)
Definition: xmp_runtime.c:30
unsigned long long par_chunk_width
Definition: xmp_data_struct.h:86
int _XMP_world_rank
Definition: xmp_world.c:9
int par_upper
Definition: xmp_data_struct.h:205
int xmp_dist_format(xmp_desc_t d, int dim, int *format)
Definition: xmp_lib.c:371
int local_stride
Definition: xmp_data_struct.h:211
int temp0_v
Definition: xmp_data_struct.h:240
_XMP_nodes_t * onto_nodes
Definition: xmp_data_struct.h:111
void _XMP_init_array_comm2(_XMP_array_t *array, int args[])
Definition: xmp_align.c:882
int xmp_array_ndims(xmp_desc_t d, int *ndims)
Definition: xmp_lib.c:96
int shadow_size_lo
Definition: xmp_data_struct.h:249
_XMP_template_t * align_template
Definition: xmp_data_struct.h:312
void _XMP_init_shadow_dim(_XMP_array_t *array, int i, int type, int lo, int hi)
Definition: xmp_shadow.c:347
void _XMP_create_shadow_comm(_XMP_array_t *array, int array_index)
Definition: xmp_shadow.c:16
int xmp_dist_blocksize(xmp_desc_t d, int dim, int *blocksize)
Definition: xmp_lib.c:389
int align_manner
Definition: xmp_data_struct.h:197
void _XMP_align_array_DUPLICATION(void *array, int array_index, int template_index, long long align_subscript)
#define _XMP_N_DIST_CYCLIC
Definition: xmp_constant.h:30
int stride
Definition: xmp_data_struct.h:25
Definition: xmp_data_struct.h:98
#define _XMP_N_SHADOW_FULL
Definition: xmp_constant.h:66
void _XMP_align_array_GBLOCK(void *array, int array_index, int template_index, long long align_subscript, int *temp0)
int ser_lower
Definition: xmp_data_struct.h:199
_XMP_nodes_inherit_info_t * inherit_info
Definition: xmp_data_struct.h:59
void _XMP_calc_gmove_rank_array_SCALAR(xmp_desc_t array, int *ref_index, int *rank_array)
Definition: xmp_data_struct.h:78
long long ser_upper
Definition: xmp_data_struct.h:73
int onto_nodes_index
Definition: xmp_data_struct.h:92
#define _XMP_N_DIST_BLOCK_CYCLIC
Definition: xmp_constant.h:31
int local_lower
Definition: xmp_data_struct.h:209
#define _XMP_N_DIST_GBLOCK
Definition: xmp_constant.h:32
void _XMP_init_array_nodes(void *array)
#define _XMP_N_DIST_DUPLICATION
Definition: xmp_constant.h:28
int shadow_size_hi
Definition: xmp_data_struct.h:250
Definition: xmp_data_struct.h:266
#define _XMP_N_NO_ALIGN_TEMPLATE
Definition: xmp_constant.h:23
void _XMP_alloc_array2(void **array_addr, _XMP_array_t *array_desc, int is_coarray, unsigned long long *acc[])
Definition: xmp_align.c:690
int par_stride
Definition: xmp_data_struct.h:85
int rank
Definition: xmp_data_struct.h:35
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
#define _XMP_N_ALIGN_DUPLICATION
Definition: xmp_constant.h:36
_XMP_array_info_t info[1]
Definition: xmp_data_struct.h:313
void _XMP_sched_loop_template_CYCLIC(int ser_init, int ser_cond, int ser_step, int *par_init, int *par_cond, int *par_step, _XMP_template_t *template, int template_index)
Definition: xmp_loop.c:294
#define _XMP_ASSERT(_flag)
Definition: xmp_internal.h:34
#define XMP_BLOCK
Definition: xmp.h:17
int lower
Definition: xmp_data_struct.h:23
#define _XMP_N_ALIGN_NOT_ALIGNED
Definition: xmp_constant.h:35
void _XMP_align_array_CYCLIC(void *array, int array_index, int template_index, long long align_subscript, int *temp0)
int xmp_nodes_ndims(xmp_desc_t d, int *ndims)
Definition: xmp_lib.c:454
void * array_addr_p
Definition: xmp_data_struct.h:279
#define _XMP_N_ALIGN_BLOCK_CYCLIC
Definition: xmp_constant.h:39
_XMP_comm_t * comm
Definition: xmp_data_struct.h:53
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
void _XMP_align_array_BLOCK_CYCLIC(void *array, int array_index, int template_index, long long align_subscript, int *temp0)
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
int dim
Definition: xmp_data_struct.h:47
Definition: xmp_data_struct.h:40
int * temp0
Definition: xmp_data_struct.h:239
int xmp_dist_axis(xmp_desc_t d, int dim, int *axis)
Definition: xmp_lib.c:422
#define _XMP_N_MAX_DIM
Definition: xmp_constant.h:6
#define _XMP_N_SHADOW_NORMAL
Definition: xmp_constant.h:65
#define XMP_NOT_DISTRIBUTED
Definition: xmp.h:16
#define _XMP_N_SHADOW_NONE
Definition: xmp_constant.h:64
void _XMP_sched_loop_template_BLOCK_CYCLIC(int ser_init, int ser_cond, int ser_step, int *par_init, int *par_cond, int *par_step, _XMP_template_t *template, int template_index)
Definition: xmp_loop.c:335
void _XMP_sched_loop_template_BLOCK(int ser_init, int ser_cond, int ser_step, int *par_init, int *par_cond, int *par_step, _XMP_template_t *template, int template_index)
Definition: xmp_loop.c:196
#define XMP_CYCLIC
Definition: xmp.h:18
#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
void * _XMP_get_execution_nodes(void)
Definition: xmp_nodes_stack.c:46
_Bool is_owner
Definition: xmp_data_struct.h:106
int par_lower
Definition: xmp_data_struct.h:204
void _XMP_init_reflect_sched(_XMP_reflect_sched_t *sched)
Definition: xmp_shadow.c:218
int upper
Definition: xmp_data_struct.h:24
int xmp_nodes_size(xmp_desc_t d, int dim, int *size)
Definition: xmp_lib.c:468
int local_upper
Definition: xmp_data_struct.h:210