PPL Logo

libs/ck-libs/armci/armci.h File Reference

Go to the source code of this file.

Data Structures

struct  armci_giov_t

Typedefs

typedef int armci_hdl_t
typedef int armci_size_t
typedef int armci_domain_t

Functions

int ARMCI_Main_cpp (int argc, char **argv)
int ARMCI_Init (void)
int ARMCI_Finalize (void)
void ARMCI_Error (char *msg, int code)
void ARMCI_Cleanup (void)
int ARMCI_Procs (int *procs)
int ARMCI_Myid (int *myid)
int ARMCI_GetV (armci_giov_t darr[], int len, int proc)
int ARMCI_NbGetV (armci_giov_t *dsrc_arr, int arr_len, int proc, armci_hdl_t *handle)
int ARMCI_PutV (armci_giov_t darr[], int len, int proc)
int ARMCI_NbPutV (armci_giov_t *dsrc_arr, int arr_len, int proc, armci_hdl_t *handle)
int ARMCI_AccV (int op, void *scale, armci_giov_t darr[], int len, int proc)
int ARMCI_NbAccV (int datatype, void *scale, armci_giov_t *dsrc_arr, int arr_len, int proc, armci_hdl_t *handle)
int ARMCI_Put (void *src, void *dst, int bytes, int proc)
int ARMCI_NbPut (void *src, void *dst, int bytes, int proc, armci_hdl_t *handle)
int ARMCI_Get (void *src, void *dst, int bytes, int proc)
int ARMCI_NbGet (void *src, void *dst, int bytes, int proc, armci_hdl_t *handle)
int ARMCI_Acc (int datatype, void *scale, void *src, void *dst, int bytes, int proc)
int ARMCI_NbAcc (int datatype, void *scale, void *src, void *dst, int bytes, int proc, armci_hdl_t *handle)
int ARMCI_PutS (void *src_ptr, int src_stride_arr[], void *dst_ptr, int dst_stride_arr[], int count[], int stride_levels, int proc)
int ARMCI_NbPutS (void *src_ptr, int src_stride_arr[], void *dst_ptr, int dst_stride_arr[], int count[], int stride_levels, int proc, armci_hdl_t *handle)
int ARMCI_GetS (void *src_ptr, int src_stride_arr[], void *dst_ptr, int dst_stride_arr[], int count[], int stride_levels, int proc)
int ARMCI_NbGetS (void *src_ptr, int src_stride_ar[], void *dst_ptr, int dst_stride_ar[], int count[], int stride_levels, int proc, armci_hdl_t *handle)
int ARMCI_AccS (int optype, void *scale, void *src_ptr, int src_stride_arr[], void *dst_ptr, int dst_stride_arr[], int count[], int stride_levels, int proc)
int ARMCI_NbAccS (int datatype, void *scale, void *src_ptr, int src_stride_ar[], void *dst_ptr, int dst_stride_ar[], int count[], int stride_levels, int proc, armci_hdl_t *handle)
int ARMCI_PutValueLong (long src, void *dst, int proc)
int ARMCI_PutValueInt (int src, void *dst, int proc)
int ARMCI_PutValueFloat (float src, void *dst, int proc)
int ARMCI_PutValueDouble (double src, void *dst, int proc)
int ARMCI_NbPutValueLong (long src, void *dst, int proc, armci_hdl_t *handle)
int ARMCI_NbPutValueInt (int src, void *dst, int proc, armci_hdl_t *handle)
int ARMCI_NbPutValueFloat (float src, void *dst, int proc, armci_hdl_t *handle)
int ARMCI_NbPutValueDouble (double src, void *dst, int proc, armci_hdl_t *handle)
long ARMCI_GetValueLong (void *src, int proc)
int ARMCI_GetValueInt (void *src, int proc)
float ARMCI_GetValueFloat (void *src, int proc)
double ARMCI_GetValueDouble (void *src, int proc)
long ARMCI_NbGetValueLong (void *src, int proc, armci_hdl_t *handle)
int ARMCI_NbGetValueInt (void *src, int proc, armci_hdl_t *handle)
float ARMCI_NbGetValueFloat (void *src, int proc, armci_hdl_t *handle)
double ARMCI_NbGetValueDouble (void *src, int proc, armci_hdl_t *handle)
int ARMCI_Wait (armci_hdl_t *handle)
int ARMCI_WaitProc (int proc)
int ARMCI_WaitAll ()
int ARMCI_Test (armci_hdl_t *handle)
int ARMCI_Barrier ()
int ARMCI_Fence (int proc)
int ARMCI_AllFence (void)
int ARMCI_Malloc (void *ptr_arr[], int bytes)
int ARMCI_Free (void *ptr)
void * ARMCI_Malloc_local (int bytes)
int ARMCI_Free_local (void *ptr)
void ARMCI_SET_AGGREGATE_HANDLE (armci_hdl_t *handle)
void ARMCI_UNSET_AGGREGATE_HANDLE (armci_hdl_t *handle)
int ARMCI_Rmw (int op, int *ploc, int *prem, int extra, int proc)
int ARMCI_Create_mutexes (int num)
int ARMCI_Destroy_mutexes (void)
void ARMCI_Lock (int mutex, int proc)
void ARMCI_Unlock (int mutex, int proc)
int armci_notify (int proc)
int armci_notify_wait (int proc, int *pval)
void ARMCI_Migrate (void)
void ARMCI_Async_Migrate (void)
void ARMCI_Checkpoint (char *dirname)
void ARMCI_MemCheckpoint (void)
void armci_msg_brdcst (void *buffer, int len, int root)
void armci_msg_bcast (void *buffer, int len, int root)
void armci_msg_gop2 (void *x, int n, int type, char *op)
void armci_msg_igop (int *x, int n, char *op)
void armci_msg_lgop (CMK_TYPEDEF_INT8 *x, int n, char *op)
void armci_msg_fgop (float *x, int n, char *op)
void armci_msg_dgop (double *x, int n, char *op)
void armci_msg_barrier (void)
void armci_msg_reduce (void *x, int n, char *op, int type)
int armci_domain_nprocs (armci_domain_t domain, int id)
int armci_domain_count (armci_domain_t domain)
int armci_domain_id (armci_domain_t domain, int glob_proc_id)
int armci_domain_glob_proc_id (armci_domain_t domain, int id, int loc_proc_id)
int armci_domain_my_id (armci_domain_t domain)

