crew_class_launcher_slurm {crew.cluster} | R Documentation |
SLURM launcher class
Description
R6
class to launch and manage SLURM workers.
Details
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
slurm_log_error
slurm_memory_gigabytes_per_cpu
slurm_cpus_per_task
slurm_time_minutes
slurm_partition
See See
crew_launcher_slurm()
.
Methods
Public methods
Inherited methods
crew::crew_class_launcher$active()
crew::crew_class_launcher$booting()
crew::crew_class_launcher$call()
crew::crew_class_launcher$done()
crew::crew_class_launcher$errors()
crew::crew_class_launcher$forward()
crew::crew_class_launcher$launch()
crew::crew_class_launcher$rotate()
crew::crew_class_launcher$scale()
crew::crew_class_launcher$set_name()
crew::crew_class_launcher$settings()
crew::crew_class_launcher$start()
crew::crew_class_launcher$summary()
crew::crew_class_launcher$tally()
crew::crew_class_launcher$terminate()
crew::crew_class_launcher$terminate_workers()
crew::crew_class_launcher$unlaunched()
crew::crew_class_launcher$wait()
crew.cluster::crew_class_launcher_cluster$launch_worker()
crew.cluster::crew_class_launcher_cluster$terminate_worker()
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
seconds_interval
seconds_timeout
seconds_launch
seconds_idle
seconds_wall
tasks_max
tasks_timers
reset_globals
reset_packages
reset_options
garbage_collection
launch_max
tls
verbose
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
slurm_log_error
slurm_memory_gigabytes_per_cpu
slurm_cpus_per_task
slurm_time_minutes
slurm_partition
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")
}