From Legacy Modules to Parallel Execution in one step
GPI-Space Core plus the domain specific add-ons for seismic make up the powerful Seismic Development and Programming Architecture (SDPA)
Seismic Development and Processing Architecture (SDPA)
There are centuries worth of development work burried in legacy code and binaries that deliver great results but take forever to execute, so in most cases it is not feasible to use them anymore. SDPA can make those treasures valuable and feasible again. Once the framework is installed, they run in parallel, failure tolerant and in no time, without having to rewrite them from scratch.
Makes parallelization easy
It understands seismic data structures for autoparallelization
You can use existing codes independent of the programming language
You can integrate your software into one system and combine it with commercial packages
It combines development with effective execution (on the fly parallelization)
Highly optimized modules can be scheduled to GPU nodes
Code optimization (thread parallelism, SIMD) separate from coarse grained parallelism – no MPI any more
GPI-Space Seislib is a toolbox to represent basic seismic quantities and operations such as
Volume-, trace-, traveltime table-, velocity field-objects
Simple arithmetic, Fourier transform, convolution, partitioning
GPI-Space Seislib is a high performance implementation of operations on seismic data objects and can be used by the computing modules to optimize performance and simplify the implementation.
GPI-Space Seislib is used by the GPI-Space routines to allow for an effective data decomposition and parallelization.
GPI-Space view of a Kirchhoff Depth Migration
The GPI-Space Kirchhoff workflow represents a complete description of a Kirchhoff depth migration. It is effectively parallelized by the GPI-Space framework and uses the virtual memory as an effective cache for TT, Trace and Volume data.
GPI-Space results for the SEG C3NA benchmark:
Input: 47 GB
Output: 1 GB
Computing time on a 4 core Woodcrest cluster
– 32 processors: 2,200s
– 64 processors: 1,048s