Slurm(3)
๐ธ NAME ๐ธ
This is the Slurm(3) page from User Contributed Perl Documentation, bestie. Manual name: Slurm - Perl API for libslurm. That's the whole vibe: Perl interface, Slurm energy, no cap ๐
.
โจ SYNOPSIS โจ
use Slurm;
my $slurm = Slurm::new();
$nodes = $slurm->load_node();
unless($nodes) {
die "failed to load node info: " . $slurm->strerror();
}
๐ฆ DESCRIPTION ๐ฆ
The Slurm class gives you a Perl interface to the Slurm API functions in <slurm/slurm.h>, plus some extra frequently used functions exported by libslurm. Iconic crossover event, honestly ๐ซถ.
๐ฌ METHODS ๐ฌ
To use the API, first create a Slurm object:
$slurm = Slurm::new($conf);
Then call the desired functions:
$resp = $slurm->load_jobs();
In the following METHODS section, if a parameter is omitted, it will be listed as param=val, where val is the default value of the parameter.
๐งฑ DATA STRUCTURES ๐งฑ
Typically, C structures are converted to (maybe blessed) Perl hash references, with field names as hash keys. Arrays in C are converted to arrays in Perl. For example, there is a structure job_info_msg_t:
typedef struct job_info_msg {
time_t last_update; /* time of latest info */
uint32_t record_count; /* number of records */
job_info_t *job_array; /* the job records */
} job_info_msg_t;
This will be converted to a hash reference with the following structure:
{
last_update => 1285847672,
job_array => [ {account => 'test', alloc_node => 'ln0', alloc_sid => 1234, ...},
{account => 'debug', alloc_node => 'ln2', alloc_sid => 5678, ...},
...
]
}
Note the missing record_count field in the hash. It can be derived from the number of elements in array job_array. Slay, derived data ๐
.
To pass parameters to the API functions, use the corresponding hash references, for example:
$rc = $slurm->update_node({node_names => 'node[0-7]', node_state => NODE_STATE_DRAIN});
Please see <slurm/slurm.h> for the definition of the structures.
๐ฎ CONSTANTS ๐ฎ
The enumerations and macro definitions are available in the Slurm package. If :constant is given when using the Slurm package, the constants will be exported to the calling package.
Please see Slurm::Constant for the available constants.
๐ METHODS ๐
๐ ๏ธ CONSTRUCTOR/DESTRUCTOR ๐ ๏ธ
$slurm = Slurm::new($conf_file=undef);
Create a Slurm object. For now the object is just a hash reference with no members.
- IN
$conf_file: the Slurm configuration file. If omitted, the default Slurm configuration file will be used (file specified by environment variableSLURM_CONFor the fileslurm.confunder directory specified in compile time). - RET: blessed opaque
Slurmobject. On errorundefis returned.
๐จ ERROR INFORMATION FUNCTIONS ๐จ
$errno = $slurm->get_errno();
Get the error number associated with last operation.
- RET: error number associated with last operation.
$str = $slurm->strerror($errno=0)
Get the string describing the specified error number.
- IN
$errno: error number. If omitted or 0, the error number returned by$slurm->get_errno()will be used. - RET: error string.
๐ท๏ธ ENTITY STATE/REASON/FLAG/TYPE STRING FUNCTIONS ๐ท๏ธ
$str = $slurm->preempt_mode_string($mode_num);
Get the string describing the specified preemt mode number.
- IN
$mode_num: preempt mode number. - RET: preempt mode string.
$num = $slurm->preempt_mode_num($mode_str);
Get the preempt mode number of the specified preempt mode string.
- IN
$mode_str: preempt mode string. - RET: preempt mode number.
$str = $slurm->job_reason_string($num);
Get the string representation of the specified job state reason number.
- IN
$num: job reason number. - RET: job reason string.
$str = $slurm->job_state_string($num);
Get the string representation of the specified job state number.
- IN
$num: job state number. - RET: job state string.
$str = $slurm->job_state_string_compact($num);
Get the compact string representation of the specified job state number.
- IN
$num: job state number. - RET: compact job state string.
$num = $slurm->job_state_num($str);
Get the job state number of the specified (compact) job state string.
- IN
$str: job state string. - RET: job state number.
$str = $slurm->reservation_flags_string($flags);
Get the string representation of the specified reservation flags.
- IN
$num: reservation flags number. - RET: reservation flags string.
Not me noticing the bullet says$numwhile the signature says$flags๐. Keeping it exact, bestie.
$str = $slurm->node_state_string($num);
Get the string representation of the specified node state number.
- IN
$num: node state number. - RET: node state string.
$str = $slurm->node_state_string_compact($num);
Get the compact string representation of the specified node state number.
- IN
$num: node state number. - RET: compact node state string.
$str = $slurm->private_data_string($num);
Get the string representation of the specified private data type.
- IN
$num: private data type number. - RET: private data type string.
$str = $slurm->accounting_enforce_string($num);
Get the string representation of the specified accounting enforce type.
- IN
$num: accounting enforce type number. - RET: accounting enforce type string.
๐๏ธ RESOURCE ALLOCATION FUNCTIONS ๐๏ธ
$resp = $slurm->allocate_resources($job_desc);
Allocate resources for a job request. If the requested resources are not immediately available, the slurmctld will send the job_alloc_resp_msg to the specified node and port.
- IN
$job_desc: description of resource allocation request, with structure ofjob_desc_msg_t. - RET: response to request, with structure of
resource_allocation_response_msg_t. This only represents a job allocation if resources are immediately available. Otherwise it just contains the job id of the enqueued job request. On failureundefis returned.
$resp = $slurm->allocate_resources_blocking($job_desc, $timeout=0, $pending_callbacks=undef);
Allocate resources for a job request. This call will block until the allocation is granted, or the specified timeout limit is reached.
- IN
$job_desc: description of resource allocation request, with structure ofjob_desc_msg_t. - IN
$timeout: amount of time, in seconds, to wait for a response before giving up. A timeout of zero will wait indefinitely. - IN
$pending_callbacks: If the allocation cannot be granted immediately, the controller will put the job in the PENDING state. If pending callback is given, it will be called with the job id of the pending job as the sole parameter. - RET: allocation response, with structure of
resource_allocation_response_msg_t. On failureundefis returned, with errno set.
$resp = $slurm->allocatiion_lookup($job_id);
Retrieve info for an existing resource allocation.
- IN
$job_id: job allocation identifier. - RET: job allocation info, with structure of
resource_allocation_response_msg_t. On failureundefis returned with errno set.
Yep,allocatiion_lookupwith the extraiโ that's the method name, I'm not fixing it ๐.
$str = $slurm->read_hostfile($filename, $n);
Read a specified Slurm hostfile. The file must contain a list of Slurm NodeNames, one per line.
- IN
$filename: name of Slurm hostlist file to be read. - IN
$n: number of NodeNames required. - RET: a string representing the hostlist. Returns
NULLif there are fewer than$nhostnames in the file, or if an error occurs.
$msg_thr = $slurm->allocation_msg_thr_create($port, $callbacks);
Startup a message handler talking with the controller dealing with messages from the controller during an allocation.
- OUT
$port: port we are listening for messages on from the controller. - IN
$callbacks: callbacks for different types of messages, with structure ofslurm_allocation_callbacks_t. - RET: opaque object of
allocation_msg_thread_t *, orNULLon failure.
$slurm->allocation_msg_thr_destroy($msg_thr);
Shutdown the message handler talking with the controller dealing with messages from the controller during an allocation.
- IN
$msg_thr: opaque object ofallocation_msg_thread_tpointer.
$resp = $slurm->submit_batch_job($job_desc_msg);
Issue RPC to submit a job for later execution.
- IN
$job_desc_msg: description of batch job request, with structure ofjob_desc_msg_t. - RET:
SLURM_SUCCESSon success, otherwise returnSLURM_ERRORwith errno set.
$rc = $slurm->job_will_run($job_desc_msg);
Determine if a job would execute immediately if submitted now.
- IN
$job_desc_msg: description of resource allocation request, with structure ofjob_desc_msg_t. - RET:
SLURM_SUCCESSon success, otherwise returnSLURM_ERRORwith errno set.
$resp = $slurm->sbcast_lookup($job_id);
Retrieve info for an existing resource allocation including a credential needed for sbcast.
- IN
$jobid: job allocation identifier. - RET: job allocation information including a credential for sbcast, with structure of
job_sbcast_cred_msg_t. On failureundefis returned with errno set.
The signature says$job_id, the bullet says$jobidโ both are here, exactly as the page gives them ๐ซถ.
๐ก JOB/STEP SIGNALING FUNCTIONS ๐ก
$rc = $slurm->kill_job($job_id, $signal, $batch_flag=0);
Send the specified signal to all steps of an existing job.
- IN
$job_id: the job's id. - IN
$signal: signal number. - IN
$batch_flag: 1 to signal batch shell only, otherwise 0. - RET:
SLURM_SUCCESSon success, otherwise returnSLURM_ERRORwith errno set.
$rc = $slurm->signal_job($job_id, $signal);
Send the specified signal to all steps of an existing job.
- IN
$job_id: the job's id. - IN
$signal: signal number. - RET:
SLURM_SUCCESSon success, otherwise returnSLURM_ERRORwith errno set.
โ๏ธ SLURM CONTROL CONFIGURATION READ/PRINT/UPDATE FUNCTIONS โ๏ธ
($major, $minor, $micro) = $slurm->api_version();
Get the Slurm API's version number.
- RET: a three element list of the major, minor, and micro version number.
$resp = $slurm->load_ctl_conf($update_time=0);
Issue RPC to get Slurm control configuration information if changed.
- IN
$update_time: time of current configuration data. - RET: Slurm configuration data, with structure of
slurm_ctl_t. On failureundefis returned with errno set.
$slurm->print_ctl_conf($out, $conf);
Output the contents of Slurm control configuration message as loaded using load_ctl_conf().
- IN
$out: file to write to. - IN
$conf: Slurm control configuration, with structure ofslurm_conf_t.
$list = $slurm->ctl_conf_2_key_pairs($conf);
Put the Slurm configuration data into a List of opaque data type config_key_pair_t.
- IN
$conf: Slurm control configuration, with structure ofslurm_conf_t. - RET: List of opaque data type
config_key_pair_t.
$resp = $slurm->load_slurmd_status();
Okay bestie, this one fires an RPC to get the status of the slurmd daemon on this machine ๐
- RET: slurmd status info, with structure of
slurmd_status_t. On failureundefis returned witherrnoset.
$slurm->print_slurmd_status($out, $slurmd_status);
Prints out the contents of a slurmd status message that you loaded with load_slurmd_status() โจ
- IN
$out: file to write to. - IN
$slurmd_status: slurmd status info, with structure ofslurmd_status_t.
$slurm->print_key_pairs($out, $key_pairs, $title);
Prints the contents of $key_pairs, which is a list of the opaque data type config_key_pair_t ๐
- IN
$out: file to write to. - IN
$key_pairs: list containing key pairs to be printed. - IN
$title: title of key pair list.
โจ SLURM JOB CONFIGURATION READ/PRINT/UPDATE FUNCTIONS โจ
$time = $slurm->get_end_time($job_id);
Gets the expected end time for a given Slurm job, no cap ๐
- IN
$jobid: Slurm job id. - RET: scheduled end time for the job. On failure
undefis returned witherrnoset.
$secs = $slurm->get_rem_time($job_id);
Gets the expected time remaining for a given job. Literally your โhow much longerโ check ๐
- IN
$jobid: Slurm job id. - RET: remaining time in seconds or
-1on error.
$rc = $slurm->job_node_ready($job_id);
Reports whether nodes are ready for the job to execute right now ๐
- IN
$job_id: Slurm job id. - RET:
READY_JOB_FATAL: fatal errorREADY_JOB_ERROR: ordinary errorREADY_NODE_STATE: node is readyREADY_JOB_STATE: job is ready to execute
$resp = $slurm->load_job($job_id, $show_flags=0);
Fires an RPC to get job information for one job ID ๐ฆ
- IN
$job_id: ID of job we want information about. - IN
$show_flags: job filtering options. - RET: job information, with structure of
job_info_msg_t. On failureundefis returned witherrnoset.
$resp = $slurm->load_jobs($update_time=0, $show_flags=0);
Fires an RPC to get all Slurm job information if it changed. Group-chat โwhatโs newโ energy fr fr ๐ฌ
- IN
$update_time: time of current job information data. - IN
$show_flags: job filtering options. - RET: job information, with structure of
job_info_msg_t. On failureundefis returned witherrnoset.
$rc = $slurm->notify_job($job_id, $message);
Sends a message to the jobโs stdout โ usable only by user root ๐ฅ
- IN
$job_id: Slurm job id or0for all jobs. - IN
$message: arbitrary message. - RET:
0or-1on error.
$job_id = $slurm->pid2jobid($job_pid);
Fires an RPC to get the Slurm job ID of a given process ID on this machine ๐
- IN
$job_pid: process ID of interest on this machine. - RET: corresponding job ID. On failure
undefis returned.
$slurm->print_job_info($out, $job_info, $one_liner=0);
Prints information about a specific Slurm job based on the message you loaded with load_jobs() ๐
- IN
$out: file to write to. - IN
$job_info: an individual job information record, with structure ofjob_info_t. - IN
$one_liner: print as a single line if true.
$slurm->print_job_info_msg($out, $job_info_msg, $one_liner=0);
Prints information about all Slurm jobs based on the message you loaded with load_jobs() ๐
- IN
$out: file to write to. - IN
$job_info_msg: job information message, with structure ofjob_info_msg_t. - IN
$one_liner: print as a single line if true.
$str = $slurm->sprint_job_info($job_info, $one_liner=0);
Prints information about a specific Slurm job based on the message you loaded with load_jobs() โ but returns it as a string instead of printing straight to a file โจ
- IN
$job_info: an individual job information record, with structure ofjob_info_t. - IN
$one_liner: print as a single line if true. - RET: string containing formatted output.
$rc = $slurm->update_job($job_info);
Fires an RPC to a jobโs configuration per request โ only usable by user root or, for some parameters, the jobโs owner ๐
- IN
$job_info: description of job updates, with structure ofjob_desc_msg_t. - RET:
SLURM_SUCCESSon success, otherwise returnSLURM_ERRORwitherrnoset.
๐ฆ SLURM NODE CONFIGURATION READ/PRINT/UPDATE FUNCTIONS ๐ฆ
$resp = $slurm->load_node($update_time=0, $show_flags=0);
Fires an RPC to get all node configuration information if it changed ๐ง
- IN
$update_time: time of current configuration data. - IN
$show_flags: node filtering options. - RET: response hash reference with structure of
node_info_msg_t. On failureundefis returned witherrnoset.
$slurm->print_node_info_msg($out, $node_info_msg, $one_liner=0);
Prints information about all Slurm nodes based on the message you loaded with load_node() ๐ธ
- IN
$out: FILE handle to write to. - IN
$node_info_msg: node information message to print, with structure ofnode_info_msg_t. - IN
$one_liner: if true, each node info will be printed as a single line.
$slurm->print_node_table($out, $node_info, $one_liner=0);
Prints information about a specific Slurm node based on the message you loaded with load_node() ๐
- IN
$out: FILE handle to write to. - IN
$node_info: an individual node information record with structure ofnode_info_t. - IN
$one_liner: whether to print as a single line.
$str = $slurm->sprint_node_table($node_info, $one_liner=0);
Prints information about a specific Slurm node based on the message as loaded using load_node โ and gives you the formatted string back ๐
- IN
$node_info: an individual node information record with structure ofnode_info_t. - IN
$one_liner: whether to print as a single line. - RET: string containing formatted output on success,
undefon failure.
$rc = $slurm->update_node($node_info);
Fires an RPC to modify a nodeโs configuration per request โ only usable by user root ๐ฅ
- IN
$node_info: description of node updates, with structure ofupdate_node_msg_t. - RET:
0on success,-1on failure witherrnoset.
๐ SLURM PARTITION CONFIGURATION READ/PRINT/UPDATE FUNCTIONS ๐
$resp = $slurm->load_partitions($update_time=0, $show_flags=0);
Fires an RPC to get all Slurm partition configuration information if it changed ๐ฆ
- IN
$update_time: time of current configuration data. - IN
$show_flags: partitions filtering options. - RET: response hash reference with structure of
partition_info_msg_t.
$slurm->print_partition_info_msg($out, $part_info_msg, $one_liner=0);
Prints information about all Slurm partitions based on the message you loaded with load_partitions() ๐
- IN
$out: FILE handle to write to. - IN
$part_info_msg: partitions information message, with structure ofpartition_info_msg_t. - IN
$one_liner: print as a single line if true.
$slurm->print_partition_info($out, $part_info, $one_liner=0);
Prints information about a specific Slurm partition based on the message you loaded with load_partitions() ๐
- IN
$out: FILE handle to write to. - IN
$part_info: an individual partition information record, with structure ofpartition_info_t. - IN
$one_liner: print as a single line if true.
$str = $slurm->sprint_partition_info($part_info, $one_liner=0);
Prints information about a specific Slurm partition based on the message as loaded using load_reservations() โ yes, thatโs what it says, bestie ๐ญ
- IN
$part_info: an individual partition information record, with structure ofpartition_info_t. - IN
$one_liner: print as a single line if true. - RET: string containing formatted output. On failure
undefis returned.
$rc = $slurm->create_partition($part_info);
Creates a new partition โ only usable by user root ๐
- IN
$part_info: description of partition configuration with structure ofupdate_part_msg_t. - RET:
0on success,-1on failure witherrnoset.
$rc = $slurm->update_partition($part_info);
Fires an RPC to update a partitionโs configuration per request โ only usable by user root ๐ฅ
- IN
$part_info: description of partition updates with structure ofupdate_part_msg_t. - RET:
0on success,-1on failure witherrnoset.
$rc = $slurm->delete_partition($part_info)
Fires an RPC to delete a partition โ only usable by user root ๐
- IN
$part_info: description of partition to delete, with structure ofdelete_part_msg_t. - RET:
0on success,-1on failure witherrnoset.
๐ SLURM RESERVATION CONFIGURATION READ/PRINT/UPDATE FUNCTIONS ๐
$name = $slurm->create_reservation($resv_info);
Creates a new reservation โ only usable by user root ๐
- IN
$resv_info: description of reservation, with structure ofresv_desc_msg_t. - RET: name of reservation created. On failure
undefis returned witherrnoset.
$rc = $slurm->update_reservation($resv_info);
Modifies an existing reservation โ only usable by user root ๐ธ
- IN
$resv_info: description of reservation, with structure ofresv_desc_msg_t. - RET: error code.
$rc = $slurm->delete_reservation($resv_info);
Fires an RPC to delete a reservation โ only usable by user root ๐
- IN
$resv_info: description of reservation to delete, with structure ofreservation_name_msg_t. - RET: error code.
$resp = $slurm->load_reservations($update_time=0);
Fires an RPC to get all Slurm reservation configuration information if it changed ๐ง
- IN
$update_time: time of current configuration data. - RET: response of reservation information, with structure of
reserve_info_msg_t. On failureundefis returned witherrnoset.
$slurm->print_reservation_info_msg($out, $resv_info_msg, $one_liner=0);
Prints information about all Slurm reservations based on the message you loaded with load_reservation() ๐
- IN
$out: FILE handle to write to. - IN
$resv_info_msg: reservation information message, with structure ofreserve_info_msg_t. - IN
$one_liner: print as a single line if true.
$slurm->print_reservation_info($out, $resv_info, $one_liner=0);
Prints information about a specific Slurm reservation based on the message you loaded with load_reservation() โจ
- IN
$out: FILE handle to write to. - IN
$resv_info: an individual reservation information record, with structure ofreserve_info_t. - IN
$one_liner: print as a single line if true.
$str = $slurm->sprint_reservation_info($resv_info, $one_liner=0);
Prints information about a specific Slurm reservation based on the message you loaded with load_reservations() โ and returns it as a string ๐
- IN
$resv_info: an individual reservation information record, with structure ofreserve_info_t. - IN
$one_liner: print as a single line if true. - RET: string containing formatted output. On failure
undefis returned.
๐ฅ SLURM PING/RECONFIGURE/SHUTDOWN FUNCTIONS ๐ฅ
$rc = $slurm->ping($primary);
Fires an RPC to ping the Slurm controller (slurmctld) ๐ก
- IN primary:
1for primary controller,2for secondary controller. - RET: error code.
$rc = $slurm->reconfigure()
Okay so the next RPC is literally the one that has the Slurm controller (slurmctld) reload its configuration file. โจ
RETโ error code.
$rc = $slurm->shutdown($options); โ this RPC tells the Slurm controller (slurmctld) to cease operations, and both the primary and backup controller are shutdown. ๐ญ
IN $options:0โ all slurm daemons are shutdown.1โ slurmctld generates a core file.2โ only the slurmctld is shutdown (no core file).
RETโ error code.
$rc = $slurm->takeover(); โ this RPC has the Slurm backup controller take over the primary controller. REQUEST_CONTROL is sent by the backup to the primary controller to take control. ๐
RETโ error code.
$rc = $slurm->set_debug_level($debug_level) โ this RPC sets the slurm controller debug level. ๐
IN $debug_levelโ requested debug level.RETโ 0 on success, -1 on error with errno set.
$rc = $slurm->set_schedlog_level($schedlog_level); โ this RPC sets the slurm scheduler log level. ๐
$schedlog_levelโ requested scheduler log level.RETโ 0 on success, -1 on error with errno set.
โธ๏ธ SLURM JOB SUSPEND FUNCTIONS โธ๏ธ
$rc = $slurm->suspend($job_id); โ suspend execution of a job. ๐ด
IN $job_idโ the job you're targeting for the operation.RETโ error code.
$rc = $slurm->resume($job_id); โ resume execution of a previously suspended job. โถ๏ธ
IN $job_idโ the job you're performing the operation on.RETโ error code.
$rc = $slurm->requeue($job_id); โ re-queue a batch job; if it's already running, terminate it first. ๐
IN $job_idโ the job you're performing the operation on.RETโ error code.
๐ฏ SLURM TRIGGER FUNCTIONS ๐ฏ
$rc = $slurm->set_trigger($trigger_info); โ set an event trigger. ๐
IN $trigger_infoโ hash reference of the specification of the trigger to create, with structure of"trigger_info_t".RETโ error code.
$rc = $slurm->clear_trigger($trigger_info); โ clear an existing event trigger. ๐งน
IN $trigger_infoโ hash reference of the specification of the trigger to remove, with structure of"trigger_info_t".RETโ error code.
$resp = $slurm->get_triggers(); โ get all event trigger information. ๐
RETโ hash reference with structure of"trigger_info_msg_t". On failure"undef"is returned with errno set.
๐งช JOB/NODE STATE TESTING FUNCTIONS ๐งช
These are the little state-checking besties, based on the macros defined in src/common/slurm_protocol_defs.h. Each one takes a parameter of a hash reference of a job/node and returns a boolean value. For a job, $job->{job_state} is tested. For a node, $node->{node_state} is tested. Slay. ๐
$cond = IS_JOB_PENDING($job);
$cond = IS_JOB_RUNNING($job);
$cond = IS_JOB_SUSPENDED($job);
$cond = IS_JOB_COMPLETE($job);
$cond = IS_JOB_CANCELLED($job);
$cond = IS_JOB_FAILED($job);
$cond = IS_JOB_TIMEOUT($job);
$cond = IS_JOB_NODE_FAILED($job);
$cond = IS_JOB_COMPLETING($job);
$cond = IS_JOB_CONFIGURING($job);
$cond = IS_JOB_STARTED($job);
$cond = IS_JOB_FINISHED($job);
$cond = IS_JOB_COMPLETED($job);
$cond = IS_JOB_RESIZING($job);
$cond = IS_NODE_UNKNOWN($node);
$cond = IS_NODE_DOWN($node);
$cond = IS_NODE_IDLE($node);
$cond = IS_NODE_ALLOCATED($node);
$cond = IS_NODE_ERROR($node);
$cond = IS_NODE_MIXED($node);
$cond = IS_NODE_FUTURE($node);
$cond = IS_NODE_DRAIN($node);
$cond = IS_NODE_DRAINING($node);
$cond = IS_NODE_DRAINED($node);
$cond = IS_NODE_COMPLETING($node);
$cond = IS_NODE_NO_RESPOND($node);
$cond = IS_NODE_POWERED_DOWN($node);
$cond = IS_NODE_POWER_UP($node);
$cond = IS_NODE_FAIL($node);
$cond = IS_NODE_MAINT($node);
๐ค EXPORT ๐ค
The job/node state testing functions are exported by default. ๐
If ':constant' is specified, all constants are exported.
๐ SEE ALSO ๐
Slurm::Constant,Slurm::Hostlist,Slurm::Bitstr<slurm/slurm.h>for various hash reference structures.- Home page of Slurm:
<http://slurm.schedmd.com>.
๐ AUTHOR ๐
This library is created by Hongjia Cao, <hjcao(AT)nudt.edu.cn> and Danny Auble, <da(AT)llnl.gov>. It is distributed with Slurm. ๐ซถ
๐ COPYRIGHT AND LICENSE ๐
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.
Later, bestie! ๐ซถ This page's source/version is perl v5.40.2, its date is 2026-10-14, and it's the Slurm(3) man page. ๐
โจ
๐ฆ where this page comes from
- epel 10: slurm-perlapi 26.05.5-1.el10_3 ยท GPL-2.0-or-later AND BSD-2-Clause AND BSD-1-Clause
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms