File indexing completed on 2025-02-23 10:12:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #ifndef MCA_PLM_PRIVATE_H
0029 #define MCA_PLM_PRIVATE_H
0030
0031
0032
0033
0034 #include "prte_config.h"
0035 #include "types.h"
0036
0037 #ifdef HAVE_SYS_TIME_H
0038 # include <sys/time.h>
0039 #endif
0040
0041 #include "src/class/pmix_list.h"
0042 #include "src/class/pmix_pointer_array.h"
0043 #include "src/mca/base/pmix_mca_base_framework.h"
0044
0045 #include "src/mca/odls/odls_types.h"
0046 #include "src/mca/plm/plm_types.h"
0047 #include "src/rml/rml_types.h"
0048 #include "src/runtime/prte_globals.h"
0049
0050 BEGIN_C_DECLS
0051
0052 PRTE_EXPORT extern pmix_mca_base_framework_t prte_plm_base_framework;
0053
0054
0055 typedef struct {
0056
0057 char *base_nspace;
0058
0059 uint32_t next_jobid;
0060
0061 struct timeval daemonlaunchstart;
0062
0063 pmix_data_buffer_t tree_spawn_cmd;
0064
0065 bool daemon_nodes_assigned_at_launch;
0066 size_t node_regex_threshold;
0067 pmix_list_t daemon_cache;
0068 bool daemon1_has_reported;
0069 char **cache;
0070 } prte_plm_globals_t;
0071
0072
0073
0074 PRTE_EXPORT extern prte_plm_globals_t prte_plm_globals;
0075
0076
0077
0078
0079 PRTE_EXPORT int prte_plm_base_set_progress_sched(int sched);
0080
0081
0082
0083
0084 PRTE_EXPORT void prte_plm_base_daemon_callback(int status, pmix_proc_t *sender,
0085 pmix_data_buffer_t *buffer, prte_rml_tag_t tag,
0086 void *cbdata);
0087 PRTE_EXPORT void prte_plm_base_daemon_failed(int status, pmix_proc_t *sender,
0088 pmix_data_buffer_t *buffer, prte_rml_tag_t tag,
0089 void *cbdata);
0090 PRTE_EXPORT void prte_plm_base_daemon_topology(int status, pmix_proc_t *sender,
0091 pmix_data_buffer_t *buffer, prte_rml_tag_t tag,
0092 void *cbdata);
0093
0094 PRTE_EXPORT int prte_plm_base_create_jobid(prte_job_t *jdata);
0095 PRTE_EXPORT int prte_plm_base_set_hnp_name(void);
0096 PRTE_EXPORT void prte_plm_base_reset_job(prte_job_t *jdata);
0097 PRTE_EXPORT int prte_plm_base_setup_prted_cmd(int *argc, char ***argv);
0098 PRTE_EXPORT void prte_plm_base_check_all_complete(int fd, short args, void *cbdata);
0099 PRTE_EXPORT int prte_plm_base_setup_virtual_machine(prte_job_t *jdata);
0100
0101
0102
0103
0104 PRTE_EXPORT int prte_plm_base_prted_exit(prte_daemon_cmd_flag_t command);
0105 PRTE_EXPORT int prte_plm_base_prted_terminate_job(pmix_nspace_t jobid);
0106 PRTE_EXPORT int prte_plm_base_prted_kill_local_procs(pmix_pointer_array_t *procs);
0107 PRTE_EXPORT int prte_plm_base_prted_signal_local_procs(pmix_nspace_t job, int32_t signal);
0108
0109
0110
0111
0112 PRTE_EXPORT int prte_plm_base_comm_start(void);
0113 PRTE_EXPORT int prte_plm_base_comm_stop(void);
0114 PRTE_EXPORT void prte_plm_base_recv(int status, pmix_proc_t *sender, pmix_data_buffer_t *buffer,
0115 prte_rml_tag_t tag, void *cbdata);
0116
0117
0118
0119
0120 PRTE_EXPORT int prte_plm_base_prted_append_basic_args(int *argc, char ***argv, char *ess_module,
0121 int *proc_vpid_index);
0122
0123
0124
0125
0126
0127 PRTE_EXPORT int prte_plm_proxy_init(void);
0128 PRTE_EXPORT int prte_plm_proxy_spawn(prte_job_t *jdata);
0129 PRTE_EXPORT int prte_plm_proxy_finalize(void);
0130
0131 END_C_DECLS
0132
0133 #endif