pub struct SlurmApptainerBackendConfig {
pub interval: Option<u64>,
pub max_concurrency: Option<u32>,
pub default_slurm_partition: Option<SlurmPartitionConfig>,
pub short_task_slurm_partition: Option<SlurmPartitionConfig>,
pub gpu_slurm_partition: Option<SlurmPartitionConfig>,
pub fpga_slurm_partition: Option<SlurmPartitionConfig>,
pub extra_sbatch_args: Option<Vec<String>>,
pub job_name_prefix: Option<String>,
pub apptainer_config: ApptainerConfig,
}Expand description
Configuration for the Slurm + Apptainer backend.
Fields§
§interval: Option<u64>The task monitor polling interval, in seconds.
Defaults to 30 seconds.
max_concurrency: Option<u32>The maximum number of concurrent Slurm operations the backend will perform.
This controls the maximum concurrent number of sbatch processes the
backend will spawn to queue tasks.
Defaults to 10 concurrent operations.
default_slurm_partition: Option<SlurmPartitionConfig>Which partition, if any, to specify when submitting normal jobs to Slurm.
This may be superseded by
short_task_slurm_partition,
gpu_slurm_partition, or
fpga_slurm_partition for corresponding
tasks.
short_task_slurm_partition: Option<SlurmPartitionConfig>Which partition, if any, to specify when submitting short tasks to Slurm.
This may be superseded by
gpu_slurm_partition or
fpga_slurm_partition for tasks which
require specialized hardware.
gpu_slurm_partition: Option<SlurmPartitionConfig>Which partition, if any, to specify when submitting tasks which require a GPU to Slurm.
fpga_slurm_partition: Option<SlurmPartitionConfig>Which partition, if any, to specify when submitting tasks which require an FPGA to Slurm.
extra_sbatch_args: Option<Vec<String>>Additional command-line arguments to pass to sbatch when submitting
jobs to Slurm.
job_name_prefix: Option<String>Prefix to add to every Slurm job name before the task identifier.
apptainer_config: ApptainerConfigThe configuration of Apptainer, which is used as the container runtime on the compute nodes where Slurm dispatches tasks.
Note that this will likely be replaced by an abstraction over multiple container execution runtimes in the future, rather than being hardcoded to Apptainer.
Implementations§
Trait Implementations§
Source§impl Clone for SlurmApptainerBackendConfig
impl Clone for SlurmApptainerBackendConfig
Source§fn clone(&self) -> SlurmApptainerBackendConfig
fn clone(&self) -> SlurmApptainerBackendConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SlurmApptainerBackendConfig
impl Debug for SlurmApptainerBackendConfig
Source§impl Default for SlurmApptainerBackendConfig
impl Default for SlurmApptainerBackendConfig
Source§fn default() -> SlurmApptainerBackendConfig
fn default() -> SlurmApptainerBackendConfig
Source§impl<'de> Deserialize<'de> for SlurmApptainerBackendConfig
impl<'de> Deserialize<'de> for SlurmApptainerBackendConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for SlurmApptainerBackendConfig
impl RefUnwindSafe for SlurmApptainerBackendConfig
impl Send for SlurmApptainerBackendConfig
impl Sync for SlurmApptainerBackendConfig
impl Unpin for SlurmApptainerBackendConfig
impl UnsafeUnpin for SlurmApptainerBackendConfig
impl UnwindSafe for SlurmApptainerBackendConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more