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.