Convenience: SLURM distribution from a named profile
dist_slurm_profile.RdBuilds a SLURM distribution spec using a resource profile name (or profile
object) so you don't have to manually call slurm_resources() in common
cases.
Usage
dist_slurm_profile(
profile,
by = NULL,
within = c("multisession", "multicore", "callr", "sequential"),
workers_within = NULL,
template = slurm_template(),
chunks_per_job = 1L,
target_jobs = NULL
)Arguments
- profile
Profile identifier passed to
slurm_resources(). Typically a character name registered viaslurm_defaults_set()orprofile_register(); can also be aparade_profileobject or a plain list.- by
Optional column names to group by for parallelization.
- within
Execution strategy within each SLURM job: "multisession", "multicore", "callr", or "sequential".
- workers_within
Number of workers used within each SLURM job.
- template
Path to SLURM template file.
- chunks_per_job
Number of groups to process per SLURM job.
- target_jobs
Optional integer; target number of SLURM jobs to create (overrides
chunks_per_jobat submit time).
Value
A parade_dist object suitable for distribute()
Examples
# Create SLURM distribution using a profile
if (FALSE) { # \dontrun{
dist <- dist_slurm_profile("standard", by = "group")
} # }
# Use multicore for within-job parallelism
if (FALSE) { # \dontrun{
dist <- dist_slurm_profile("highmem", within = "multicore", workers_within = 16)
} # }
# Configuration example (no execution)
if (FALSE) { # \dontrun{
flow(grid) |>
stage("analyze", analyze_fn) |>
distribute(dist_slurm_profile("standard"))
} # }