extern int launch_p_create_job_step(srun_job_t *job, bool use_all_cpus, void (*signal_function)(int), sig_atomic_t *destroy_job, opt_t *opt_local, int pack_offset) { if (opt_local->launch_cmd) { int i = 0; char *cmd_line = NULL; while (opt_local->argv[i]) xstrfmtcat(cmd_line, "%s ", opt_local->argv[i++]); printf("%s\n", cmd_line); xfree(cmd_line); exit(0); } /* You can only run 1 job per node on a cray so make the request exclusive every time. */ opt_local->exclusive = true; opt_local->shared = 0; return launch_common_create_job_step(job, use_all_cpus, signal_function, destroy_job, opt_local); }
extern int launch_p_create_job_step(srun_job_t *job, bool use_all_cpus, void (*signal_function)(int), sig_atomic_t *destroy_job) { return launch_common_create_job_step(job, use_all_cpus, signal_function, destroy_job); }
extern int launch_p_create_job_step(srun_job_t *job, bool use_all_cpus, void (*signal_function)(int), sig_atomic_t *destroy_job) { /* set the jobid for totalview */ totalview_jobid = NULL; xstrfmtcat(totalview_jobid, "%u", job->ctx_params.job_id); return launch_common_create_job_step(job, use_all_cpus, signal_function, destroy_job); }
extern int launch_p_create_job_step(srun_job_t *job, bool use_all_cpus, void (*signal_function)(int), sig_atomic_t *destroy_job) { if (launch_common_create_job_step(job, use_all_cpus, signal_function, destroy_job) != SLURM_SUCCESS) return SLURM_ERROR; /* set the jobid for totalview */ totalview_jobid = NULL; xstrfmtcat(totalview_jobid, "%u", job->jobid); totalview_stepid = NULL; xstrfmtcat(totalview_stepid, "%u", job->stepid); return SLURM_SUCCESS; }
extern int launch_p_create_job_step(srun_job_t *job, bool use_all_cpus, void (*signal_function)(int), sig_atomic_t *destroy_job) { if (opt.launch_cmd) { int i = 0; char *cmd_line = NULL; while (opt.argv[i]) xstrfmtcat(cmd_line, "%s ", opt.argv[i++]); printf("%s\n", cmd_line); xfree(cmd_line); exit(0); } return launch_common_create_job_step(job, use_all_cpus, signal_function, destroy_job); }
extern int launch_p_create_job_step(srun_job_t *job, bool use_all_cpus, void (*signal_function)(int), sig_atomic_t *destroy_job) { char value[32]; /* If srun is call directly this wasn't figured out until later if the user used --mem. The problem here is this will not work with --launch_cmd since that doesn't go get an actual allocation (which is where pn_min_memory is decided). */ if ((opt.mem_per_cpu == NO_VAL) && global_resp && (global_resp->pn_min_memory & MEM_PER_CPU)) { snprintf(value, sizeof(value), "%u", global_resp->pn_min_memory & (~MEM_PER_CPU)); setenv("APRUN_DEFAULT_MEMORY", value, 1); } if (opt.launch_cmd) { int i = 0; char *cmd_line = NULL; while (opt.argv[i]) xstrfmtcat(cmd_line, "%s ", opt.argv[i++]); printf("%s\n", cmd_line); xfree(cmd_line); exit(0); } /* You can only run 1 job per node on a cray so make the request exclusive every time. */ opt.exclusive = true; opt.shared = 0; return launch_common_create_job_step(job, use_all_cpus, signal_function, destroy_job); }