GAMESS-US: Difference between revisions

Jump to navigation Jump to search
Line 51: Line 51:
GAMESS calculations can make use of more than one CPU. The number of CPUs  
GAMESS calculations can make use of more than one CPU. The number of CPUs  
available for a calculation is determined by the <code>--cpus-per-task</code>  
available for a calculation is determined by the <code>--cpus-per-task</code>  
setting in the submission script.  
setting in the job script.  
As GAMESS has been built using the "sockets" parallelization, it can only
 
use CPU cores that are located on the same compute node and therefore
As GAMESS has been built using [https://en.wikipedia.org/wiki/Unix_domain_socket sockets] for parallelization, it can only
use CPU cores that are located on the same compute node. Therefore
the maximum number of CPU cores that can be used for a job is dictated by
the maximum number of CPU cores that can be used for a job is dictated by
the node configuraion of the system (e.g. 32 CPU cores per node on Graham).
the size of the nodes in the cluster, e.g. 32 CPU cores per node on [[Graham]].


Quantum chemistry calculations are known to not scale as well across
Quantum chemistry calculations are known to not scale well to large numbers
many CPUs as compared to e.g. classical molecular mechanics, which means  
of CPUs as compared to e.g. classical molecular mechanics, which means  
that they can't use large numbers of CPUs efficiently.  Exactly how many
that they can't use large numbers of CPUs efficiently.  Exactly how many
CPUs can be utilized efficiently, depends on the size of a system (i.e.
CPUs can be used efficiently depends on the number of atoms, the number of  
number of atoms, number of basis functions and level of theory).
basis functions, and the level of theory.


To determine a reasonable number of CPUs to use, one needs to run a scaling  
To determine a reasonable number of CPUs to use, one needs to run a scaling  
test - that is running the same input file using different numbers of CPUs  
test--- That is, run the same input file using different numbers of CPUs  
and comparing the execution time.  Ideally the exection time should be half  
and compare the execution times.  Ideally the execution time should be half  
as long when using twice as many CPUs (= 100% speedup).
as long when using twice as many CPUs. Obviously it is not a good use of  
Obviously it is not a good use of resources when a calculation runs only 30%
resources if a calculation runs (for example) only 30%
faster when doubling the number of CPUs and in extreme cases calculations  
faster when the number of CPUs is doubled. It is even possible for certain
can become even slower when further increasing the number of CPUs.
calculations to run slower when increasing the number of CPUs.


=== Memory ===
=== Memory ===
Bureaucrats, cc_docs_admin, cc_staff
2,879

edits

Navigation menu