Version 8 (modified by mmamonski, 12 years ago) (diff)

--

The QCG-Computing service allows to map abstract application name to the absoluth path of the wrapper script. The mapping file is stored in file:

/opt/plgrid/qcg/etc/qcg-comp/application_mapfile

The file has the following syntax:

APPLICATION-NAME VERSION SCRIPT-PATH

where VERSION can be an asterix (*) which means "any version". There is no need to restart the qcg-compd service after updating the file. Example application_mapfile file:

MATLAB * /opt/exp_soft/plgrid/qcg-app-scripts/app-scripts/matlab.qcg
NAMD * /opt/exp_soft/plgrid/qcg-app-scripts/app-scripts/namd.qcg
bash * /opt/exp_soft/plgrid/qcg-app-scripts/app-scripts/bash.qcg
R * /opt/exp_soft/plgrid/qcg-app-scripts/app-scripts/R.qcg
CFX * /opt/exp_soft/plgrid/qcg-app-scripts/app-scripts/cfx.qcg
fluent * /opt/exp_soft/plgrid/qcg-app-scripts/app-scripts/fluent.qcg
nwchem * /opt/exp_soft/plgrid/qcg-app-scripts/app-scripts/nwchem.qcg
g09	* /opt/exp_soft/plgrid/qcg-app-scripts/app-scripts/g09.qcg
qcg-ompi * /opt/exp_soft/plgrid/qcg-app-scripts/app-scripts/qcg-openmpi/qcg-openmpi.qcg

The example scripts can be checkouted from our svn:

svn co https://www.qoscosgrid.org/svn/qcg-computing/trunk/app-scripts

Please put the dir under location that is available from all worker nodes (e.g. /opt/exp_soft/plgrid/qcg-app-scripts/). Every script sources in the beginning its own, site specific, configuration file (e.g. matlab.qcg sources matlab.conf) which is responsible for initializing application environment (e.g. loading environment module, setting PATH). In the next sections we will shortly describe what should be provide in such file for every supported application.

common.conf

  • QCG_SCRATCH_DIR - the location of job temporary directory (e.g $TMPDIR) - MANDATORY
  • QCG_NO_SCRATCH - if set then the job do not change dir to local job scratch directory
  • QCG_DEBUG - if set produces debug messages into qcg.debug file

bash.qcg

This application needs no configuration as it is assumed that bash binary cane be always found in /bin directory.

matlab.qcg

In matlab.conf simply load matlab module:

module load matlab/current

Or set the PATH variable:

export PATH=$PATH:/opt/exp_soft/matlab/bin/

namd.qcg

In namd.conf load the NAMD module

module load namd/current

Additionally if namd2 must be started using different command than mpiexec you can provide additional configuration variables:

MPIEXEC=charmrun
MPIEXEC_ARGS="++verbose ++local +p`cat $QCG_NODEFILE |  wc -l`"

Application Scripts - Developers view

This section is target at QCG developers rather than administrators, its list environment variables which influence job life cycle:

Common Input Environment Variables

  • QCG_MODULES_LIST - list of environment modules to be loaded (separated by spaces)
  • QCG_PREPROCESS - file name of the pre process script
  • QCG_MONITOR - file name of the monitor script
  • QCG_POSTPROCESS - file name of the post process script
  • QCG_OUTERR_FILE - target filename of the joined output/error stream file (default: output.log)
  • QCG_ZIPPED_INPUTS - set if the input files must be unziped first (e.g. QCG_ZIPPED_INPUTS=inputs.zip)
  • QCG_ZIP_OUTPUTS - whether to zip results into $QCG_ZIP_OUTPUTS.zip file
  • QCG_COMP_PROCESSES_MAP - topology of hybrid application (e.g. QCG_COMP_PROCESSES_MAP="4:1:1:1")

Application Scripts - Users view

Here we list notifcation