6.3.4 Perform computations
with dependencies in multiple-passes
If your application requires continuous updates of data elements and there are dependencies between them, try breaking the computations into discrete units and perform the computations in multiple stages.
This technique extends the technique that computes values per frame by
splitting computations even more.
Divide the data elements into odd and even fields. This divides
the dependencies so the entire computation can be performed in stages.
The processing alternates between computing the odd then the even
For example, this technique can be used in neural network
The individual neurons are arranged in a three-dimensional
grid. Computing the state for a neuron involves reading inputs from
the surrounding neurons. This means that each neuron has dependencies
on the state of the surrounding neurons.
To execute the simulation, the three-dimensional grid is divided
into layers and executed in the following manner:
- The even node values
- The odd layers are computed and the results stored.
- The odd node values are read.
- The even layers are computed and the results stored.