Variables

int armci_nproc


Typedef Documentation

typedef int armci_hdl_t

Definition at line 66 of file armci.h.

typedef int armci_size_t

Definition at line 67 of file armci.h.

Definition at line 68 of file armci.h.


Function Documentation

int ARMCI_Main_cpp ( int  argc,
char **  argv 
)

Referenced by armciLibStart().

Here is the caller graph for this function:

int ARMCI_Init ( void   ) 

Definition at line 15 of file armci_api.C.

References TCharm::get(), TCharm::semaGet(), TCHARM_Attach_start(), and TCHARM_Element().

Here is the call graph for this function:

int ARMCI_Finalize ( void   ) 

Definition at line 30 of file armci_api.C.

References TCHARM_Done().

Here is the call graph for this function:

void ARMCI_Error ( char *  msg,
int  code 
)

Definition at line 40 of file armci_api.C.

References ckerr, and endl().

Here is the call graph for this function:

void ARMCI_Cleanup ( void   ) 

Definition at line 36 of file armci_api.C.

int ARMCI_Procs ( int procs  ) 

Definition at line 46 of file armci_api.C.

References TCHARM_Num_elements().

Here is the call graph for this function:

int ARMCI_Myid ( int myid  ) 

Definition at line 51 of file armci_api.C.

References TCHARM_Element().

Referenced by ArmciVirtualProcessor::msgBcast(), and ArmciVirtualProcessor::recvMsgBcast().

Here is the call graph for this function:

Here is the caller graph for this function:

int ARMCI_GetV ( armci_giov_t  darr[],
int  len,
int  proc 
)

Definition at line 57 of file armci_api.C.

int ARMCI_NbGetV ( armci_giov_t dsrc_arr,
int  arr_len,
int  proc,
armci_hdl_t handle 
)

Definition at line 65 of file armci_api.C.

int ARMCI_PutV ( armci_giov_t  darr[],
int  len,
int  proc 
)

Definition at line 74 of file armci_api.C.

int ARMCI_NbPutV ( armci_giov_t dsrc_arr,
int  arr_len,
int  proc,
armci_hdl_t handle 
)

