Lightweight Parallel Foundations 1.0.1-alpha 2023-06-26T11:02:34Z
A high performance and model-compliant communication layer
Typedefs | Enumerations | Functions
bsplib.h File Reference
#include <lpf/core.h>
Include dependency graph for bsplib.h:

Go to the source code of this file.

Typedefs

typedef struct BSPlib * bsplib_t
 

Enumerations

enum  bsplib_err_t {
  BSPLIB_SUCCESS , BSPLIB_ERR_OUT_OF_MEMORY , BSPLIB_ERR_MEMORY_NOT_REGISTERED , BSPLIB_ERR_PUSHREG_MISMATCH ,
  BSPLIB_ERR_POPREG_MISMATCH , BSPLIB_ERR_TAGSIZE_MISMATCH , BSPLIB_ERR_NULL_POINTER , BSPLIB_ERR_PID_OUT_OF_RANGE ,
  BSPLIB_ERR_MEMORY_ACCESS_OUT_OF_RANGE , BSPLIB_ERR_EMPTY_MESSAGE_QUEUE , BSPLIB_ERR_FATAL
}
 

Functions

bsplib_err_t bsplib_create (lpf_t ctx, lpf_pid_t pid, lpf_pid_t nprocs, int safemode, size_t max_hp_regs, bsplib_t *bsplib)
 
bsplib_err_t bsplib_destroy (bsplib_t bsplib)
 
double bsplib_time (bsplib_t bsplib)
 
lpf_pid_t bsplib_nprocs (bsplib_t bsplib)
 
lpf_pid_t bsplib_pid (bsplib_t bsplib)
 
bsplib_err_t bsplib_sync (bsplib_t bsplib)
 
bsplib_err_t bsplib_push_reg (bsplib_t bsplib, const void *ident, size_t size)
 
bsplib_err_t bsplib_pop_reg (bsplib_t bsplib, const void *ident)
 
bsplib_err_t bsplib_put (bsplib_t bsplib, lpf_pid_t dst_pid, const void *src, void *dst, size_t offset, size_t nbytes)
 
bsplib_err_t bsplib_hpput (bsplib_t bsplib, lpf_pid_t dst_pid, const void *src, void *dst, size_t offset, size_t nbytes)
 
bsplib_err_t bsplib_get (bsplib_t bsplib, lpf_pid_t src_pid, const void *src, size_t offset, void *dst, size_t nbytes)
 
bsplib_err_t bsplib_hpget (bsplib_t bsplib, lpf_pid_t src_pid, const void *src, size_t offset, void *dst, size_t nbytes)
 
size_t bsplib_set_tagsize (bsplib_t bsplib, size_t tagsize)
 
bsplib_err_t bsplib_send (bsplib_t bsplib, lpf_pid_t dst_pid, const void *tag, const void *payload, size_t nbytes)
 
bsplib_err_t bsplib_hpsend (bsplib_t bsplib, lpf_pid_t dst_pid, const void *tag, const void *payload, size_t nbytes)
 
bsplib_err_t bsplib_qsize (bsplib_t bsplib, size_t *nmessages, size_t *accum_bytes)
 
bsplib_err_t bsplib_get_tag (bsplib_t bsplib, size_t *status, void *tag)
 
bsplib_err_t bsplib_move (bsplib_t bsplib, void *payload, size_t reception_bytes)
 
size_t bsplib_hpmove (bsplib_t bsplib, const void **tag_ptr, const void **payload_ptr)