Provide native integration with SLURM 2.0's OMPI support
This commit was SVN r21865.
Этот коммит содержится в:
родитель
5145efdc47
Коммит
7183179f56
@ -42,6 +42,7 @@
|
||||
#include "opal/util/argv.h"
|
||||
#include "opal/class/opal_pointer_array.h"
|
||||
#include "opal/mca/paffinity/paffinity.h"
|
||||
#include "opal/util/printf.h"
|
||||
|
||||
#include "orte/util/proc_info.h"
|
||||
#include "orte/util/show_help.h"
|
||||
@ -162,6 +163,20 @@ static int rte_init(void)
|
||||
}
|
||||
orte_process_info.num_procs = strtol(envar, NULL, 10);
|
||||
|
||||
/* if this is SLURM 2.0 or above, get our port
|
||||
* assignments for use in the OOB
|
||||
*/
|
||||
if (NULL != (envar = getenv("SLURM_STEP_RESV_PORTS"))) {
|
||||
/* convert this to an MCA param that will be
|
||||
* picked up by the OOB
|
||||
*/
|
||||
orte_oob_static_ports = strdup(envar);
|
||||
OPAL_OUTPUT_VERBOSE((1, orte_ess_base_output,
|
||||
"%s using SLURM-reserved ports %s",
|
||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
|
||||
envar));
|
||||
}
|
||||
|
||||
/* get my local nodeid */
|
||||
if (NULL == (envar = getenv("SLURM_NODEID"))) {
|
||||
error = "could not get SLURM_NODEID";
|
||||
|
@ -319,7 +319,7 @@ int mca_oob_tcp_component_open(void)
|
||||
mca_base_param_reg_string(&mca_oob_tcp_component.super.oob_base,
|
||||
"static_ports", "Static ports for daemons and procs (IPv4)",
|
||||
false, false,
|
||||
NULL,
|
||||
orte_oob_static_ports,
|
||||
&str);
|
||||
/* if ports were provided, parse the provided range */
|
||||
if (NULL != str) {
|
||||
@ -366,7 +366,7 @@ int mca_oob_tcp_component_open(void)
|
||||
mca_base_param_reg_string(&mca_oob_tcp_component.super.oob_base,
|
||||
"static_ports_v6", "Static ports for daemons and procs (IPv6)",
|
||||
false, false,
|
||||
NULL,
|
||||
orte_oob_static_ports,
|
||||
&str);
|
||||
if (NULL != str) {
|
||||
orte_static_ports = true;
|
||||
|
@ -56,7 +56,11 @@ bool orte_debug_daemons_file_flag = false;
|
||||
bool orte_leave_session_attached;
|
||||
bool orte_do_not_launch = false;
|
||||
bool orted_spin_flag = false;
|
||||
|
||||
/* ORTE OOB port flags */
|
||||
bool orte_static_ports = false;
|
||||
char *orte_oob_static_ports = NULL;
|
||||
|
||||
bool orte_keep_fqdn_hostnames = false;
|
||||
bool orte_show_resolved_nodenames;
|
||||
int orted_debug_failure;
|
||||
|
@ -487,7 +487,11 @@ ORTE_DECLSPEC extern bool orte_debug_daemons_file_flag;
|
||||
ORTE_DECLSPEC extern bool orte_leave_session_attached;
|
||||
ORTE_DECLSPEC extern bool orte_do_not_launch;
|
||||
ORTE_DECLSPEC extern bool orted_spin_flag;
|
||||
|
||||
/* ORTE OOB port flags */
|
||||
ORTE_DECLSPEC extern bool orte_static_ports;
|
||||
ORTE_DECLSPEC extern char *orte_oob_static_ports;
|
||||
|
||||
ORTE_DECLSPEC extern bool orte_keep_fqdn_hostnames;
|
||||
ORTE_DECLSPEC extern bool orte_show_resolved_nodenames;
|
||||
ORTE_DECLSPEC extern int orted_debug_failure;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user