Lightweight Parallel Foundations 1.0.1-alpha 2023-06-26T11:02:34Z
A high performance and model-compliant communication layer
Typedefs | Enumerations | Functions
Collaboration diagram for BSPlib-like API:

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)
 

Detailed Description

Typedef Documentation

◆ bsplib_t

typedef struct BSPlib* bsplib_t

Enumeration Type Documentation

◆ bsplib_err_t

Enumerator
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 

Function Documentation

◆ bsplib_create()

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_destroy()

bsplib_err_t bsplib_destroy ( bsplib_t  bsplib)

◆ bsplib_time()

double bsplib_time ( bsplib_t  bsplib)

◆ bsplib_nprocs()

lpf_pid_t bsplib_nprocs ( bsplib_t  bsplib)

◆ bsplib_pid()

lpf_pid_t bsplib_pid ( bsplib_t  bsplib)

◆ bsplib_sync()

bsplib_err_t bsplib_sync ( bsplib_t  bsplib)

◆ bsplib_push_reg()

bsplib_err_t bsplib_push_reg ( bsplib_t  bsplib,
const void *  ident,
size_t  size 
)

◆ bsplib_pop_reg()

bsplib_err_t bsplib_pop_reg ( bsplib_t  bsplib,
const void *  ident 
)

◆ bsplib_put()

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_hpput()

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_get()

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_hpget()

bsplib_err_t bsplib_hpget ( bsplib_t  bsplib,
lpf_pid_t  src_pid,
const void *  src,
size_t  offset,
void *  dst,
size_t  nbytes 
)

◆ bsplib_set_tagsize()

size_t bsplib_set_tagsize ( bsplib_t  bsplib,
size_t  tagsize 
)

◆ bsplib_send()

bsplib_err_t bsplib_send ( bsplib_t  bsplib,
lpf_pid_t  dst_pid,
const void *  tag,
const void *  payload,
size_t  nbytes 
)

◆ bsplib_hpsend()

bsplib_err_t bsplib_hpsend ( bsplib_t  bsplib,
lpf_pid_t  dst_pid,
const void *  tag,
const void *  payload,
size_t  nbytes 
)

◆ bsplib_qsize()

bsplib_err_t bsplib_qsize ( bsplib_t  bsplib,
size_t *  nmessages,
size_t *  accum_bytes 
)

◆ bsplib_get_tag()

bsplib_err_t bsplib_get_tag ( bsplib_t  bsplib,
size_t *  status,
void *  tag 
)

◆ bsplib_move()

bsplib_err_t bsplib_move ( bsplib_t  bsplib,
void *  payload,
size_t  reception_bytes 
)

◆ bsplib_hpmove()

size_t bsplib_hpmove ( bsplib_t  bsplib,
const void **  tag_ptr,
const void **  payload_ptr 
)