gather

| Name | Type | Description | Optional |
|---|---|---|---|
selector |
int |
control input from scatter |
no |
in1 |
?0 |
first data input (selector == 0) |
yes |
in2 |
?0 |
second data input (selector == 1) |
yes |
… |
|||
inN |
?0 |
final data input (selector == N-1) |
yes |
| Name | Type | Description | Optional |
|---|---|---|---|
output |
?0 |
output of selected data item |
no |
gather accepts an integer selected value in the range 0 to N -1, and N data inputs. It reads and outputs the data input that is named by the selector value. gather is intended for use in a balanced pair with a scatter operation. See the example SpecialNodes/scattergather. The purpose of scatter / gather is to provide for concurrent evaluation of a number of instances of the same subcircuit. It is typically wired in this kind of configuration (taken from the SpecialNodes/scattergather example):

Four instances of MyCircuit are sent inputs, round-robin, from scatter, and the results are collated using gather. When run on 4 threads, this circuit will have about 4 times the bandwidth of a single instance of MyCircuit. For more about concurrency and performance, see Dataflow in Coreograph.
|
see |