In DM-3373 and a few other tickets, we ported over from HSC scripts for constructing calibs. These reside in pipe_drivers, and use the MPI process pool in ctrl_pool. Example command-lines for using these scripts are on DM-5124, but here’s a rough guide:
- Bin scripts are
constructBias.py,constructDark.py,constructFlat.pyandconstructFringe.py. - These are like a regular
CmdLineTask, but with additional arguments that configure how to do the parallelism: -
--batch-typemay besmp(Symmetric Multi-Processing, i.e., run on the local machine with multiple cores),pbs(submit the batch request to your PBS cluster) orslurm(submit the batch request to your Slurm cluster). -
--jobis the job name (used by batch systems to identify the job, and in naming output log files). -
--timeis the walltime limit for batch systems, per element (in this case, the element is individual CCDs). -
--cores(forsmporslurmmodes) specifies the number of cores to use. -
--nodesand--procs(forpbsorslurmmodes) specifies the number of nodes and CPUs per node to use. -
--batch-submitcan be used to provide additional options for batch submission (i.e., qsub or sbatch, as appropriate). -
--mpiexeccan be used to provide additional options formpiexec. On our Slurm clusters at Princeton, we’ve found we need-bind-to socketto prevent trouble. -
--dry-runcan be used to test the command-line before submitting. - You will probably need some configuration additions in your obs_* package.
- The individual scripts write
bias_config,dark_config,flat_configandfringe_configdatasets, so your Mapper needs to support those. - Overrides can be added to your
obs_*/configdirectory asbias.py,dark.py,flat.pyandfringe.py.
@merlin is trying to get this working with DECam at the moment. Hopefully we can report success soon! Users of other cameras are welcome to request help here.
