Running parallel jobs and combining the results

One method of improving the run time is to run several jobs in parallel and then combine the results. In order to do this several input directories need to be set up containing all the necessary .dat input files for the process. The variable SEED in random.dat needs to be set to a different integer value in each directory.

The tarball parallel.tar.gz contains shell scripts that can be used to combine the histogram and cross section results and errors. The command used is

./histsum.sh <output-dir> <hist-dir> <log-file> <input-dirs>

where

  • output-dir = directory in which combined results will be placed
  • hist-dir = name of the directory in which the histogram data is stored – i.e. the vbfnlo.dat input DATAFILE.dir
  • log-file = name of the VBFNLO logs for each of the runs
  • input-dirs = list of input directories

The combined results consist of a file LOG.out, which contains the cross sections and errors (for LO, virtual corrections, real emissions and NLO) and a folder hist-dir (with subfolders LO, NLO and Kfac) containind the combined histogram data.

Note that asterisks can be used in the inputs hist-dir and log-file (e.g. if log-file is input as vbfnlo*, the script will read files called vbfnlo.log, vbfnlo.out etc.).
Note also that errors must be included in the histogram output – i.e. both CALC_ERROR_1D and CALC_ERROR_2D must be set to true in histograms.dat.


An example

If a parallel run has been performed, with folders: run_1, run_2, run_3 and run_4, which each contain

  • the log files vbfnloX.log
  • the histogram data directories histograms.dir (with subdirectories LO, NLO, Kfac)

the command to combine the results and errors would be

./histsum.sh run.dir histograms.dir vbfnlo* run_1 run_2 run_3 run_4

and the results would be stored in the folder run.dir.

Last modified:: 2012/07/26 16:54