TRiP98 parallel dose job submission

Parallel dose job submission

Biological dose computation for complex field overlays usually needs a large amount of CPU time and hence one has to wait a long time until the result becomes available. One way to improve on this is to subdivide the CT cube on which the dose calculation is performed into slices which can be calculated in parallel independently. The easiest way is to submit a bunch of such jobs to a batch system like the IBM LoadLeveler. To avoid manual set-up and changes of command scripts the following shell command has been invented:
trpllslice <llcmdfile> <slice> [ <sliceto> [<sliceby>]]
where <slice> is the number of the first (or only) slice to be processed, <sliceto> is the optional upper limit. If <sliceto> is given <sliceby> is the optional step size (default = 1).

<llcmdfile> is the template for a LoadLeveler command file which must contain the line
# @ arguments = -s -c "exec <trpllslice.exec> $slicefrom $sliceto" 
where $slicefrom and $sliceto are mandatory placeholders to receive the slice range.
<trpllslice.exec> is the name of a TRiP98 command file containing e.g. the line
dose "ovl.&1.&2." / bio calculate write field(*) slice(&1,&2)


The trpllslice command does the following:
  1. Slice groups are created according to the given <slice> parameters.
  2. The lower and upper slice limits are inserted at $slicefrom and $sliceto in the LoadLeveler command file
  3. Multiple jobs running TRiP98 with the commands given in <trpllslice.exec> are created, each with a different set of slices to calculate.
Use the cubemerge command to merge the partially calculated dose cubes into a single one.


  1. trpllslice trpllslice.cmd 17
    calculates only slice number 17 and hence submits only a single job
  2. trpllslice trpllslice.cmd 1 78 4
    creates 20 jobs for the calculation of slices 1..4, 5..8, ..., 77..78.

Last updated:
$Id: trip98trpllslice.html,v 1.6 2011/03/08 19:02:53 kraemer Exp $