libxmp/libxmpf in Omni Compiler
1.3.4
|
Go to the documentation of this file. 1 #ifndef _XMPCO_INTERNAL_H
2 #define _XMPCO_INTERNAL_H
18 #define _ROUND_UP(n,p) (((((size_t)(n))-1)/(p)+1)*(p))
19 #define _ROUND_UP_PLUS(n,p) (((n)>0) ? _ROUND_UP(n,p) : (p))
20 #define ROUND_UP_COMM(n) _ROUND_UP((n),COMM_UNIT)
21 #define ROUND_UP_MALLOC(n) _ROUND_UP_PLUS((n),MALLOC_UNIT)
68 int namelen,
char *name);
71 int namelen,
char *name);
95 int element,
int coindex,
char *localAddr,
96 int rank,
int skip[],
int skip_local[],
int count[]);
98 int element,
int coindex,
char *result);
100 int element,
int coindex,
char *result,
101 int rank,
int skip[],
int count[]);
104 int coindex,
char *rhs,
SyncMode sync_mode);
106 int coindex,
char *rhsAddr,
int rank,
107 int skip[],
int skip_rhs[],
int count[],
110 int coindex,
char *rhs,
int rank,
111 int skip[],
int count[],
SyncMode sync_mode);
116 int corank,
int dim);
118 int corank,
int image[]);
177 size_t *offset,
char **name);
237 extern void xmp_sync_images(
const int num,
int* image_set,
int* status);
MEMORY MANAGEMENT STRUCTURE-I (for automatic deallocation) runtime resource corresponding to a proced...
Definition: _xmpco_alloc.h:64
MEMORY MANAGEMENT STRUCTURE-III (for binary search for memory chunk) table of memory chunks sorted in...
Definition: _xmpco_alloc.h:121
void XMPCO_this_image_coarray(CoarrayInfo_t *cinfo, int corank, int image[])
Definition: xmpco_lib.c:17
char * _XMPCO_get_baseAddrOfCoarray(CoarrayInfo_t *cinfo)
Definition: xmpco_alloc.c:706
void XMPCO_epilog(ResourceSet_t **rset)
Definition: xmpco_alloc.c:550
void _XMP_coarray_malloc(void **, void *)
Create coarray object and allocate coarray.
Definition: xmp_coarray.c:333
int _XMPCO_nowInTask(void)
Definition: xmpco_alloc.c:1420
size_t xmp_coarray_garbage_bytes(void)
Definition: xmpco_alloc.c:137
CoarrayInfo_t * XMPCO_regmem_coarray(void *var, int count, size_t element, ResourceSet_t *rset)
Definition: xmpco_alloc.c:189
void XMPCO_free_coarray(CoarrayInfo_t *cinfo)
Definition: xmpco_alloc.c:351
void * _XMPCO_get_desc_fromLocalAddr(char *localAddr, char **orgAddr, size_t *offset, char **name)
Definition: xmpco_alloc.c:784
BOOL _XMPCO_get_isSafeBufferMode(void)
Definition: xmpco_params.c:87
void XMPCO_GET_arrayStmt(CoarrayInfo_t *descPtr, char *baseAddr, int element, int coindex, char *localAddr, int rank, int skip[], int skip_local[], int count[])
Definition: xmpco_get_stmt.c:91
void XMPCO_deregmem_coarray(CoarrayInfo_t *cinfo)
Definition: xmpco_alloc.c:374
enum _SyncMode SyncMode
Definition: xmpco_internal.h:29
void XMPCO_malloc_pool(void)
Definition: xmpco_alloc.c:455
void _XMP_coarray_contiguous_put(const int, void *, const void *, const long, const long, const long, const long)
void _XMP_coarray_rdma_array_set_1(const long, const long, const long, const long, const size_t)
Set transfer 1-dim array information.
Definition: xmp_coarray.c:655
void _XMPCO_set_initialNumImages(void)
Definition: xmpco_lib.c:118
void _XMP_coarray_malloc_image_info_1()
Set 1-dim image information.
Definition: xmp_coarray.c:155
void _XMPCO_debugPrint(char *format,...)
Definition: xmpco_msg.c:20
void xmp_sync_memory(const int *status)
Execute sync_memory()
Definition: xmp_coarray.c:1405
void _XMPCO_set_isSyncPutMode(BOOL sw)
Definition: xmpco_params.c:25
void xmp_sync_images_all(int *status)
Execute sync_images_all()
Definition: xmp_coarray.c:1463
void * _XMPCO_get_infoOfCtrlData(char **baseAddr, size_t *offset, char **name)
Definition: xmpco_alloc.c:759
MPI_Comm _XMPCO_get_currentComm(void)
Definition: xmpco_lib.c:163
void XMPCO_GET_scalarExpr(CoarrayInfo_t *descPtr, char *baseAddr, int element, int coindex, char *result)
Definition: xmpco_get_expr.c:52
@ syncRUNTIME
Definition: xmpco_internal.h:27
size_t xmp_coarray_malloc_bytes(void)
Definition: xmpco_alloc.c:107
char * _XMPCO_get_nameOfCoarray(CoarrayInfo_t *cinfo)
Definition: xmpco_alloc.c:701
void _XMP_coarray_malloc_info_1(const long, const size_t)
Set 1-dim coarray information.
Definition: xmp_coarray.c:31
void _XMPCO_checkIfInTask(char *msgopt)
Definition: xmpco_alloc.c:1425
int _XMPCO_get_initial_image_withDescPtr(int image, CoarrayInfo_t *descPtr)
Definition: xmpco_lib.c:246
void _XMPCO_coarrayInit_get(void)
Definition: xmpco_get_expr.c:39
void xmp_sync_images(const int num, int *image_set, int *status)
Execute sync_images()
Definition: xmp_coarray.c:1439
void XMPCO_PUT_scalarStmt(CoarrayInfo_t *descPtr, char *baseAddr, int element, int coindex, char *rhs, SyncMode sync_mode)
Definition: xmpco_put.c:118
void _XMPCO_set_poolThreshold(unsigned size)
Definition: xmpco_params.c:28
void _XMPCO_coarrayInit_getsub(void)
Definition: xmpco_get_stmt.c:77
BOOL _XMPCO_get_isEagerCommMode(void)
Definition: xmpco_params.c:89
void * _XMPCO_get_infoOfLocalBuf(char **baseAddr, size_t *offset, char **name)
Definition: xmpco_alloc.c:770
MPI_Comm _XMPCO_get_comm_of_nodes(_XMP_nodes_t *nodes)
Definition: xmpco_lib.c:83
size_t _XMPCO_get_offsetInMemoryChunk(CoarrayInfo_t *cinfo, char *addr)
Definition: xmpco_alloc.c:740
_XMP_nodes_t * _XMPCO_consume_imageDirNodes(void)
Definition: xmpco_lib.c:292
void XMPCO_PUT_spread(CoarrayInfo_t *descPtr, char *baseAddr, int element, int coindex, char *rhs, int rank, int skip[], int count[], SyncMode sync_mode)
Definition: xmpco_put.c:246
CoarrayInfo_t * XMPCO_malloc_staticCoarray(char **addr, int count, size_t element, int namelen, char *name)
have a share of memory in the pool (if not larger than threshold) or allocate individually (if larger...
Definition: xmpco_alloc.c:221
MPI_Comm _XMPCO_consume_comm_current(void)
Definition: xmpco_lib.c:315
@ syncBLOCK
Definition: xmpco_internal.h:25
void _XMPCO_clean_imageDirNodes(void)
Definition: xmpco_lib.c:272
void xmp_sync_all(const int *status)
Execute sync_all()
Definition: xmp_coarray.c:1423
void _XMPCO_set_initialThisImage(void)
Definition: xmpco_lib.c:107
void _XMPCO_set_localBufSize(unsigned size)
Definition: xmpco_params.c:37
void _XMPCO_set_codim_withSize(CoarrayInfo_t *cp, int dim, int lb, int size)
Definition: xmpco_alloc.c:645
void XMPCO_prolog(ResourceSet_t **rset, int namelen, char *name)
Definition: xmpco_alloc.c:541
void _XMP_coarray_get(void *, void *, void *)
Definition: xmp_coarray.c:1223
void XMPCO_GET_arrayExpr(CoarrayInfo_t *descPtr, char *baseAddr, int element, int coindex, char *result, int rank, int skip[], int count[])
Definition: xmpco_get_expr.c:126
_XMP_nodes_t * _XMPCO_get_imageDirNodes(void)
Definition: xmpco_lib.c:286
int _XMPCO_get_initialNumImages(void)
Definition: xmpco_lib.c:133
void _XMPCO_set_isMsgMode(BOOL sw)
Definition: xmpco_params.c:48
void _XMPCO_set_varname(CoarrayInfo_t *cp, int namelen, char *name)
Definition: xmpco_alloc.c:673
void XMPCO_count_size(int count, size_t element)
Definition: xmpco_alloc.c:506
void _XMPCO_coarrayInit_put(void)
Definition: xmpco_put.c:105
void XMPCO_sync_all_auto(void)
Definition: xmpco_sync.c:34
int XMPCO_this_image_coarray_dim(CoarrayInfo_t *cinfo, int corank, int dim)
Definition: xmpco_lib.c:45
MPI_Comm _XMPCO_get_comm_current(void)
Definition: xmpco_lib.c:304
#define BOOL
Definition: xmpco_internal.h:14
BOOL _XMPCO_get_isSyncPutMode(void)
Definition: xmpco_params.c:88
size_t _XMPCO_get_sizeOfMemoryChunk(CoarrayInfo_t *cinfo)
Definition: xmpco_alloc.c:735
CoarrayInfo_t * _XMPCO_set_nodes(CoarrayInfo_t *cinfo, _XMP_nodes_t *nodes)
Definition: xmpco_alloc.c:681
CoarrayInfo_t * XMPCO_regmem_staticCoarray(void *var, int count, size_t element, int namelen, char *name)
Similar to _alloc_static_coarray() except that the coarray is allocated not by the runtime but by the...
Definition: xmpco_alloc.c:257
void XMPCO_sync_all_withComm(MPI_Comm comm)
Definition: xmpco_sync.c:54
int _XMPCO_get_initialThisImage(void)
Definition: xmpco_lib.c:128
void _XMPCO_fatal(char *format,...)
Definition: xmpco_msg.c:4
void _XMPCO_set_isMsgMode_quietly(BOOL sw)
Definition: xmpco_params.c:68
CoarrayInfo_t * XMPCO_find_descptr(char *addr, int namelen, char *name)
generate and return a descriptor for a coarray DUMMY ARGUMENT
Definition: xmpco_alloc.c:574
int _XMPCO_transImage_current2initial(int image)
Definition: xmpco_lib.c:222
void _XMP_coarray_contiguous_get(const int, void *, const void *, const long, const long, const long, const long)
int _XMPCO_num_images_onNodes(_XMP_nodes_t *nodes)
Definition: xmpco_lib.c:90
structure for each malloc/free call Every memory chunk is linked both:
Definition: _xmpco_alloc.h:76
void _XMPCO_set_isEagerCommMode(BOOL sw)
Definition: xmpco_params.c:26
size_t _XMPCO_get_offsetInCoarray(CoarrayInfo_t *cinfo, char *addr)
Definition: xmpco_alloc.c:716
void _XMP_coarray_rdma_image_set_1(const int)
Set 1-dim image information.
Definition: xmp_coarray.c:942
void _XMPCO_set_corank(CoarrayInfo_t *cp, int corank)
Definition: xmpco_alloc.c:606
BOOL _XMPCO_isAddrInMemoryChunk(char *localAddr, CoarrayInfo_t *cinfo)
Definition: xmpco_alloc.c:747
int _XMPCO_get_currentNumImages(void)
Definition: xmpco_lib.c:143
void * _XMPCO_get_descForMemoryChunk(CoarrayInfo_t *cinfo)
Definition: xmpco_alloc.c:725
int _XMPCO_this_image_onNodes(_XMP_nodes_t *nodes)
Definition: xmpco_lib.c:95
void _XMPCO_set_isSafeBufferMode(BOOL sw)
Definition: xmpco_params.c:24
MEMORY MANAGEMENT STRUCTURE-II (for dynamic ALLOCATE/DEALLOCATE stmts.
Definition: _xmpco_alloc.h:111
int _XMPCO_get_currentThisImage(void)
Definition: xmpco_lib.c:153
size_t xmp_coarray_allocated_bytes(void)
Definition: xmpco_alloc.c:112
size_t _XMPCO_get_localBufSize(void)
Definition: xmpco_params.c:84
void _XMP_coarray_put(void *, void *, void *)
Definition: xmp_coarray.c:1160
void XMPCO_PUT_arrayStmt(CoarrayInfo_t *descPtr, char *baseAddr, int element, int coindex, char *rhsAddr, int rank, int skip[], int skip_rhs[], int count[], SyncMode sync_mode)
Definition: xmpco_put.c:189
_SyncMode
Definition: xmpco_internal.h:23
void _XMP_coarray_regmem(void **, void *)
Create coarray object but not allocate coarray.
Definition: xmp_coarray.c:359
char * _XMPCO_get_orgAddrOfMemoryChunk(CoarrayInfo_t *cinfo)
Definition: xmpco_alloc.c:730
Definition: xmp_data_struct.h:40
size_t _XMPCO_get_sizeOfCoarray(CoarrayInfo_t *cinfo)
Definition: xmpco_alloc.c:711
void _XMP_coarray_rdma_coarray_set_1(const long, const long, const long)
Set transfer 1-dim coarray information.
Definition: xmp_coarray.c:434
@ syncATOMIC
Definition: xmpco_internal.h:26
BOOL _XMPCO_get_isMsgMode(void)
Definition: xmpco_params.c:86
structure for each coarray variable One or more coarrays can be linked from a single memory chunk and...
Definition: _xmpco_alloc.h:92
void _XMPCO_reset_isMsgMode(void)
Definition: xmpco_params.c:74
unsigned long orgAddr
Definition: _xmpco_alloc.h:122
int _XMPCO_transImage_withComm(MPI_Comm comm1, int image1, MPI_Comm comm2)
Definition: xmpco_lib.c:190
void _XMPCO_set_imageDirNodes(_XMP_nodes_t *nodes)
Definition: xmpco_lib.c:277
void xmp_sync_image(int image, int *status)
Execute sync_image()
Definition: xmp_coarray.c:1455
BOOL _XMPCO_is_subset_exec(void)
Definition: xmpco_lib.c:176
@ syncNONBLOCK
Definition: xmpco_internal.h:24
CoarrayInfo_t * XMPCO_malloc_coarray(char **addr, int count, size_t element, ResourceSet_t *rset)
Definition: xmpco_alloc.c:159
void _XMPCO_set_codim_withBounds(CoarrayInfo_t *cp, int dim, int lb, int ub)
Definition: xmpco_alloc.c:618
void XMPCO_sync_all(void)
Definition: xmpco_sync.c:11
unsigned _XMPCO_get_poolThreshold(void)
Definition: xmpco_params.c:83
MPI_Comm _XMPCO_get_comm_fromCoarrayInfo(CoarrayInfo_t *cinfo)
Definition: xmpco_alloc.c:527