Up: Miscellany

27.1 PARALLEL Command

27.1.1 Syntax

     PARALLEL  [CG     ] [NCPU integer] [SCHED {GANG} ] [OVERride]
               [CONGen ]                [      {FREE} ]
               [LOOPs  ]
               [OFF    ]

27.1.2 Function

The PARALLEL command is used to control the usr of parallel processing. Presently, parallel processing can be used for either the conformational search part of CONGEN, see Conformational Search, or compute intensive loops in the Poisson-Boltzmann electrostatics calculations, see Poisson-Boltzmann Electrostatics. It cannot be used for both. Parallel processing is only supported on multiprocessor Silicon Graphics workstations or servers. Parallel processing is not supported on any other machine as yet.

The options, CG or CONGEN, are used to turn parallel processing on for the conformational search. The option, LOOPS, is used to turn on parallel processing for compute intensive loops. The option, OFF, is used to turn parallel processing off. If none of these options is specified, then CONGEN searching is run in parallel.

The NCPU option is used to specify the number of CPU's to use for the calculation. If this is not specified, then the program will check the following in order:

  1. The value of the environment variable, MP_SET_NUMTHREADS.
  2. The value of the enrironment variable, NUM_THREADS.
  3. The number of CPU's on the machine where CONGEN is running.

The maximum permitted value for NCPU is the minimum of 32 and the number of CPU's on the system where CONGEN is running, except if OVERRIDE is specified. In that case, the setting for NCPU is the minimum of 32 and any environmental setting or value of the NCPU keyword.

The SCHED option controls how process execution is scheduled. The option, GANG, specifies that all processes working together be scheduled as a unit. GANG is the default for compute intensive loops. The option, FREE, specifies that all processes are scheduled independently. This option is the default for conformational search.

See Conformational Search, for more information about parallel processing in the conformational search.

If you are running a conformational search which uses Poisson-Boltzmann elecstrostatics, it is more economical to parallelizes the PBE calculation, and leave the search running serially because this optimizes memory usage. Parallel searching requires one copy of the PBE data structure per process, and this takes up a great deal of space.

For large memory jobs running in parallel on SGI workstations, it is critically important to set the STACK resource limit down from the default value. See Rlimit Command, for more information.