Overview of Devito core features
mainDevito is a Python package for optimized stencil computation (e.g., finite differences, image processing, machine learning) using symbolic specification.
Key capabilities include:
- Automated Code Generation: Generates optimized kernels for CPUs (SIMD, OpenMP), GPUs (OpenACC), and multi-node clusters (MPI).
- Symbolic Math: Built on SymPy for high-level problem definitions.
- Advanced Operators: Support for sparse operators (interpolation), linear operators (convolutions), tensor contractions, and boundary conditions.
- Optimization: Includes an autotuning framework, blocking, and aggressive symbolic transformations for FLOP reduction.
- Integration: Works with NumPy, SymPy, Dask, SciPy, TensorFlow, and PyTorch.