From e08954a80e81e61c146f49654a68edb450d4db50 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Thu, 14 Dec 2006 20:16:34 +0000 Subject: [PATCH] Expand example of slurm_step_launch(). --- doc/man/man3/slurm_step_launch.3 | 52 ++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/doc/man/man3/slurm_step_launch.3 b/doc/man/man3/slurm_step_launch.3 index c225a5f6030..ca1adf58374 100644 --- a/doc/man/man3/slurm_step_launch.3 +++ b/doc/man/man3/slurm_step_launch.3 @@ -100,23 +100,45 @@ SLURM controller. .SH "EXAMPLE .LP +/* +.br + * To compile: +.br + * gcc test.c \-o test \-g \-pthread \-lslurm +.br + * +.br + * Or if Slurm is not in your default search paths: +.br + * gcc test.c \-o test \-g \-pthread \-I{$SLURM_DIR}/include +.br + * \-Wl,\-\-rpath={$SLURM_DIR}/lib \-L{$SLURM_DIR}/lib \-lslurm +.br + */ +.br #include <stdio.h> .br #include <stdlib.h> .br +#include <string.h> +.br #include <slurm/slurm.h> .br #include <slurm/slurm_errno.h> .LP static void _task_start(launch_tasks_response_msg_t *msg) .br - printf("task startup completed\\n"); +{ .br -} + printf("Task startup completed\\n"); .br +} +.LP static void _task_finish(task_exit_msg_t *msg) .br - printf("tasks completed\\n"); +{ +.br + printf("Tasks completed\\n"); .br } .LP @@ -132,9 +154,13 @@ int main (int argc, char *argv[]) .br slurm_job_step_launch_callbacks_t callbacks; .br - + uint32_t job_id, step_id; .LP - /* Set up step_req here */ + slurm_step_ctx_create_params_init(&step_req); +.br + step_req.node_count = 1; +.br + step_req.num_tasks = 1; .br step_ctx = slurm_step_ctx_create(&step_req); .br @@ -145,10 +171,22 @@ int main (int argc, char *argv[]) exit(1); .br } +.br + slurm_step_ctx_get(step_ctx, SLURM_STEP_CTX_JOBID, +.br + &job_id); +.br + slurm_step_ctx_get(step_ctx, SLURM_STEP_CTX_STEPID, +.br + &step_id); +.br + printf("Ready to start job %u step %u\n", job_id, step_id); .LP slurm_job_step_launch_t_init(¶ms); .br - /* Set params values here */ + params.argc = argc \- 1; +.br + params.argv = argv + 1; .br callbacks.task_start = _task_start; .br @@ -163,6 +201,8 @@ int main (int argc, char *argv[]) exit(1); .br } +.br + printf("Sent step launch RPC\\n"); .br if (slurm_step_launch_wait_start(step_ctx) != SLURM_SUCCESS) { .br -- GitLab