18#ifndef _H_LPF_COLLECTIVES
19#define _H_LPF_COLLECTIVES
26#define restrict __restrict__
43#define _LPF_COLLECTIVES_VERSION 201500L
46typedef struct lpf_coll {
84typedef void (*
lpf_reducer_t) (
size_t n,
const void * array,
void * value);
169 size_t max_elem_size,
170 size_t max_byte_size,
259 size_t max_elem_size,
260 size_t max_byte_size,
747 void * restrict element,
814 void * restrict element,
892 void * restrict array,
969 void * restrict array,
lpf_err_t lpf_scatter(lpf_coll_t coll, lpf_memslot_t src, lpf_memslot_t dst, size_t size, lpf_pid_t root)
lpf_err_t lpf_collectives_init(lpf_t ctx, lpf_pid_t s, lpf_pid_t p, size_t max_calls, size_t max_elem_size, size_t max_byte_size, lpf_coll_t *coll)
lpf_err_t lpf_reduce(lpf_coll_t coll, void *restrict element, lpf_memslot_t element_slot, size_t size, lpf_reducer_t reducer, lpf_pid_t root)
const lpf_coll_t LPF_INVALID_COLL
lpf_err_t lpf_alltoall(lpf_coll_t coll, lpf_memslot_t src, lpf_memslot_t dst, size_t size)
lpf_err_t lpf_allcombine(lpf_coll_t coll, void *restrict array, lpf_memslot_t slot, size_t num, size_t size, lpf_combiner_t combiner)
lpf_err_t lpf_gather(lpf_coll_t coll, lpf_memslot_t src, lpf_memslot_t dst, size_t size, lpf_pid_t root)
lpf_err_t lpf_allreduce(lpf_coll_t coll, void *restrict element, lpf_memslot_t element_slot, size_t size, lpf_reducer_t reducer)
void(* lpf_combiner_t)(size_t n, const void *combine, void *into)
Definition: collectives.h:111
lpf_err_t lpf_broadcast(lpf_coll_t coll, lpf_memslot_t src, lpf_memslot_t dst, size_t size, lpf_pid_t root)
lpf_err_t lpf_allgather(lpf_coll_t coll, lpf_memslot_t src, lpf_memslot_t dst, size_t size, bool exclude_myself)
lpf_err_t lpf_collectives_init_strided(lpf_t ctx, lpf_pid_t s, lpf_pid_t p, lpf_pid_t lo, lpf_pid_t hi, lpf_pid_t str, size_t max_calls, size_t max_elem_size, size_t max_byte_size, lpf_coll_t *coll)
lpf_err_t lpf_collectives_destroy(lpf_coll_t coll)
lpf_err_t lpf_combine(lpf_coll_t coll, void *restrict array, lpf_memslot_t slot, size_t num, size_t size, lpf_combiner_t combiner, lpf_pid_t root)
lpf_t lpf_collectives_get_context(lpf_coll_t coll)
void(* lpf_reducer_t)(size_t n, const void *array, void *value)
Definition: collectives.h:84
typedef lpf_memslot_t
Definition: core.h:1042
void * lpf_t
Definition: core.h:775
typedef lpf_pid_t
Definition: core.h:786
typedef lpf_err_t
Definition: core.h:871
Definition: collectives.h:46
lpf_pid_t * inv_translate
Definition: collectives.h:51
lpf_pid_t P
Definition: collectives.h:63
lpf_pid_t s
Definition: collectives.h:66
lpf_pid_t * translate
Definition: collectives.h:54
void * buffer
Definition: collectives.h:57
lpf_t ctx
Definition: collectives.h:48
lpf_memslot_t slot
Definition: collectives.h:60