Source/Packages

Runtime.NativeDataParallel

packages/execution/src/Runtime/NativeDataParallel.alpha

1,529 lines92 declarations70.3 KiBSHA-256 a009e951c1b2

constructor · lines 75–75

DataParallelUpdate

Full file
The native host realization of a data-parallel learner (Learning.DataParallel) over owners 0..n-1 on a star centred on owner 0 or on a bounded-fan-out hierarchy (Runtime.NativeDataParallelTree). One update is one round of a global protocol: every owner: sum its own samples' contributions in sample order into a (numerator, mass) value, starting from +0; ordered combine: on a star the left-deep sum (((v0 + v1) + v2) + ...) at owner 0; on a hierarchy each node's own value followed by its children's subtree values, left-deep at the node; replicated to every owner (Runtime.NativeCombine), elementwise binary64 addition of numerators and of masses; every owner: mean = numerator / mass, then the update program on (parameters, mean, rate); version and input cursor advance. Every owner computes the same bits, so the parameters stay replicated without a separate broadcast. The evaluation order is the combine tree; its numerical contract and digest are part of the frame identities, so a peer compiled for another order refuses before any result. Persistence: the parameters are one logical region held (replicated) by every owner; owner 0 publishes it as one shard and every owner's whole replicated state must equal owner 0's before anything is published. Restore reads that shard into every owner's parameters. Samples are immutable program inputs and are not checkpointed. This module owns everything except the publication itself; the star's publication is below and the hierarchy's in Runtime.NativeDataParallelTree.
75constructor DataParallelUpdate

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.