Going even further, I have realized you are following an outdated
documentation (12 releases behind from current one which is 14!!).

Here is the current API:

http://slurm.schedmd.com/api.html

Have a look at the "Resource allocation" section, not the job steps one:


   - *slurm_init_job_desc_msg*—Initialize the data structure used in
   resource allocation requests. You can then just set the fields of
   particular interest and let the others use default values.
   - *slurm_job_will_run*—Determine if a job would be immediately initiated
   if submitted now.
   - *slurm_allocate_resources*—Allocate resources for a job. Response
   message must be freed using *slurm_free_resource_allocation_response_msg* to
   avoid a memory leak.
   - *slurm_free_resource_allocation_response_msg*— Frees memory allocated
   by *slurm_allocate_resources*.
   - *slurm_allocate_resources_and_run*—Allocate resources for a job and
   spawn a job step. Response message must be freed using
   *slurm_free_resource_allocation_and_run_response_msg* to avoid a memory
   leak.
   - *slurm_free_resource_allocation_and_run_response_msg*— Frees memory
   allocated by *slurm_allocate_resources_and_run*.
   - *slurm_submit_batch_job*—Submit a script for later execution. Response
   message must be freed using *slurm_free_submit_response_response_msg* to
   avoid a memory leak.
   - *slurm_free_submit_response_response_msg*— Frees memory allocated by
   *slurm_submit_batch_job*.
   - *slurm_confirm_allocation*—Test if a resource allocation has already
   been made for a given job id. Response message must be freed using
   *slurm_free_resource_allocation_response_msg* to avoid a memory leak.
   This can be used to confirm that an allocation is still active or for error
   recovery

The steps one is to manage the steps concept I suppose. I mean, once you
submit a job it follows a series of steps that change its status. I think
this is the concept of step here. Steps should not be created nor modified
by the user but by the scheduler itself. So it is up to the programmer to
submit a job and query steps if needed, but not to modify them...

By the way, I have never programmed using slurm but I think I could be
correct ;). If not, I will be delighted to get responses because I will be
using job submission API in a few days!

Bests




Enviado desde mi iPad

El 7/11/2014, a las 20:02, José Román Bilbao Castro <[email protected]>
escribió:


I have read a bit further. I think this can be a misunderstanding of
documentation. It does not say you cannot submit jobs but that you
should use this API to create and populate new jobs information. There
is a structure that defines a job but it shouldn't be manipulated
directly but through the API. Once the job is defined, you can submit
it using a different API:

http://slurm.schedmd.com/launch_plugins.html

Have a look at the last sentence on the first section. It states to
have a look at the src/plugins/launch/slurm/launch_slurm.c  file.

Also, for a broader picture, have a look at this page on the Developers
section:

http://slurm.schedmd.com/documentation.html

Specially on the Design subsection where the process of creating and
submitting a job is further described (it consists of multiple steps
and APIs).

Hope this helps

Enviado desde mi iPad

El 7/11/2014, a las 16:08, Всеволод Никоноров <[email protected]>
escribió:



Hello Walter,


Maybe you could just use "system" function?


#include <cstdlib>

#include <cstdio>

int main (int argc, char** argv)

{

  printf ("begin\n");

  system ("sleep 1");

  printf ("end\n");

}


Place you sbatch call instead my "sleep 1", shouldn't this do what you want?


06.11.2014, 09:49, "Walter Landry" <[email protected]>:

Hello Everyone,


What is the recommended way for a C++ program to submit a job? О©╫The

API documentation says


О©╫О©╫SLURM job steps involve numerous interactions with the slurmd

О©╫О©╫daemon. The job step creation is only the first step in the

О©╫О©╫process. We don't advise direct user creation of job steps, but

О©╫О©╫include the information here for completeness.


Should I use system("srun")? О©╫DRMAA?


Thank you,

Walter Landry

[email protected]


--О©╫

Vsevolod Nikonorov, JSC NIKIET

О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫
О©╫О©╫О©╫О©╫О©╫О©╫

Reply via email to