|
Data Structures |
struct | IC_Program |
struct | decomp_TREE |
struct | IC_Desc |
struct | IC_Region |
struct | IC_Sched |
struct | IC_XJDComp_node |
struct | IC_XJDRgn_node |
struct | IC_XJD |
Typedefs |
typedef decomp_TREE | IC_Tree |
typedef IC_XJDComp_node | IC_XJDComponent |
typedef IC_XJDRgn_node | IC_XJDRegion |
Enumerations |
enum | { IC_ROW_MAJOR = 0,
IC_COLUMN_MAJOR = 1
} |
Functions |
IC_Program * | IC_Init (char *name, int tasks, int rank) |
IC_Program * | IC_Wait (char *name, int tasks) |
int | IC_Sync (IC_Program *myprog, IC_Program *prog) |
IC_Desc * | IC_Create_bdecomp_desc (int ndims, int *blocks, int *tasks, int count, int arrayOrder) |
IC_Desc * | IC_Create_ttable_desc (int *globals, int *locals, int *tasks, int count) |
IC_Tree * | IC_Create_bdecomp_tree () |
void | IC_Section (IC_Tree *root, int dim, int count, int *indices) |
void | IC_Partition (IC_Tree *root, int dim, int *block, int count, int *indices) |
IC_Desc * | IC_Verify_bdecomp_tree (IC_Tree *root, int ndims, int *size, int *tasks, int count, int arrayOrder) |
IC_Region * | IC_Create_block_region (int ndims, int *lower, int *upper, int *stride) |
IC_Region * | IC_Create_enum_region (int *indices, int count) |
IC_Sched * | IC_Compute_schedule (IC_Program *myprog, IC_Program *prog, IC_Desc *desc, IC_Region **region_set, int set_size) |
int | IC_Send_TYPE (IC_Program *to, IC_Sched *sched, TYPE *data, int tag) |
int | IC_Recv_TYPE (IC_Program *from, IC_Sched *sched, TYPE *data, int tag) |
void | IC_Free_sched (IC_Sched *sched) |
void | IC_Free_region (IC_Region *region) |
void | IC_Free_desc (IC_Desc *desc) |
void | IC_Free_program (IC_Program *prog) |
void | IC_Quit (IC_Program *myprog) |
void | IC_Print_error (char *msg) |
IC_XJD * | IC_Initialize (char *pName, int rank, char *xjdname, int *status) |
void | IC_Register_region (IC_XJD *xjd, IC_Region **rgnset, int set_size, char *set_name, IC_Desc *desc, void *local_data, int *status) |
void | IC_Commit_region (IC_XJD *xjd, int *status) |
int | IC_Export (IC_XJD *xjd, char *rgnset_name) |
int | IC_Import (IC_XJD *xjd, char *rgnset_name) |
int | IC_Bcast_local_TYPE (IC_Program *to, TYPE *data, int nelems, int tag) |
int | IC_Recv_local_TYPE (IC_Program *from, TYPE *data, int nelems, int tag) |
int | IC_Bcast_local (IC_XJD *xjd, char *rgnset_name, void *data, int nelems) |
int | IC_Recv_local (IC_XJD *xjd, char *rgnset_name, void *data, int nelems) |
void | IC_Finalize (IC_XJD *xjd, int *icsts) |
|
Broadcast a local array into all processes in other program. There is a broadcast call for each C TYPE (char, short, int, float, double).
- int IC_Bcast_local_char(IC_Program* to, char* data, int nelems, int tag)
- int IC_Bcast_local_short(IC_Program* to, short* data, int nelems, int tagt)
- int IC_Bcast_local_int(IC_Program* to, int* data, int nelems, int tag)
- int IC_Bcast_local_float(IC_Program* to, float* data, int nelems, int tag)
- int IC_Bcast_local_double(IC_Program* to, double* data, int nelems, int tag)
- Parameters:
-
| to | the receiving program |
| data | the array to broadcast |
| nelems | the number of elemens in the data |
| tag | a message tag |
- Returns:
- status
|
|
Receive an array broadcasted from rank-0 process of other program. There is a receive call for each C TYPE (char, short, int, float, double).
- int IC_Recv_local_char(IC_Program* from, char* data, int nelems, int tag)
- int IC_Recv_local_short(IC_Program* from, short* data, int nelems, int tag)
- int IC_Recv_local_int(IC_Program* from, int* data, int nelems, int tag)
- int IC_Recv_local_float(IC_Program* from, float* data, int nelems, int tag)
- int IC_Recv_local_double(IC_Program* from, double* data, int nelems, int tag)
- Parameters:
-
| from | the receiving program |
| data | the array to broadcast |
| nelems | the number of elemens in the data |
| tag | a message tag |
- Returns:
- status
|
|
Receive a region from a program. There is a receive call for each C TYPE (char, short, int, long, float, double).
- int IC_Recv_char(IC_Program* from, IC_Sched* sched, char* data, int tag)
- int IC_Recv_short(IC_Program* from, IC_Sched* sched, short* data, int tag)
- int IC_Recv_int(IC_Program* from, IC_Sched* sched, int* data, int tag)
- int IC_Recv_long(IC_Program* from, IC_Sched* sched, long* data, int tag)
- int IC_Recv_float(IC_Program* from, IC_Sched* sched, float* data, int tag)
- int IC_Recv_double(IC_Program* from, IC_Sched* sched, double* data, int tag)
- Parameters:
-
| from | the sending program |
| sched | the communication schedule |
| data | the local portion of the global array |
| tag | a message tag |
- Returns:
- status
|
|
Send a region to another program. There is a send call for each C TYPE (char, short, int, long, float, double).
- int IC_Send_char(IC_Program* to, IC_Sched* sched, char* data, int tag)
- int IC_Send_short(IC_Program* to, IC_Sched* sched, short* data, int tag)
- int IC_Send_int(IC_Program* to, IC_Sched* sched, int* data, int tag)
- int IC_Send_long(IC_Program* to, IC_Sched* sched, long* data, int tag)
- int IC_Send_float(IC_Program* to, IC_Sched* sched, float* data, int tag)
- int IC_Send_double(IC_Program* to, IC_Sched* sched, double* data, int tag)
- Parameters:
-
| to | the receiving program |
| sched | the communication schedule |
| data | the local portion of the global array |
| tag | a message tag |
- Returns:
- status
|