|
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 | |
| lpf_pid_t | p |
| lpf_pid_t | free_p |
| double(* | g )(lpf_pid_t p, size_t min_msg_size, lpf_sync_attr_t attr) |
| double(* | l )(lpf_pid_t p, size_t min_msg_size, lpf_sync_attr_t attr) |
A structure that describes the machine that is available to the program. This structure shall at least define the following members.
| lpf_pid_t lpf_machine_t::p |
Number of processors of all resources allocated to the LPF runtime. This number remains constant during the lifetime of the program.
| lpf_pid_t lpf_machine_t::free_p |
Number of free processors for use by lpf_exec().
By the semantics of lpf_exec, an SPMD section that was spawned using one call to lpf_exec, may, in turn, make a nested call to lpf_exec. This value, upon intermittent calls to lpf_probe, will thus be monotonically decreasing.
| double(* lpf_machine_t::g) (lpf_pid_t p, size_t min_msg_size, lpf_sync_attr_t attr) |
The message gap \( g \) of the BSP machine as number of seconds per byte. This value may depend on the actual number of processes p used, the minimum message size min_msg_size the user aims to send and receive, and the type of synchronisation requested via attr. The value is bitwise equivalent across all processes.
| [in] | p | A value between 1 and lpf_machine_t.p, where both bounds are inclusive. |
| [in] | min_msg_size | A byte size value that is larger or equal to 0. |
| [in] | attr | A lpf_sync_attr_t value. When in doubt, always use LPF_SYNC_DEFAULT. |
| double(* lpf_machine_t::l) (lpf_pid_t p, size_t min_msg_size, lpf_sync_attr_t attr) |
The latency \( l \) parameter of the BSP machine in number of seconds. This value may depend on the actual number of processes p used, the minimum message size min_msg_size the user aims to send and receive, and the type of synchronisation requested via attr. The value is bitwise equivalent across all processes.
| [in] | p | A value between 1 and lpf_machine_t.p, where both bounds are inclusive. |
| [in] | min_msg_size | A byte size value that is larger or equal to 0. |
| [in] | attr | A lpf_sync_attr_t value. When in doubt, always use LPF_SYNC_DEFAULT. |