Slurm job step initiation functions
#include <slurm/slurm.h>
void slurm_free_job_step_create_response_msg (
job_step_create_response_msg_t *slurm_step_alloc_resp_msg_ptr
);
int slurm_job_step_create (
job_step_create_request_msg_t *slurm_step_alloc_req_msg_ptr,
job_step_create_response_msg_t **slurm_step_alloc_resp_msg_pptr
);
slurm_step_alloc_req_msg_ptr
Specifies the pointer to the structure with job step request specification. See slurm.h for full details on the data structure's contents.
slurm_step_alloc_resp_msg_pptr
Specifies the double pointer to the structure to be created and filled with a description of the created job step: node allocation, credentials, etc. See slurm.h for full details on the data structure's contents.
slurm_free_job_step_create_response_msg Release the storage generated in response to a call of the function slurm_job_step_create.
slurm_job_step_create Initialize a job step including the allocation of nodes to it from those already allocate to that job. Always release the response message when no longer required using the function slurm_free_job_step_create_response_msg. The list of host names returned may be matched to their data in the proper order by using the functions hostlist_create, hostlist_shift, and hostlist_destroy.
On success, zero is returned. On error, -1 is returned, and Slurm error code is set appropriately.
SLURM_PROTOCOL_VERSION_ERROR Protocol version has changed, re-link your code.
ESLURM_INVALID_JOB_ID the requested job id does not exist.
ESLURM_ALREADY_DONE the specified job has already completed and can not be modified.
ESLURM_ACCESS_DENIED the requesting user lacks authorization for the requested action (e.g. trying to delete or modify another user's job).
ESLURM_DISABLED the ability to create a job step is currently disabled. This is indicative of the job being suspended. Retry the call as desired.
ESLURM_INTERCONNECT_FAILURE failed to configure the node interconnect.
ESLURM_BAD_DIST task distribution specification is invalid.
SLURM_PROTOCOL_SOCKET_IMPL_TIMEOUT Timeout in communicating with SLURM controller.
These functions are included in the libslurm library, which must be linked to your process for use (e.g. "cc -lslurm myprog.c").
Copyright (C) 2002-2007 The Regents of the University of California. Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). CODE-OCEC-09-009. All rights reserved.
This file is part of SLURM, a resource management program. For details, see <http://slurm.schedmd.com/>.
SLURM is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
SLURM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
hostlist_create(3), hostlist_shift(3), hostlist_destroy(3), srun(1), slurm_get_errno(3), slurm_perror(3), slurm_strerror(3)