I have looked at GAMESS and Gaussian manuals but can not find the maximum number of efficient nodes. As I tried GAMESS on our supercomputer, I can add as many CPUs as I want but it really does not Improve the calculation time and efficacy . On the other hand just adding maximum number of CPUs is just waste of CPU-Hour time and resources.

Is there any criteria for selection of best number of CPUs for optimum resource usage ?

  • $\begingroup$ as a general rule: no hyperthreading 'cores'. If 6+ cores/node, the last physical core usually may be left unused with little to no penalty to performance. However! when you request cores from two nodes, you add a tight bottleneck and latency for memory updates. For smaller systems it is not usually worth it (latency is so large that it imposes enough delays to consume all CPU time), and for systems with large memory use it is prudent to use every trick to reduce inter-node communications. $\endgroup$
    – permeakra
    Mar 26, 2015 at 17:25
  • 4
    $\begingroup$ TL:DR benchmark it. There is no way to say for sure without benchmarking. And the answer is machine-dependent anyway. $\endgroup$
    – permeakra
    Mar 26, 2015 at 17:26
  • $\begingroup$ @permeakra, sure, that is the only way. But I'm also pretty sure many of us already did benchmarks, so why not share and collect the results in one place? $\endgroup$
    – Wildcat
    Mar 27, 2015 at 11:36
  • 1
    $\begingroup$ @Wildcat The answer is machine-dependent. It depends not only on CPU used, but also on memory used (both latency and bandwidth) and network parameters (mostly bandwidth), amount of memory actually used and hdd i/o. Consequently, there is little point in sharing. $\endgroup$
    – permeakra
    Mar 27, 2015 at 12:23
  • $\begingroup$ @permeakra The answer is not only machine-, but problem dependent, too. The size of the molecule, and what actual algorithms are used are very important details. Different parts of the software scales different way: it is no the same if you integrate all the time or you are busy with diagonalization. $\endgroup$
    – Greg
    May 12, 2015 at 4:05

1 Answer 1


Is there any criteria for selection of best number of CPUs for optimum resource usage?

The criteria is basically the same as for choosing the level of theory: benchmarking. Parallel scaling depends on many factors: the level of theory, the size of the molecule, the machine architecture, etc., so there is no golden rule.

Though from my experience I can say that Gaussian 09 single point energy, geometry optimisation and frequencies calculations:

  • scale well for HF & DFT up to 16 physical cores;
  • scale well for MP2 up to 8 physical cores;
  • almost do not scale for CI & CC.

Also note that Gaussian 09 is about 2 times faster for almost any kind of calculations than the previous version (Gaussian 03) and doesn't suffer from some awkwardly strange memory effects (see e.g. here).

  • $\begingroup$ That's great ! What about GAMESS? Do you have experience on it? $\endgroup$
    – Aug
    Mar 21, 2015 at 12:39
  • 1
    $\begingroup$ @Aug, suddenly, I do not have a lot of experience with GAMESS, but for my systems (small organic anions as well as big organometallis complexes) when doing small number of DFT geometry optimizations & frequencies calculations I saw only small speed-up going from 16 to 32 cores. So, presumably, GAMESS is somewhere close to Gaussian. $\endgroup$
    – Wildcat
    Mar 21, 2015 at 18:48
  • 2
    $\begingroup$ @Aug, out of free packages, NWChem is usually advertised as extremely well parallelized. I have almost zero experience with it, but you can give it a try. ;-) $\endgroup$
    – Wildcat
    Mar 21, 2015 at 18:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.