Definition at line 82 of file armci_api.C.

int ARMCI_AccV ( int  op,
void *  scale,
armci_giov_t  darr[],
int  len,
int  proc 
)

Definition at line 91 of file armci_api.C.

int ARMCI_NbAccV ( int  datatype,
void *  scale,
armci_giov_t dsrc_arr,
int  arr_len,
int  proc,
armci_hdl_t handle 
)

Definition at line 101 of file armci_api.C.

int ARMCI_Put ( void *  src,
void *  dst,
int  bytes,
int  proc 
)

Definition at line 113 of file armci_api.C.

References ArmciVirtualProcessor::put().

Here is the call graph for this function:

int ARMCI_NbPut ( void *  src,
void *  dst,
int  bytes,
int  proc,
armci_hdl_t handle 
)

Definition at line 120 of file armci_api.C.

References ArmciVirtualProcessor::nbput(), and ArmciVirtualProcessor::nbput_implicit().

Here is the call graph for this function:

int ARMCI_Get ( void *  src,
void *  dst,
int  bytes,
int  proc 
)

Definition at line 132 of file armci_api.C.

References ArmciVirtualProcessor::get().

Here is the call graph for this function:

int ARMCI_NbGet ( void *  src,
void *  dst,
int  bytes,
int  proc,
armci_hdl_t handle 
)

Definition at line 139 of file armci_api.C.

References ArmciVirtualProcessor::nbget(), and ArmciVirtualProcessor::nbget_implicit().

Here is the call graph for this function:

int ARMCI_Acc ( int  datatype,
void *  scale,
void *  src,
void *  dst,
int  bytes,
int  proc 
)

Definition at line 150 of file armci_api.C.

int ARMCI_NbAcc ( int  datatype,
void *  scale,
void *  src,
void *  dst,
int  bytes,
int  proc,
armci_hdl_t handle 
)

Definition at line 154 of file armci_api.C.

int ARMCI_PutS ( void *  src_ptr,
int  src_stride_arr[],
void *  dst_ptr,
int  dst_stride_arr[],
int  count[],
int  stride_levels,
int  proc 
)

Definition at line 159 of file armci_api.C.

References ArmciVirtualProcessor::puts().

Here is the call graph for this function:

int ARMCI_NbPutS ( void *  src_ptr,
int  src_stride_arr[],
void *  dst_ptr,
int  dst_stride_arr[],
int  count[],
int  stride_levels,
int  proc,
armci_hdl_t handle 
)

Definition at line 168 of file armci_api.C.

References ArmciVirtualProcessor::nbputs(), and ArmciVirtualProcessor::nbputs_implicit().

Here is the call graph for this function:

int ARMCI_GetS ( void *  src_ptr,
int  src_stride_arr[],
void *  dst_ptr,
int  dst_stride_arr[],
int  count[],
int  stride_levels,
int  proc 
)

Definition at line 196 of file armci_api.C.

References ArmciVirtualProcessor::gets().

Here is the call graph for this function:

int ARMCI_NbGetS ( void *  src_ptr,
int  src_stride_ar[],
void *  dst_ptr,
int  dst_stride_ar[],
int  count[],
int  stride_levels,
int  proc,
armci_hdl_t handle 
)

Definition at line 212 of file armci_api.C.

References ArmciVirtualProcessor::nbgets(), and ArmciVirtualProcessor::nbgets_implicit().

Here is the call graph for this function:

int ARMCI_AccS ( int  optype,
void *  scale,
void *  src_ptr,
int  src_stride_arr[],
void *  dst_ptr,
int  dst_stride_arr[],
int  count[],
int  stride_levels,
int  proc 
)

Definition at line 240 of file armci_api.C.

int ARMCI_NbAccS ( int  datatype,
void *  scale,
void *  src_ptr,
int  src_stride_ar[],
void *  dst_ptr,
int  dst_stride_ar[],
int  count[],
int  stride_levels,
int  proc,
armci_hdl_t handle 
)

Definition at line 255 of file armci_api.C.

int ARMCI_PutValueLong ( long  src,
void *  dst,
int  proc 
)

Definition at line 276 of file armci_api.C.

int ARMCI_PutValueInt ( int  src,
void *  dst,
int  proc 
)

Definition at line 277 of file armci_api.C.

