CRU_MAPREDUCER (7)
CRU MANUAL
CRU_MAPREDUCER (7)

NAME

cru_mapreducer - parallel graph metric computation specification

SYNOPSIS

#include <cru/cru.h>

typedef struct cru_mapreducer_s
{
   struct cru_zone_s ma_zone;
   struct cru_prop_s ma_prop;
} *cru_mapreducer;

DESCRIPTION

This structure parameterizes the cru_mapreduced library function with necessary information initialized by the application to compute an arbitrary user-defined metric about a graph. The metric is computed according to the usual calling conventions for a cru_prop as given by the ma_prop field. The computation can pertain to a section of the graph restricted by the cru_zone structure in the ma_zone field. Alternatively, the ma_zone field may be omitted or zero-filled, in which case the whole graph is used.

Unlike an induction, all vertices are visited effectively in parallel in the course of this operation. The value derived from each vertex can depend on its adjacent vertices in either direction but not on the values derived from its adjacent vertices.

NOTES

The reduction phase proceeds under the assumption of a commutative and associative user-defined vertex reduction operator. Non-deterministic results are possible if this condition is not met but cru has no way of enforcing it.

FILES

/usr/local/include/cru/data_types.h

SEE ALSO

cru, cru_bop, cru_bpred, cru_builder, cru_built, cru_cbop, cru_classifier, cru_class_of, cru_class_size, cru_composed, cru_composer, cru_connect, cru_connector, cru_cqop, cru_crossed, cru_crosser, cru_ctop, cru_ctop_pair, cru_ctop_quad, cru_data_types, cru_deduplicated, cru_destructor, cru_destructor_pair, cru_edge_count, cru_fabricated, cru_fabricator, cru_filter, cru_filtered, cru_fold, cru_free_kill_switch, cru_free_later, cru_free_now, cru_free_partition, cru_function_types, cru_get, cru_hash, cru_induced, cru_inducer, cru_kernel, cru_kill, cru_killed, cru_mapreduced, cru_merged, cru_merger, cru_mutated, cru_mutator, cru_new_kill_switch, cru_nop, cru_order, cru_order_pair, cru_partition_of, cru_plan, cru_postponed, cru_postponer, cru_prop, cru_prop_pair, cru_pruner, cru_qop, cru_qpred, cru_set, cru_sig, cru_singleton, cru_split, cru_splitter, cru_spread, cru_strerror, cru_stretch, cru_stretched, cru_stretcher, cru_subconnector, cru_terminus_count, cru_top, cru_tpred, cru_united, cru_uop, cru_vertex_count, cru_zone

AUTHOR

Dennis Furey (milonga@delayinsensitive.com)

PROJECT PAGE

https://github.com/gueststar/cru

CRU VERSION 0.15.3
October 05, 2024
CRU_MAPREDUCER (7)