File wamr/mpi.cpp
Defines
-
MPI_FUNC(str)
-
MPI_FUNC_ARGS(formatStr, ...)
-
CALL_MPI_WORLD_CATCH_EXCEPTION(retval, call)
-
CALL_MPI_WORLD_CATCH_EXCEPTION_NO_RETURN(call)
-
namespace wasm
SYSCALL NUMBERING
Have a look in the sysroot at include/bits/syscall.h to determine the system call numbering.
Functions
-
uint32_t getFaasmMpiApi(NativeSymbol **nativeSymbols)
-
static MpiWorld &getExecutingWorld()
-
static int terminateMpi()
-
static int32_t MPI_Abort_wrapper(wasm_exec_env_t execEnv, int32_t a, int32_t b)
-
static int32_t MPI_Allgather_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t sendCount, int32_t *sendType, int32_t *recvBuf, int32_t recvCount, int32_t *recvType, int32_t *comm)
-
static int32_t MPI_Allgatherv_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t sendCount, int32_t *sendType, int32_t *recvBuf, int32_t recvCount, int32_t dspls, int32_t *recvType, int32_t *comm)
-
static int32_t MPI_Allreduce_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t *recvBuf, int32_t count, int32_t *datatype, int32_t *op, int32_t *comm)
-
static int32_t MPI_Alltoall_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t sendCount, int32_t *sendType, int32_t *recvBuf, int32_t recvCount, int32_t *recvType, int32_t *comm)
-
static int32_t MPI_Alltoallv_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t sendCount, int32_t sdispls, int32_t *sendType, int32_t *recvBuf, int32_t recvCount, int32_t rdispls, int32_t *recvType, int32_t *comm)
-
static int32_t MPI_Barrier_wrapper(wasm_exec_env_t execEnv, int32_t *comm)
-
static int32_t MPI_Bcast_wrapper(wasm_exec_env_t execEnv, int32_t *buffer, int32_t count, int32_t *datatype, int32_t root, int32_t *comm)
-
static int32_t MPI_Cart_create_wrapper(wasm_exec_env_t execEnv, int32_t *oldCommPtrPtr, int32_t ndims, int32_t dims, int32_t periods, int32_t reorder, int32_t *newCommPtrPtr)
-
static int32_t MPI_Cart_get_wrapper(wasm_exec_env_t execEnv, int32_t *comm, int32_t maxdims, int32_t *dims, int32_t *periods, int32_t *coords)
-
static int32_t MPI_Cart_rank_wrapper(wasm_exec_env_t execEnv, int32_t *comm, int32_t *coords, int32_t *rank)
-
static int32_t MPI_Cart_shift_wrapper(wasm_exec_env_t execEnv, int32_t *comm, int32_t direction, int32_t disp, int32_t *sourceRank, int32_t *destRank)
-
static int32_t MPI_Comm_dup_wrapper(wasm_exec_env_t execEnv, int32_t *comm, int32_t *newComm)
-
static int32_t MPI_Comm_free_wrapper(wasm_exec_env_t execEnv, int32_t *comm)
-
static int32_t MPI_Comm_rank_wrapper(wasm_exec_env_t execEnv, int32_t *comm, int32_t *resPtr)
-
static int32_t MPI_Comm_size_wrapper(wasm_exec_env_t execEnv, int32_t *comm, int32_t *resPtr)
-
static int32_t MPI_Comm_split_wrapper(wasm_exec_env_t execEnv, int32_t *comm, int32_t color, int32_t key, int32_t *newComm)
-
static int32_t MPI_Finalize_wrapper(wasm_exec_env_t execEnv)
-
static int32_t MPI_Gather_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t sendCount, int32_t *sendType, int32_t *recvBuf, int32_t recvCount, int32_t *recvType, int32_t root, int32_t *comm)
-
static int32_t MPI_Get_count_wrapper(wasm_exec_env_t execEnv, int32_t *statusPtr, int32_t *datatype, int32_t *countPtr)
-
static int32_t MPI_Get_processor_name_wrapper(wasm_exec_env_t execEnv, int32_t *buf, int32_t bufLen)
-
static int32_t MPI_Get_version_wrapper(wasm_exec_env_t execEnv, int32_t *version, int32_t *subVersion)
-
static int32_t MPI_Init_wrapper(wasm_exec_env_t execEnv, int32_t a, int32_t b)
-
static int32_t MPI_Irecv_wrapper(wasm_exec_env_t execEnv, int32_t *buffer, int32_t count, int32_t *datatype, int32_t sourceRank, int32_t tag, int32_t *comm, int32_t *requestPtrPtr)
-
static int32_t MPI_Isend_wrapper(wasm_exec_env_t execEnv, int32_t *buffer, int32_t count, int32_t *datatype, int32_t destRank, int32_t tag, int32_t *comm, int32_t *requestPtrPtr)
-
static int32_t MPI_Op_create_wrapper(wasm_exec_env_t execEnv, int32_t *userFn, int32_t commute, int32_t op)
-
static int32_t MPI_Op_free_wrapper(wasm_exec_env_t execEnv, int32_t *op)
-
static int32_t MPI_Probe_wrapper(wasm_exec_env_t execEnv, int32_t source, int32_t tag, int32_t *comm, int32_t *statusPtr)
-
static int32_t MPI_Recv_wrapper(wasm_exec_env_t execEnv, int32_t *buffer, int32_t count, int32_t *datatype, int32_t sourceRank, int32_t tag, int32_t *comm, int32_t *statusPtr)
-
static int32_t MPI_Reduce_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t *recvBuf, int32_t count, int32_t *datatype, int32_t *op, int32_t root, int32_t *comm)
-
static int32_t MPI_Reduce_scatter_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t *recvBuf, int32_t recvCount, int32_t *datatype, int32_t *op, int32_t *comm)
-
static int32_t MPI_Request_free_wrapper(wasm_exec_env_t execEnv, int32_t *requestPtr)
-
static int32_t MPI_Rsend_wrapper(wasm_exec_env_t execEnv, int32_t *buffer, int32_t count, int32_t *datatype, int32_t destRank, int32_t tag, int32_t *comm)
-
static int32_t MPI_Scan_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t *recvBuf, int32_t count, int32_t *datatype, int32_t *op, int32_t *comm)
-
static int32_t MPI_Scatter_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t sendCount, int32_t *sendType, int32_t *recvBuf, int32_t recvCount, int32_t *recvType, int32_t root, int32_t *comm)
-
static int32_t MPI_Send_wrapper(wasm_exec_env_t execEnv, int32_t *buffer, int32_t count, int32_t *datatype, int32_t destRank, int32_t tag, int32_t *comm)
-
static int32_t MPI_Sendrecv_wrapper(wasm_exec_env_t execEnv, int32_t *sendBuf, int32_t sendCount, int32_t *sendType, int32_t destination, int32_t sendTag, int32_t *recvBuf, int32_t recvCount, int32_t *recvType, int32_t source, int32_t recvTag, int32_t *comm, int32_t *statusPtr)
-
static int32_t MPI_Type_commit_wrapper(wasm_exec_env_t execEnv, int32_t *datatypePtrPtr)
-
static int32_t MPI_Type_contiguous_wrapper(wasm_exec_env_t execEnv, int32_t count, int32_t *oldDataTypePtr, int32_t *newDataTypePtr)
-
static int32_t MPI_Type_free_wrapper(wasm_exec_env_t execEnv, int32_t *datatype)
-
static int32_t MPI_Type_size_wrapper(wasm_exec_env_t execEnv, int32_t *typePtr, int32_t *res)
-
static int32_t MPI_Wait_wrapper(wasm_exec_env_t execEnv, int32_t *requestPtrPtr, int32_t status)
-
static int32_t MPI_Waitall_wrapper(wasm_exec_env_t execEnv, int32_t count, int32_t *requestArray, int32_t *statusArray)
-
static int32_t MPI_Waitany_wrapper(wasm_exec_env_t execEnv, int32_t count, int32_t *requestArray, int32_t idx, int32_t *status)
-
static double MPI_Wtime_wrapper()
Variables
-
static thread_local MpiContext executingContext
-
static thread_local std::unique_ptr<WamrMpiContextWrapper> ctx = nullptr
-
static NativeSymbol ns[]
-
class WamrMpiContextWrapper
Convenience wrapper around the MPI context for use in the syscalls in this file.
Public Functions
-
inline explicit WamrMpiContextWrapper()
-
inline void checkMpiComm(int32_t *wasmPtr) const
-
inline faabric_datatype_t *getFaasmDataType(int32_t *wasmPtr) const
-
inline void writeFaasmRequestId(int32_t *requestPtrPtr, int32_t requestId) const
-
inline int32_t getFaasmRequestId(int32_t *requestPtrPtr) const
-
inline bool isInPlace(int32_t *wasmPtr) const
-
inline faabric_op_t *getFaasmOp(int32_t *wasmPtr) const
-
template<typename T>
inline void writeMpiResult(int32_t *resPtr, T result)
-
inline explicit WamrMpiContextWrapper()
-
uint32_t getFaasmMpiApi(NativeSymbol **nativeSymbols)