openmpi/orte/orted/orted_submit.h

113 lines
3.1 KiB
C

/*
* Copyright (c) 2015-2017 Intel, Inc. All rights reserved.
* Copyright (c) 2016 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2017 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2017 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2021 IBM Corporation. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef ORTED_SUBMIT_H
#define ORTED_SUBMIT_H
#include "orte_config.h"
#include "opal/util/cmd_line.h"
#include "orte/mca/plm/plm.h"
#include "orte/runtime/orte_globals.h"
BEGIN_C_DECLS
typedef void (*orte_submit_cbfunc_t)(int index, orte_job_t *jdata, int ret, void *cbdata);
ORTE_DECLSPEC int orte_submit_init(int argc, char *argv[],
opal_cmd_line_init_t *opts);
ORTE_DECLSPEC int orte_submit_cancel(int index);
ORTE_DECLSPEC void orte_submit_finalize(void);
ORTE_DECLSPEC int orte_submit_job(char *cmd[], int *index,
orte_submit_cbfunc_t launch_cb, void *launch_cbdata,
orte_submit_cbfunc_t complete_cb, void *complete_cbdata);
ORTE_DECLSPEC int orte_submit_halt(void);
ORTE_DECLSPEC void orte_debugger_init_after_spawn(int fd, short event, void *arg);
ORTE_DECLSPEC void orte_debugger_detached(int fd, short event, void *arg);
ORTE_DECLSPEC int orte_submit_job_state_update(orte_job_t *jdata, orte_job_state_t state);
extern int orte_debugger_attach_fd;
extern bool orte_debugger_fifo_active;
extern opal_event_t *orte_debugger_attach;
extern char MPIR_attach_fifo[];
/**
* Global struct for caching orte command line options.
*/
struct orte_cmd_options_t {
char *help;
bool version;
bool verbose;
char *report_pid;
char *report_uri;
bool terminate;
bool debugger;
int num_procs;
char *appfile;
char *wdir;
bool set_cwd_to_session_dir;
char *path;
char *preload_files;
bool sleep;
char *stdin_target;
char *prefix;
char *path_to_mpirun;
#if OPAL_ENABLE_FT_CR == 1
char *sstore_load;
#endif
bool disable_recovery;
bool preload_binaries;
bool index_argv;
bool run_as_root;
char *personality;
bool create_dvm;
bool terminate_dvm;
bool nolocal;
bool no_oversubscribe;
bool oversubscribe;
int cpus_per_proc;
bool pernode;
int npernode;
bool use_hwthreads_as_cpus;
int npersocket;
char *mapping_policy;
char *ranking_policy;
char *binding_policy;
bool report_bindings;
char *cpu_list;
bool debug;
bool tag_output;
bool timestamp_output;
char *output_filename;
bool merge;
bool continuous;
char *hnp;
bool staged_exec;
int timeout;
bool report_state_on_timeout;
bool get_stack_traces;
};
typedef struct orte_cmd_options_t orte_cmd_options_t;
ORTE_DECLSPEC extern orte_cmd_options_t orte_cmd_options;
ORTE_DECLSPEC extern opal_cmd_line_t *orte_cmd_line;
END_C_DECLS
#endif /* ORTED_SUBMIT_H */