Fix build --without-hwloc
This commit was SVN r29453.
Этот коммит содержится в:
родитель
fb356ee523
Коммит
25a84c7f0a
@ -132,15 +132,13 @@ static void setup_sighandler(int signal, opal_event_t *ev,
|
||||
|
||||
static int rte_init(void)
|
||||
{
|
||||
int ret, idx;
|
||||
int ret;
|
||||
char *error = NULL;
|
||||
char *contact_path, *jobfam_dir;
|
||||
orte_job_t *jdata;
|
||||
orte_node_t *node;
|
||||
orte_proc_t *proc;
|
||||
orte_app_context_t *app;
|
||||
char *coprocessors, **sns;
|
||||
uint32_t h;
|
||||
|
||||
/* run the prolog */
|
||||
if (ORTE_SUCCESS != (ret = orte_ess_base_std_prolog())) {
|
||||
@ -433,34 +431,42 @@ static int rte_init(void)
|
||||
/* obviously, we have "reported" */
|
||||
jdata->num_reported = 1;
|
||||
|
||||
/* detect and add any coprocessors */
|
||||
coprocessors = opal_hwloc_base_find_coprocessors(opal_hwloc_topology);
|
||||
if (NULL != coprocessors) {
|
||||
/* init the hash table, if necessary */
|
||||
if (NULL == orte_coprocessors) {
|
||||
orte_coprocessors = OBJ_NEW(opal_hash_table_t);
|
||||
opal_hash_table_init(orte_coprocessors, orte_process_info.num_procs);
|
||||
#if OPAL_HAVE_HWLOC
|
||||
{
|
||||
char *coprocessors, **sns;
|
||||
uint32_t h;
|
||||
int idx;
|
||||
|
||||
/* detect and add any coprocessors */
|
||||
coprocessors = opal_hwloc_base_find_coprocessors(opal_hwloc_topology);
|
||||
if (NULL != coprocessors) {
|
||||
/* init the hash table, if necessary */
|
||||
if (NULL == orte_coprocessors) {
|
||||
orte_coprocessors = OBJ_NEW(opal_hash_table_t);
|
||||
opal_hash_table_init(orte_coprocessors, orte_process_info.num_procs);
|
||||
}
|
||||
/* separate the serial numbers of the coprocessors
|
||||
* on this host
|
||||
*/
|
||||
sns = opal_argv_split(coprocessors, ',');
|
||||
for (idx=0; NULL != sns[idx]; idx++) {
|
||||
/* compute the hash */
|
||||
OPAL_HASH_STR(sns[idx], h);
|
||||
/* mark that this coprocessor is hosted by this node */
|
||||
opal_hash_table_set_value_uint32(orte_coprocessors, h, (void*)&(ORTE_PROC_MY_NAME->vpid));
|
||||
}
|
||||
opal_argv_free(sns);
|
||||
free(coprocessors);
|
||||
orte_coprocessors_detected = true;
|
||||
}
|
||||
/* separate the serial numbers of the coprocessors
|
||||
* on this host
|
||||
*/
|
||||
sns = opal_argv_split(coprocessors, ',');
|
||||
for (idx=0; NULL != sns[idx]; idx++) {
|
||||
/* compute the hash */
|
||||
OPAL_HASH_STR(sns[idx], h);
|
||||
/* mark that this coprocessor is hosted by this node */
|
||||
opal_hash_table_set_value_uint32(orte_coprocessors, h, (void*)&(ORTE_PROC_MY_NAME->vpid));
|
||||
/* see if I am on a coprocessor */
|
||||
coprocessors = opal_hwloc_base_check_on_coprocessor();
|
||||
if (NULL != coprocessors) {
|
||||
node->serial_number = coprocessors;
|
||||
orte_coprocessors_detected = true;
|
||||
}
|
||||
opal_argv_free(sns);
|
||||
free(coprocessors);
|
||||
orte_coprocessors_detected = true;
|
||||
}
|
||||
/* see if I am on a coprocessor */
|
||||
coprocessors = opal_hwloc_base_check_on_coprocessor();
|
||||
if (NULL != coprocessors) {
|
||||
node->serial_number = coprocessors;
|
||||
orte_coprocessors_detected = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Routed system
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user