int ARMCI_PutValueFloat ( float  src,
void *  dst,
int  proc 
)

Definition at line 278 of file armci_api.C.

int ARMCI_PutValueDouble ( double  src,
void *  dst,
int  proc 
)

Definition at line 279 of file armci_api.C.

int ARMCI_NbPutValueLong ( long  src,
void *  dst,
int  proc,
armci_hdl_t handle 
)

Definition at line 280 of file armci_api.C.

int ARMCI_NbPutValueInt ( int  src,
void *  dst,
int  proc,
armci_hdl_t handle 
)

Definition at line 281 of file armci_api.C.

int ARMCI_NbPutValueFloat ( float  src,
void *  dst,
int  proc,
armci_hdl_t handle 
)

Definition at line 282 of file armci_api.C.

int ARMCI_NbPutValueDouble ( double  src,
void *  dst,
int  proc,
armci_hdl_t handle 
)

Definition at line 283 of file armci_api.C.

long ARMCI_GetValueLong ( void *  src,
int  proc 
)

Definition at line 284 of file armci_api.C.

int ARMCI_GetValueInt ( void *  src,
int  proc 
)

Definition at line 285 of file armci_api.C.

float ARMCI_GetValueFloat ( void *  src,
int  proc 
)

Definition at line 286 of file armci_api.C.

double ARMCI_GetValueDouble ( void *  src,
int  proc 
)

Definition at line 287 of file armci_api.C.

long ARMCI_NbGetValueLong ( void *  src,
int  proc,
armci_hdl_t handle 
)

Definition at line 288 of file armci_api.C.

int ARMCI_NbGetValueInt ( void *  src,
int  proc,
armci_hdl_t handle 
)

Definition at line 289 of file armci_api.C.

float ARMCI_NbGetValueFloat ( void *  src,
int  proc,
armci_hdl_t handle 
)

Definition at line 290 of file armci_api.C.

double ARMCI_NbGetValueDouble ( void *  src,
int  proc,
armci_hdl_t handle 
)

Definition at line 291 of file armci_api.C.

int ARMCI_Wait ( armci_hdl_t handle  ) 

Definition at line 294 of file armci_api.C.

References CmiAbort(), and ArmciVirtualProcessor::wait().

Here is the call graph for this function:

int ARMCI_WaitProc ( int  proc  ) 

Definition at line 305 of file armci_api.C.

References ArmciVirtualProcessor::waitproc().

Here is the call graph for this function:

int ARMCI_WaitAll (  ) 

Definition at line 312 of file armci_api.C.

References ArmciVirtualProcessor::waitall().

Here is the call graph for this function:

int ARMCI_Test ( armci_hdl_t handle  ) 

Definition at line 319 of file armci_api.C.

References ArmciVirtualProcessor::test().

Here is the call graph for this function:

int ARMCI_Barrier (  ) 

Definition at line 328 of file armci_api.C.

References ArmciVirtualProcessor::barrier().

Referenced by ARMCI_Checkpoint(), and ARMCI_MemCheckpoint().

Here is the call graph for this function:

Here is the caller graph for this function:

int ARMCI_Fence ( int  proc  ) 

Definition at line 336 of file armci_api.C.

References ArmciVirtualProcessor::fence().

Here is the call graph for this function:

int ARMCI_AllFence ( void   ) 

Definition at line 343 of file armci_api.C.

References ArmciVirtualProcessor::allfence().

Here is the call graph for this function:

int ARMCI_Malloc ( void *  ptr_arr[],
int  bytes 
)

Definition at line 354 of file armci_api.C.

References ArmciVirtualProcessor::BlockMalloc(), and ArmciVirtualProcessor::requestAddresses().

Here is the call graph for this function:

int ARMCI_Free ( void *  ptr  ) 

Definition at line 367 of file armci_api.C.

References CmiIsomallocBlockListFree().

Here is the call graph for this function:

void* ARMCI_Malloc_local ( int  bytes  ) 

Definition at line 373 of file armci_api.C.

References ArmciVirtualProcessor::BlockMalloc().

Here is the call graph for this function:

int ARMCI_Free_local ( void *  ptr  ) 

Definition at line 381 of file armci_api.C.

References CmiIsomallocBlockListFree().

Here is the call graph for this function:

