Hi

The Devito DSL (https://www.devitoproject.org/) is a Python package to 
implement optimized stencil computation (e.g., finite differences, image 
processing, machine learning) from high-level symbolic problem definitions. 
Devito builds on SymPy and employs automated code generation and 
just-in-time compilation to execute optimized computational kernels on 
several computer platforms, including CPUs, GPUs, and clusters.

Key Features 

   - A functional language to express finite difference operators.
   - Straightforward mechanisms to adjust the discretization.
   - Constructs to express sparse operators (e.g., interpolation), classic 
   linear operators (e.g., convolutions), and tensor contractions.
   - Seamless support for boundary conditions and adjoint operators.
   - A flexible API to define custom stencils, sub-domains, sub-sampling, 
   and staggered grids.
   - Generation of highly optimized parallel code (SIMD vectorization, CPU 
   and GPU parallelism via OpenMP and OpenACC, multi-node parallelism via MPI, 
   blocking, aggressive symbolic transformations for FLOP reduction, etc.).
   - Distributed NumPy arrays over multi-node (MPI) domain decompositions.
   - Inspection and customization of the generated code.
   - Autotuning framework to ease performance tuning.
   - Smooth integration with popular Python packages such as NumPy, SymPy, 
   Dask, and SciPy, as well as machine learning frameworks such as TensorFlow 
   and PyTorch.

Best regards
Gerard

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/11c1f53e-d13a-461f-a720-f11c6b05ab11n%40googlegroups.com.

Reply via email to