From 4234a8344d3204d3227a4dd69512d58714074541 Mon Sep 17 00:00:00 2001 From: Alex Hocks Date: Mon, 8 Jun 2026 17:50:18 +0200 Subject: [PATCH] add doc for workers --- docs/configuration.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index 8c44aa49..1980bb55 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -260,6 +260,38 @@ The following parameters can be set } ``` +## Tasking / Workers + +The usage of workers can be enabled by configuring the tasking parameters to values other than the default. +When using workers, a separate MPI process group is started per Micro Manager rank. This should allow for parallel +micro simulation computation. +With `backend`, the communication between the Micro Manager rank and its workers can be set to use either a +socket based or MPI based approach. For system with SLURM: By setting `is_slurm` to true the worker process is +attempted to be started with `srun` instead of `mpiexec`. In this case, `backend` must be set to `"socket"`. +`num_workers` controls the amount of workers per Micro Manager rank. When `num_workers` is less or equal than `1`, then +local execution is assumed, thus no worker processes are created. +`mpi_impl` should be set to the underlying MPI implementation, as this is required for pinning. + +| Parameter | Description | Default | +|-----------------|--------------------------------------------------------|------------| +| `backend` | Communication backend. Options: ["socket", "mpi"] | `"socket"` | +| `is_slurm` | Launch worker with `srun`? | `"False"` | +| `"num_workers"` | Number of workers pre Micro Manager rank. | `1` | +| `"mpi_impl"` | Implementation type of MPI. Options: ["intel", "open"] | `"open"` | + +The following configuration block should be provided on the same level as the `"simulation_param"`. +The given example uses socket based communication, launches with `mpiexec`, uses 4 workers per rank and +assumes Intel MPI. + +```json +"tasking": { + "backend": "socket", + "is_slurm": false, + "num_workers": 4, + "mpi_impl": "intel" + } +``` + ## Interpolate a crashed micro simulation If the optional dependency `sklearn` is installed, the Micro Manager will derive the output of a crashed micro simulation by interpolating outputs from similar simulations. To enable this, set