crew_class_launcher_slurm {crew.cluster}R Documentation

[Experimental] SLURM launcher class

Description

R6 class to launch and manage SLURM workers.

Details

See crew_launcher_slurm().

Attribution

The template files at https://github.com/mschubert/clustermq/tree/master/inst informed the development of the crew launcher plugins in crew.cluster, and we would like to thank Michael Schubert for developing clustermq and releasing it under the permissive Apache License 2.0. See the NOTICE and README.md files in the crew.cluster source code for additional attribution.

Super classes

crew::crew_class_launcher -> crew.cluster::crew_class_launcher_cluster -> crew_class_launcher_slurm

Active bindings

slurm_log_output

See crew_launcher_slurm().

slurm_log_error

See crew_launcher_slurm().

slurm_memory_gigabytes_per_cpu

See crew_launcher_slurm().

slurm_cpus_per_task

See crew_launcher_slurm().

slurm_time_minutes

See crew_launcher_slurm().

slurm_partition

See See crew_launcher_slurm().

Methods

Public methods

Inherited methods

Method new()

SLURM launcher constructor.

Usage
crew_class_launcher_slurm$new(
  name = NULL,
  seconds_interval = NULL,
  seconds_timeout = NULL,
  seconds_launch = NULL,
  seconds_idle = NULL,
  seconds_wall = NULL,
  tasks_max = NULL,
  tasks_timers = NULL,
  reset_globals = NULL,
  reset_packages = NULL,
  reset_options = NULL,
  garbage_collection = NULL,
  launch_max = NULL,
  tls = NULL,
  verbose = NULL,
  command_submit = NULL,
  command_terminate = NULL,
  script_directory = NULL,
  script_lines = NULL,
  slurm_log_output = NULL,
  slurm_log_error = NULL,
  slurm_memory_gigabytes_per_cpu = NULL,
  slurm_cpus_per_task = NULL,
  slurm_time_minutes = NULL,
  slurm_partition = NULL
)
Arguments
name

See crew_launcher_slurm().

seconds_interval

See crew_launcher_slurm().

seconds_timeout

See crew_launcher_slurm().

seconds_launch

See crew_launcher_slurm().

seconds_idle

See crew_launcher_slurm().

seconds_wall

See crew_launcher_slurm().

tasks_max

See crew_launcher_slurm().

tasks_timers

See crew_launcher_slurm().

reset_globals

See crew_launcher_slurm().

reset_packages

See crew_launcher_slurm().

reset_options

See crew_launcher_slurm().

garbage_collection

See crew_launcher_slurm().

launch_max

See crew_launcher_slurm().

tls

See crew_launcher_slurm().

verbose

See crew_launcher_slurm().

command_submit

See crew_launcher_sge().

command_terminate

See crew_launcher_sge().

script_directory

See crew_launcher_sge().

script_lines

See crew_launcher_sge().

slurm_log_output

See crew_launcher_slurm().

slurm_log_error

See crew_launcher_slurm().

slurm_memory_gigabytes_per_cpu

See crew_launcher_slurm().

slurm_cpus_per_task

See crew_launcher_slurm().

slurm_time_minutes

See crew_launcher_slurm().

slurm_partition

See crew_launcher_slurm().

Returns

an SLURM launcher object.


Method validate()

Validate the launcher.

Usage
crew_class_launcher_slurm$validate()
Returns

NULL (invisibly). Throws an error if a field is invalid.


Method script()

Generate the job script.

Usage
crew_class_launcher_slurm$script(name)
Arguments
name

Character of length 1, name of the job. For inspection purposes, you can supply a mock job name.

Details

Includes everything except the worker-instance-specific job name and the worker-instance-specific call to crew::crew_worker(), both of which get inserted at the bottom of the script at launch time.

Returns

Character vector of the lines of the job script.

Examples
if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
launcher <- crew_launcher_slurm(
  slurm_log_output = "log_file_%A.log",
  slurm_log_error = NULL,
  slurm_memory_gigabytes_per_cpu = 4096
)
launcher$script(name = "my_job_name")
}

See Also

Other slurm: crew_class_monitor_slurm, crew_controller_slurm(), crew_launcher_slurm(), crew_monitor_slurm()

Examples


## ------------------------------------------------
## Method `crew_class_launcher_slurm$script`
## ------------------------------------------------

if (identical(Sys.getenv("CREW_EXAMPLES"), "true")) {
launcher <- crew_launcher_slurm(
  slurm_log_output = "log_file_%A.log",
  slurm_log_error = NULL,
  slurm_memory_gigabytes_per_cpu = 4096
)
launcher$script(name = "my_job_name")
}

[Package crew.cluster version 0.3.2 Index]