void ARMCI_SET_AGGREGATE_HANDLE ( armci_hdl_t handle  ) 

Definition at line 388 of file armci_api.C.

void ARMCI_UNSET_AGGREGATE_HANDLE ( armci_hdl_t handle  ) 

Definition at line 389 of file armci_api.C.

int ARMCI_Rmw ( int  op,
int ploc,
int prem,
int  extra,
int  proc 
)

Definition at line 391 of file armci_api.C.

int ARMCI_Create_mutexes ( int  num  ) 

Definition at line 395 of file armci_api.C.

int ARMCI_Destroy_mutexes ( void   ) 

Definition at line 398 of file armci_api.C.

void ARMCI_Lock ( int  mutex,
int  proc 
)

Definition at line 401 of file armci_api.C.

void ARMCI_Unlock ( int  mutex,
int  proc 
)

Definition at line 403 of file armci_api.C.

int armci_notify ( int  proc  ) 

Definition at line 406 of file armci_api.C.

References ArmciVirtualProcessor::notify().

Here is the call graph for this function:

int armci_notify_wait ( int  proc,
int pval 
)

Definition at line 413 of file armci_api.C.

References ArmciVirtualProcessor::notify_wait().

Here is the call graph for this function:

void ARMCI_Migrate ( void   ) 

Definition at line 500 of file armci_api.C.

References TCHARM_Migrate().

Here is the call graph for this function:

void ARMCI_Async_Migrate ( void   ) 

Definition at line 504 of file armci_api.C.

References TCHARM_Async_Migrate().

Here is the call graph for this function:

void ARMCI_Checkpoint ( char *  dirname  ) 

Definition at line 508 of file armci_api.C.

References ARMCI_Barrier(), and ArmciVirtualProcessor::startCheckpoint().

Here is the call graph for this function:

void ARMCI_MemCheckpoint ( void   ) 

Definition at line 514 of file armci_api.C.

References ARMCI_Barrier(), and ArmciVirtualProcessor::startCheckpoint().

Here is the call graph for this function:

void armci_msg_brdcst ( void *  buffer,
int  len,
int  root 
)

Definition at line 422 of file armci_api.C.

References armci_msg_bcast().

Here is the call graph for this function:

void armci_msg_bcast ( void *  buffer,
int  len,
int  root 
)

Definition at line 426 of file armci_api.C.

References ArmciVirtualProcessor::msgBcast().

Referenced by armci_msg_brdcst().

Here is the call graph for this function:

Here is the caller graph for this function:

void armci_msg_gop2 ( void *  x,
int  n,
int  type,
char *  op 
)

Definition at line 433 of file armci_api.C.

void armci_msg_igop ( int x,
int  n,
char *  op 
)

Definition at line 436 of file armci_api.C.

References ArmciVirtualProcessor::msgGop().

Here is the call graph for this function:

void armci_msg_lgop ( CMK_TYPEDEF_INT8 x,
int  n,
char *  op 
)

void armci_msg_fgop ( float x,
int  n,
char *  op 
)

Definition at line 456 of file armci_api.C.

References ArmciVirtualProcessor::msgGop().

Here is the call graph for this function:

void armci_msg_dgop ( double *  x,
int  n,
char *  op 
)

Definition at line 462 of file armci_api.C.

References ArmciVirtualProcessor::msgGop().

Here is the call graph for this function:

void armci_msg_barrier ( void   ) 

Definition at line 468 of file armci_api.C.

void armci_msg_reduce ( void *  x,
int  n,
char *  op,
int  type 
)

Definition at line 471 of file armci_api.C.

int armci_domain_nprocs ( armci_domain_t  domain,
int  id 
)

Definition at line 476 of file armci_api.C.

int armci_domain_count ( armci_domain_t  domain  ) 

Definition at line 480 of file armci_api.C.

int armci_domain_id ( armci_domain_t  domain,
int  glob_proc_id 
)

Definition at line 484 of file armci_api.C.

int armci_domain_glob_proc_id ( armci_domain_t  domain,
int  id,
int  loc_proc_id 
)

Definition at line 488 of file armci_api.C.

int armci_domain_my_id ( armci_domain_t  domain  ) 

Definition at line 493 of file armci_api.C.


Variable Documentation


Generated on Mon Sep 21 08:06:45 2020 for Charm++ by  doxygen 1.5.5