Lightweight Parallel Foundations 1.0.1-alpha 2023-06-26T11:02:34Z
A high performance and model-compliant communication layer
Public Attributes | List of all members
lpf_args_t Struct Reference

#include <core.h>

Public Attributes

const void * input
 
size_t input_size
 
void * output
 
size_t output_size
 
const lpf_func_tf_symbols
 
size_t f_size
 

Detailed Description

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.

Communication
Objects of this type must never be communicated.

Member Data Documentation

◆ input

const void* lpf_args_t::input

A pointer to a readable block of memory of size input_size

◆ input_size

size_t lpf_args_t::input_size

The size of the memory block pointed to by input.

◆ output

void* lpf_args_t::output

A pointer to a writeable block of memory of size input_size

◆ output_size

size_t lpf_args_t::output_size

The size of the memory block pointed to by output.

◆ f_symbols

const lpf_func_t* lpf_args_t::f_symbols

An array of pointers to function symbols.

◆ f_size

size_t lpf_args_t::f_size

The number of symbols in f_symbols.


The documentation for this struct was generated from the following file: