PETSc, the Portable, Extensible Toolkit for Scientific Computation,
pronounced PET-see (/ˈpɛt-siː/), is a suite of data structures and
routines for the scalable (parallel) solution of scientific
applications modeled by partial differential equations. It supports
MPI, and GPUs through CUDA, HIP or OpenCL, as well as hybrid MPI-GPU
parallelism; it also supports the NEC-SX Tsubasa Vector Engine. PETSc
(sometimes called PETSc/TAO) also contains the TAO, the Toolkit for
Advanced Optimization, software library.
PETSc is developed as open-source, requests and contributions are
welcome.