4.1 Running on parallel machines
Keywords: user_guide

Next: 4.2 Parallelization levels Up: 4 Parallelism Previous: 4 Parallelism Contents

##
4.1 Running on parallel machines

Parallel execution is strongly system- and installation-dependent. Typically one has to specify:

1. a launcher program (not always needed), such as `poe`, `mpirun`, `mpiexec`, with the appropriate options (if any);
2. the number of processors, typically as an option to the launcher program, but in some cases to be specified after the name of the program to be executed;
3. the program to be executed, with the proper path if needed: for instance, `./neb.x`, or `$HOME/bin/neb.x`, or whatever applies;
4. other `PWscf`-specific parallelization options, to be read and interpreted by the running code;
5. the number of image groups used by NEB (see next subsection).

Items 1) and 2) are machine- and installation-dependent, and may be different for interactive and batch execution. Note that large parallel machines are often configured so as to disallow interactive execution: if in doubt, ask your system administrator. Item 3) also depend on your specific configuration (shell, execution path, etc). Item 4) is optional but may be important: see the following section for the meaning of the various options.

For illustration, here is how to run `neb.x` on 16 processors partitioned into 4 image groups (4 processors each), for a path containing at least 4 images with POE:

       poe neb.x -procs 16 -ni 4 -i input

Next: 4.2 Parallelization levels Up: 4 Parallelism Previous: 4 Parallelism Contents