Research Article

Adaptive Multiclient Network-on-Chip Memory Core: Hardware Architecture, Software Abstraction Layer, and Application Exploration

Table 1

MPI functitons used for accessing the adaptive memory core.

int MPI_Alloc_mem (MPI_Aint size, MPI_Info info, void *baseptr)
 MPI_Aint sizeSize of memory to be allocated in byte
 MPI_Info infoUsage depends on implementation; only the value 0 must be supported
 void* baseptrPointer to the allocated memory

int MPI_Put (void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,
      MPI Aint target_disp, int target_count, MPI Datatype_target datatype, MPI_Win win)
 origin_*Defines which data shall be sent to the target node
 target_*Defines where the data are to be sent: the node (by rank), in which local memory address (target_disp) and the amount of data
 winDefines the memory window on target

int MPI_Get (void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,
      MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win)
 origin_*Defines where the data which are read from target shall be stored
 target_*Defines which data shall be read: from which node (by rank), from which local memory address (target_disp), and the amount of data
 winDefines the memory window on target

int MPI_Free_mem(void *base)
 void *basePointer to the memory that was allocated with MPI_Alloc_mem