Releases: brightskiesinc/Reverse_Time_Migration
Releases · brightskiesinc/Reverse_Time_Migration
v4.1.0
Added:
- Added
BSTimer
package. - Do a full
BSTimer
library integration with the Seismic Toolbox, updating the timing utilities to be fully dependent onBSTimer
and remove old library dependency. - Added new random boundary approach.
- Added support to staggered first order computation kernel for DPC++.
- Added support to staggered first order CPML boundary manager for DPC++.
- Added support to staggered first order computation kernel for OpenMP Offload.
- Added support to second order and staggered first order CPML boundary manager for OpenMP Offload.
- Added backend unification module for easing development process for different backend.
- Updated BS IO submodule's HEAD, and change codebase accordingly.
- Added
BSBase
package. - Completely deprecated
Helpers
submodule. - Added new Random Boundaries approach to all three technologies (OpenMP, OpenMP Offload and OneAPI).
v4.0.0
MS3 Release (#13) * Pre-release * Remove lambdas names for clang, fix timer error in bandwidth, fix correlation for GPU (#14) Co-authored-by: ehab <ehab.nasr@brightskiesinc.com> * Update README.md + Update CONTRIBUTORS.txt + Cleanup Co-authored-by: ehab <ehab.nasr@brightskiesinc.com>
v3.1.0
- Added OpenMP Offload support
- Wave Approximations
- Isotropic Second Order
- Migration Accommodators
- Cross Correlation
- Boundary Conditions
- None
- Forward Collectors
- Reverse Propagation
- Two Propagation
- Model Handlers
- Seismic Model Handler
- Synthetic Model Handler
- Source Injectors
- Ricker Source Injector
v3.0.1
Fixed:
- CMake now doesn't specify a device for OneAPI
- First touch is now specific to cpu.
- Corrected the computational grid size.
- Fix typo in OneAPI generator.
v3.0.0
Added:
- Added CFL condition to OpenMP.
- Added CFL condition to OneAPI.
- Added
Interpolator
component. - Added
Sampler
component. - Added
Compressor
component. - Added 3D support to kernels.
- Added 3D support to I/O.
- Added shots stride for trace reading.
- Added tests for all components.
- Added
Generators
module. - Added
Thoth
(I/O) library to existing code (N.B. Old I/O still included and should completely be deprecated in later releases) - Modified some existing features to scale up the code on clusters.
- Renewed
Helpers
library. - Changed libraries from
SHARED
toSTATIC
. - Restructured
CMake
- Redesigned
SeismicOperations
library by adding new layer of abstraction- Interface:
Contains the interface only to be implemented - Primitive:
Contains the common code across different technologies - Concrete:
Contains the different code for different technologies - Memory transfers
- Kernels
- Interface:
- Reintroduced configurations' structure
- Reintroduced configurations' data structures in code
- Unify constructors of all components to take the same configurations' data structures
- Added user manual
Fixed:
- Fixed MPI in OpenMP.
- Fixed MPI in OneAPI.
- Fixed bugs in
CorrelationKernel
. - Fixed bugs in
TraceManager
. - Fixed 3D support to OpenMP kernels.
- Fixed
CrossCorrelation
's compensation. - Fixed
TwoPropagation
. - Fixed
TwoPropagation
w/Compression.
Removed:
- Removed ZFP submodule.
1.0.0
This is the first stable release of Brightskies' own reverse time migration.
Features
- An OpenMP version:
- Support the following boundary conditions :
- CPML
- Sponge
- Random
- Free surface boundary functionality
- Support the following stencil orders :
- O(2)
- O(4)
- O(8)
- O(12)
- O(16)
- Support 2D modeling and imaging
- Support the following algorithmic approaches :
- Two propagation, an IO intensive approach where you would store all of the calculated wavefields while performing the forward propagation, then read them while performing the backward propagation.
- We provide the option to use the ZFP compression technique in the two-propagation workflow to reduce the volume of data in the IO.
- Three propagation, a computation intensive approach where you would calculate the forward propagation storing only the last two timesteps. You would then do a reverse propagation, propagate the wavefield stored from the forward backward in time alongside the backward propagation.
- Support solving the equation system in :
- Second order
- Staggered first order
- Support manual cache blocking.
- Support windowing to enhance performance, instead of simulating whole domain for each shot, simulate just the shot and a window surrounding it. User can specify the window and a trade-off between performance and accuracy exists according to how tight the user specifies the window around the source point.
- Support Illumination compensation : source compensation, receiver compensation and combined compensation to enhance imaging results.
- Support norm callback, and multiple writing formats (SegY, PNG, SU, binary and CSV).
- Support basic post processing, mainly apply a laplacian filter and afterwards an automatic gain control with a window of 500.
- Support the following boundary conditions :
- A DPC++ version:
- Support the following boundary conditions :
- Random
- Support the following stencil orders :
- O(2)
- O(4)
- O(8)
- O(12)
- O(16)
- Support 2D modeling and imaging
- Support the following algorithmic approaches :
- Three propagation, a computation intensive approach where you would calculate the forward propagation storing only the last two timesteps. You would then do a reverse propagation, propagate the wavefield stored from the forward backward in time alongside the backward propagation.
- Support solving the equation system in :
- Second order
- Support windowing to enhance performance, instead of simulating whole domain for each shot, simulate just the shot and a window surrounding it. User can specify the window and a trade-off between performance and accuracy exists according to how tight the user specifies the window around the source point.
- Support Illumination compensation : source compensation, receiver compensation and combined compensation to enhance imaging results.
- Support norm callback, and multiple writing formats (SegY, PNG, SU, binary and CSV).
- Support basic post processing, mainly apply a laplacian filter and afterwards an automatic gain control with a window of 500.
- Support the following boundary conditions :