AMS is a software library that uses threads, sockets, and locks to allow a running program (called the accessor) to read (and change when desired) variables in another running code (called the publisher application).

Requirements and installation of the AMS (if not using the --download-ams PETSc ./configure option)

Usage from PETSc