Figure 2 Data mapping for the parallel Kirchhoff datuming algorithm. The vertical direction is in-processor, horizontal and depth directions are parallel. Each plane in the first parallel direction represents one shot or receiver gather. All computations are performed in-processor. The input traces and input headers are circularly shifted in the parallel direction as indicated by the arrow.
With this data mapping, each virtual processor contains one input trace, one output trace, and the geometrical parameters which determine trace shift and weighting in local memory. The program executes by summing the weighted and shifted input traces into their output locations in parallel. The input traces are then passed to the next processor and the sequence is repeated. This trace passing is indicated by the circular shift in Figure 2. Both the input traces and the input headers are shifted in the same way. By organizing the algorithm and data in this way, all computations are performed in-processor with the only inter-processor communication being the nearest-neighbor circular shift operation.