|
Lightweight Parallel Foundations 1.0.1-alpha 2023-06-26T11:02:34Z
A high performance and model-compliant communication layer
|
#include <core.h>
Public Attributes | |
| const void * | input |
| size_t | input_size |
| void * | output |
| size_t | output_size |
| const lpf_func_t * | f_symbols |
| size_t | f_size |
Parameters that an SPMD process takes as input and output.
The input and output fields, as are the corresponding array length fields input_size and output_size, are
The f_symbols array of length f_size is also set by the user and passed to LPF as an argument of lpf_exec or lpf_hook. The symbols, however, are valid on all processes within an SPMD section. On distributed-memory architectures, the pointers on the different processes need not be equal; in that case, LPF ensures that the pointers on all processes with PID larger than zero point to the same function symbol as they do on PID 0.
| const void* lpf_args_t::input |
A pointer to a readable block of memory of size input_size
| size_t lpf_args_t::input_size |
The size of the memory block pointed to by input.
| void* lpf_args_t::output |
A pointer to a writeable block of memory of size input_size
| size_t lpf_args_t::output_size |
The size of the memory block pointed to by output.
| const lpf_func_t* lpf_args_t::f_symbols |
An array of pointers to function symbols.
| size_t lpf_args_t::f_size |
The number of symbols in f_symbols.