Execution environments ====================== In order to give an impression that an individual QCG-PilotJob task is executed directly by the queuing system a set of environment variables, typically set by the queuing system, is overwritten and passed to the job. These variables give the application all typical information about a job it can be interested in, e.g. the amount of assigned resources. In case of parallel application an appropriate machine file is created with a list of resources for each task. Additionally to unify the execution regardless of the queuing system a set of variables independent from a queuing system is defined and passed to tasks. Slurm execution environment --------------------------- For the SLURM scheduling system, an execution environment for a single job contains the following set of variables: - ``SLURM_NNODES`` - a number of nodes - ``SLURM_NODELIST`` - a list of nodes separated by the comma - ``SLURM_NPROCS`` - a number of cores - ``SLURM_NTASKS`` - see ``SLURM_NPROCS`` - ``SLURM_JOB_NODELIST`` - see ``SLURM_NODELIST`` - ``SLURM_JOB_NUM_NODES`` - see ``SLURM_NNODES`` - ``SLURM_STEP_NODELIST`` - see ``SLURM_NODELIST`` - ``SLURM_STEP_NUM_NODES`` - see ``SLURM_NNODES`` - ``SLURM_STEP_NUM_TASKS`` - see ``SLURM_NPROCS`` - ``SLURM_NTASKS_PER_NODE`` - a number of cores on every node listed in ``SLURM_NODELIST`` separated by the comma, - ``SLURM_STEP_TASKS_PER_NODE`` - see ``SLURM_NTASKS_PER_NODE`` - ``SLURM_TASKS_PER_NODE`` - see ``SLURM_NTASKS_PER_NODE`` QCG Execution environment ------------------------- To unify the execution environment regardless of the queuing system the following variables are set: - ``QCG_PM_NNODES`` - a number of nodes - ``QCG_PM_NODELIST``- a list of nodes separated by the comma - ``QCG_PM_NPROCS`` - a number of cores - ``QCG_PM_NTASKS`` - see ``QCG_PM_NPROCS`` - ``QCG_PM_STEP_ID`` - a unique identifier of a job (generated by QCG-PilotJob Manager) - ``QCG_PM_TASKS_PER_NODE`` - a number of cores on every node listed in ``QCG_PM_NODELIST`` separated by the comma - ``QCG_PM_ZMQ_ADDRESS`` - an address of the network interface of QCG-PilotJob Manager (if enabled)