Parallel Computing
WebMO Pro supports parallel computing using multiple CPU cores on a single node (multi-core and symmetric multi-processor computing).
WewbMO Enterprise supports parallel computing both on a single node using multiple CPU cores and also on multiple nodes through a batch queue which allocates computational resources in a shared environment (cluster computing).
Parallel versions of the following engines are supported:
- Gamess
- Gaussian
- Molpro
- NWChem
- Orca
- Firefly
- PQS
- Psi4
- Quantum Espresso
- Q-Chem
- VASP
In order to use parallel computing, the parallel version of the engine must be installed, WebMO must be configured to access it, and the minimum/default/maximum numbers of CPU cores and nodes must be specified for the engine. Of course, just as with any WebMO engine, the engine must be able to be run from the command line in parallel mode, which might entail the installation of some support software, such as MPI, globals arrays, etc.
Allowing Parallel Calculations using Multiple CPU Cores (Pro or Enterprise)
- The following pre-requisites must be met:
- The parallel version of the engine is installed on the system.
- Parallel calculations can be executed from the command line.
- Login as the admin user. Choose System Manager. Verify that the Built-in WebMO queue is enabled. If not, enable it and click Submit. Click Return to Admin.
- Choose Interface Manager. Verify that the correct server is displayed; if not, select the desired server and click the Change button. Enable the desired engine interface by clicking the Enable icon (), if necessary. Click the edit interface icon () to invoke the Engine Manager.
- Verify that the program location points to the parallel version of the engine. If not, edit the entries and click the Submit button.
- In the Cores section, set appropriate values for Min (typically 1), Max (which determines the largest parallel job permitted), and Default (typically 1). Click the Submit button. Click Return to Admin.
- Logout from WebMO administration. Login as a regular user, and run a test job.
Allowing Parallel Calculations via Batch Queues (Enterprise)
- The following pre-requisites must be met:
- The parallel version of the engine is installed on the system.
- Any software libraries required to support parallel engine are installed on the system (e.g., MPI, MPICH, OpenMP, Global Arrays, LAM, etc.).
- Batch queue software is installed on the system (e.g., PBS, Torque/Maui, SGE, SLURM).
- Parallel calculations can be executed from the command line as a batch job.
- Login as the admin user. Choose System Manager. Verify that an external batch queue is enabled. If not, enable the queuing system that is installed and click Submit. Click Return to Admin.
- Choose Batch Queue Manager. On the Settings tab, verify that the various queue commands are properly specified. On the Queues tab, define a New Queue if necessary, which corresponds to a system batch queue. Click Return to Admin.
- Choose Interface Manager. Verify that the correct queue is displayed; if not, select the desired queue and click the Change button. Enable the desired engine interface by clicking the Enable icon (), if necessary. Click the edit interface icon () to invoke the Engine Manager.
- Verify that the program location points to the parallel version of the engine. If not, edit the entries and click the Submit button.
- In the Nodes and Cores/node sections, set appropriate values for Min (typically 1), Max (which determines the largest parallel job permitted), and Default (typically 1). Click the Submit button. Click Return to Admin.
- Logout from WebMO administration. Login as a regular user, and run a test job.
Note:It might be necessary to slightly customize the run_{engine}.cgi script because implementation of parallel code is highly variable (e.g., mpi, ddi, global arrays, etc.) and depends on the local system. This typically involves a small edit to the command line arguments that submit the batch job.
Submitting Parallel Calculations
On Job Options page Advanced Options tab, select the number of Cores to be used for a multi-core server or the Nodes and Processors Per Node (PPN) for a batch queue. WebMO will queue and then run the job with the requested resources.
User Request for Cores |
User Request for Batch Resources |
Note that the CPU time reported on the View Job page is typically the total CPU time used, not the wall time. Thus if a job running on 4 CPU cores was completed in 10 minutes, then the reported CPU time would be 40 minutes.