Running the prototype pipeline with Dask
Parallel run of the prototype imaging pipeline has been implemented using Dask.
Most of the functions are wrapped using a
simple decorator,
which decides whether to compute using dask.delayed
or run the code in serial. This is controlled by the
use_dask
user-defined argument (see Command Line Interface to run the pipeline).
A few of the high-level functions directly imported from RASCIL use RASCIL’s own class that wraps its objects with Dask. These are the so called “workflows”, e.g. deconvolve_skymodel_list_rsexecute_workflow and restore_skymodel_list_rsexecute_workflow. They inherently use the rsexecute class, which we need to initialize in the main function of imaging_prototype.py.