Skip to content

Roadmap

jkwashbourne edited this page May 27, 2020 · 14 revisions

Here we have prioritized a list of tasks for Devito

  1. Performance benchmarks
    Add performance benchmarks to continuous integration. This can include adding an image capturing performance on benchmark problems to the top level.

  2. Free surface boundary condition
    Handle free surface boundary condition by smartening stencil behavior at boundary. Currently the free surface BC is handled by copying slices of wavefields per timestep into a mirror array with appropriate polarity reversal. This will is non optimal for performance and free surface modeling is critical to industry scale uptake.

  3. GPU something something
    Make it go fast

  4. Test sincos for trig in TTI system
    TTI systems often has sin(a) cos(a) nearby in mathematical expressions. The sincos function can be vectorized and is worth investigating for performance relative individual sin and cos calls.

  5. Eikonal solver hackathon
    Use Devito to implement a fast sweeping method TTI anisotropic eikonal solver. This has many valuable use cases including improving illumination compensation (potential improvements for FWI workflows), enabling "expanding box" (potential improvements in throughput especially for large problems), and the ability to generate traveltime tables.