We don’t have a comprehensive list of those programs which support MPI – and the list would vary based on what you meant by “support”.
Most applications (all of the “jd2” ones) have at least structure-level support for MPI parallelization. That is, each output structure can be distributed to a different processor.
Relax is one of those applications. If you run relax with multiple input structures, or with a single input structure and multiple -nstruct, running under MPI will parcel out the structures to each of the multiple processors. For relax you don’t really gain anything in runtime or output quality over manually splitting up the input/nstruct to the multiple processors. There’s a little bit of optimization in that MPI can reshuffle jobs if one processor takes longer than the other, and if you’re looking for a single output file it’s slightly easier with MPI, but the MPI relax doesn’t accomplish anything that can’t be simply accomplished with the non-MPI relax.