  Gaussian Approximation Potentials are a class of Machine Learned Interatomic
Potentials routinely used to model materials and molecular systems on the
atomic scale. The software implementation provides the means for both fitting
models using ab initio data and using the resulting potentials in atomic
simulations. Details of the GAP theory, algorithms and software are presented,
together with detailed usage examples to help new and existing users. We review
some recent developments to the GAP framework, including MPI parallelisation of
the fitting code enabling its use on thousands of CPU cores and compression of
descriptors to eliminate the poor scaling with the number of different chemical
elements.
