2.6 Running tests and examples
Keywords: user_guide

Next: 2.7 Installation tricks and Up: 2 Installation Previous: 2.5 Compilation Contents

##
2.6 Running tests and examples

As a final check that compilation was successful, you may want to run some or all of the examples. There are two different types of examples:

- automated tests. Quick and exhaustive, but not meant to be realistic, implemented only for `PWscf` and `CP`.
- examples. Cover many more programs and features of the QUANTUM ESPRESSO distribution, but they require manual inspection of the results.

Instructions for the impatient:

       cd PW/tests/
       ./check_pw.x.j

for `PWscf`; `PW/tests/README` contains a list of what is tested. For `CP`:

       cd CPV/tests/
       ./check_cp.x.j

Instructions for all others: edit file `environment_variables`, setting the following variables as needed.

> BIN_DIR: directory where executables reside
> PSEUDO_DIR: directory where pseudopotential files reside
> TMP_DIR: directory to be used as temporary storage area

The default values of BIN_DIR and PSEUDO_DIR should be fine, unless you have installed things in nonstandard places. TMP_DIR must be a directory where you have read and write access to, with enough available space to host the temporary files produced by the example runs, and possibly offering high I/O performance (i.e., don't use an NFS-mounted directory). NOTA BENE: do not use a directory containing other data: the examples will clean it!

If you have compiled the parallel version of QUANTUM ESPRESSO (this is the default if parallel libraries are detected), you will usually have to specify a launcher program (such as `mpirun` or `mpiexec`) and the number of processors: see Sec.3.2 for details. In order to do that, edit again the `environment_variables` file and set the PARA_PREFIX and PARA_POSTFIX variables as needed. Parallel executables will be run by a command like this:

          $PARA_PREFIX pw.x $PARA_POSTFIX -in file.in > file.out

For example, if the command line is like this (as for an IBM SP):

          poe pw.x -procs 4 -in file.in > file.out

you should set PARA_PREFIX="poe", PARA_POSTFIX="-procs 4". Furthermore, if your machine does not support interactive use, you must run the commands specified above through the batch queuing system installed on that machine. Ask your system administrator for instructions. For execution using OpenMP on N threads, you should set PARA_PREFIX to `"env OMP_NUM_THREADS=N ... "`.

Notice that most tests and examples are devised to be run serially or on a small number of processors; do not use tests and examples to benchmark parallelism, do not try to run on too many processors.

To run an example, go to the corresponding directory (e.g. `PW/examples/example01`) and execute:

          ./run_example

This will create a subdirectory `results/`, containing the input and output files generated by the calculation. Some examples take only a few seconds to run, while others may require several minutes depending on your system.

In each example's directory, the `reference/` subdirectory contains verified output files, that you can check your results against. They were generated on a Linux PC using the Intel compiler. On different architectures the precise numbers could be slightly different, in particular if different FFT dimensions are automatically selected. For this reason, a plain diff of your results against the reference data doesn't work, or at least, it requires human inspection of the results.

The example scripts stop if an error is detected. You should look inside the last written output file to understand why.

Next: 2.7 Installation tricks and Up: 2 Installation Previous: 2.5 Compilation Contents