next up previous contents
Next: Coupled Cluster Methods Up: Second-order Møller-Plesset Theory: MP2 Previous: Using the MP2-R12 method   Contents

Larger Calculations

Here are a few recommendations for carrying out extended integral-direct MP2 and MP2-R12 calculations with PSI3:

  1. While the integral-direct MP2 algorithm doesn't need any significant disk storage, the integral-direct algorithm for the MP2-R12 energy stores the transformed integrals to disk, hence very large computations will require a lot of disk space. In general the storage requirement is $16 o^2N^2$ bytes, where $o$ is the number of occupied orbitals, and $N$ is the size of the basis.
  2. If there is not enough memory to perform the computation in one pass, the program will do multiple passes through the entire set of integrals, hence your computation will run that many times longer. In such case, find the machine with the most memory and processors available.
  3. On SMP machines, set the NUM_THREADS to the number of processors available for the job, or, if all processors are allocated for your job, set NUM_THREADS to twice the number of processors you have. Modern operating systems schedulers are usually very efficient at handling multithreaded programs, so the overhead of thread context switching is not significant, but using more threads may lead to better load balancing, and lower execution times. For example, on a 32-processor IBM eServer p690 we found that the optimal number of threads was 128. For the optimal performance, do a few runs with different number of threads and see which number works best. Avoid excessively large number of threads, as this descreases the net amount of memory available to the computation and thus may increase the number of passes.
  4. Set the MEMORY keyword to the 90% of the available physical memory, at most. There is a small amount of overhead associated with the integral-direct algorithms that is not accounted for by the internal memory handling routines.
  5. The implementation of the integral-direct MP2-R12 (and MP2) method in PSI3 can run efficiently on SMP, or shared-memory, machines, by utilizing multiple processors via multithreaded approach. However, it cannot utilize distributed memory machines, such as commodity (PC) clusters and massively parallel machines, to their full potential, since one computation can only take advantage of one node of such machine at a time. In such environments, the aformentioned MPQC implementation of the MP2-R12 method should be preferred (see http://aros.ca.sandia.gov/~cljanss/mpqc/).

next up previous contents
Next: Coupled Cluster Methods Up: Second-order Møller-Plesset Theory: MP2 Previous: Using the MP2-R12 method   Contents
T. Daniel Crawford 2009-02-16