1
1

More fixes to try to get Red Storm port going again....

* Add a platform spec for using the portals reference implementation's
  RTE instead of our own to make local testing easier.
* Add a cnos rmgr component so that 1) we don't have to build nearly
  as many components (no need for ras,rds,pls,etc.) and 2) calls
  to MPI_ABORT() won't print error messages about not being able to
  contact the daemon.  Still need to fill in some of the terminate
  stuff with calls from cnos, but will come in time.
* Make gpr_null use the base code for creating value and keyval
  structures so that we don't segfault in ompi_mpi_init().

This commit was SVN r9510.
Этот коммит содержится в:
Brian Barrett 2006-04-01 04:54:46 +00:00
родитель 858612fd06
Коммит 2c64ab562e
8 изменённых файлов: 379 добавлений и 21 удалений

Просмотреть файл

@ -5,12 +5,12 @@
enable_f77=no
enable_io_romio=no
with_threads=posix
enable_pretty_print_stacktrace=no
enable_pretty_print_stacktrace=yes
enable_dlopen=no
with_portals_config=utcp
with_memory_manager=no
enable_heterogeneous=no
enable_mca_no_build=maffinity-first_use,maffinity-libnuma,paffinity-linux,timer-linux,gpr-proxy,gpr-replica,rml-oob,btl-sm,mpool-sm,btl-self,ns-proxy,rds-resfile,sds-env,sds-pipe,sds-seed,sds-singleton,coll-hierarch,coll-sm,pml-dr,btl-tcp,oob-tcp,ras-dash_host,ras-hostfile,ras-localhost,rds-hostfile,rds-resfile,rmaps-round_robin,rmgr-proxy,pls-fork,pls-rsh,common_sm
enable_mca_no_build=maffinity-first_use,maffinity-libnuma,paffinity-linux,timer-linux,gpr-proxy,gpr-replica,rml-oob,btl-sm,mpool-sm,btl-self,ns-proxy,rds-resfile,rds-hostfile,sds-env,sds-pipe,sds-seed,sds-singleton,coll-hierarch,coll-sm,pml-dr,btl-tcp,oob-tcp,ras-dash_host,ras-hostfile,ras-localhost,rmaps-round_robin,rmgr-urm,rmgr-proxy,pls-fork,pls-rsh,common-sm,iof-svc
with_memory_manager=no
with_slurm=no
with_bproc=no
@ -18,3 +18,4 @@ with_mvapi=no
with_openib=no
with_gm=no
with_rml_cnos=utcp
with_rmgr_cnos=utcp

Просмотреть файл

@ -22,6 +22,7 @@
#include "orte/mca/gpr/gpr.h"
#include "orte/orte_constants.h"
#include "opal/util/output.h"
#include "orte/mca/gpr/base/base.h"
static int
@ -61,23 +62,6 @@ orte_gpr_null_cleanup_proc(orte_process_name_t * proc)
return ORTE_SUCCESS;
}
static int orte_gpr_null_create_value(orte_gpr_value_t **value,
orte_gpr_addr_mode_t addr_mode,
char *segment,
size_t cnt, /**< Number of keyval objects */
size_t num_tokens)
{
return ORTE_SUCCESS;
}
static int orte_gpr_null_create_keyval(orte_gpr_keyval_t **keyval,
char *key,
orte_data_type_t type,
void *data)
{
return ORTE_SUCCESS;
}
static int
orte_gpr_null_preallocate_segment(char *name, size_t num_slots)
{
@ -387,8 +371,8 @@ orte_gpr_base_module_t orte_gpr_null_module = {
orte_gpr_null_delete_segment_nb,
orte_gpr_null_index_nb,
/* GENERAL OPERATIONS */
orte_gpr_null_create_value,
orte_gpr_null_create_keyval,
orte_gpr_base_create_value,
orte_gpr_base_create_keyval,
orte_gpr_null_preallocate_segment,
orte_gpr_null_deliver_notify_msg,
/* ARITHMETIC OPERATIONS */

49
orte/mca/rmgr/cnos/Makefile.am Обычный файл
Просмотреть файл

@ -0,0 +1,49 @@
#
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# Use the top-level Makefile.options
# Make the output library in this directory, and name it either
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
# (for static builds).
if OMPI_BUILD_rmgr_cnos_DSO
component_noinst =
component_install = mca_rmgr_cnos.la
else
component_noinst = libmca_rmgr_cnos.la
component_install =
endif
cnos_SOURCES = \
rmgr_cnos.c \
rmgr_cnos.h \
rmgr_cnos_component.c
mcacomponentdir = $(libdir)/openmpi
mcacomponent_LTLIBRARIES = $(component_install)
mca_rmgr_cnos_la_SOURCES = $(cnos_SOURCES)
mca_rmgr_cnos_la_LIBADD = \
$(top_ompi_builddir)/orte/liborte.la \
$(top_ompi_builddir)/opal/libopal.la
mca_rmgr_cnos_la_LDFLAGS = -module -avoid-version
noinst_LTLIBRARIES = $(component_noinst)
libmca_rmgr_cnos_la_SOURCES = $(cnos_SOURCES)
libmca_rmgr_cnos_la_LIBADD =
libmca_rmgr_cnos_la_LDFLAGS = -module -avoid-version

35
orte/mca/rmgr/cnos/configure.m4 Обычный файл
Просмотреть файл

@ -0,0 +1,35 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# MCA_rmgr_cnos_CONFIG([action-if-found], [action-if-not-found])
# -----------------------------------------------------------
AC_DEFUN([MCA_rmgr_cnos_CONFIG],[
rmgr_cnos_happy="no"
# see if we should enable super secret utcp support
if test "$with_rmgr_cnos" = "utcp" ; then
rmgr_cnos_happy="yes"
else
# check for cnos functions
AC_CHECK_FUNC([cnos_barrier],
[rmgr_cnos_happy="yes"],
[rmgr_cnos_happy="no"])
fi
AS_IF([test "$rmgr_cnos_happy" = "yes"], [$1], [$2])
])dnl

21
orte/mca/rmgr/cnos/configure.params Обычный файл
Просмотреть файл

@ -0,0 +1,21 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# Specific to this module
PARAM_INIT_FILE=rmgr_cnos.c
PARAM_CONFIG_FILES="Makefile"

141
orte/mca/rmgr/cnos/rmgr_cnos.c Обычный файл
Просмотреть файл

@ -0,0 +1,141 @@
/*
* Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "orte_config.h"
#include <stdlib.h>
#include <errno.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif /* HAVE_UNISTD_H */
#ifdef HAVE_STRING_H
#include <string.h>
#endif /* HAVE_STRING_H */
#include "orte/orte_constants.h"
#include "orte/mca/rmgr/base/base.h"
#include "rmgr_cnos.h"
static int orte_rmgr_cnos_query(void);
static int orte_rmgr_cnos_create(
orte_app_context_t** app_context,
size_t num_context,
orte_jobid_t* jobid);
static int orte_rmgr_cnos_allocate(
orte_jobid_t jobid);
static int orte_rmgr_cnos_deallocate(
orte_jobid_t jobid);
static int orte_rmgr_cnos_map(
orte_jobid_t jobid);
static int orte_rmgr_cnos_launch(
orte_jobid_t jobid);
static int orte_rmgr_cnos_terminate_job(
orte_jobid_t jobid);
static int orte_rmgr_cnos_terminate_proc(
const orte_process_name_t* proc_name);
static int orte_rmgr_cnos_spawn(
orte_app_context_t** app_context,
size_t num_context,
orte_jobid_t* jobid,
orte_rmgr_cb_fn_t cbfn,
orte_proc_state_t cb_conditions);
orte_rmgr_base_module_t orte_rmgr_cnos_module = {
orte_rmgr_cnos_query,
orte_rmgr_cnos_create,
orte_rmgr_cnos_allocate,
orte_rmgr_cnos_deallocate,
orte_rmgr_cnos_map,
orte_rmgr_cnos_launch,
orte_rmgr_cnos_terminate_job,
orte_rmgr_cnos_terminate_proc,
orte_rmgr_cnos_spawn,
orte_rmgr_base_proc_stage_gate_init,
orte_rmgr_base_proc_stage_gate_mgr,
NULL, /* finalize */
};
/*
* Create the job segment and initialize the application context.
*/
static int orte_rmgr_cnos_create(
orte_app_context_t** app_context,
size_t num_context,
orte_jobid_t* jobid)
{
return ORTE_ERR_NOT_SUPPORTED;
}
static int orte_rmgr_cnos_query(void)
{
return ORTE_ERR_NOT_SUPPORTED;
}
static int orte_rmgr_cnos_allocate(orte_jobid_t jobid)
{
return ORTE_ERR_NOT_SUPPORTED;
}
static int orte_rmgr_cnos_deallocate(orte_jobid_t jobid)
{
return ORTE_ERR_NOT_SUPPORTED;
}
static int orte_rmgr_cnos_map(orte_jobid_t jobid)
{
return ORTE_ERR_NOT_SUPPORTED;
}
static int orte_rmgr_cnos_launch(orte_jobid_t jobid)
{
return ORTE_ERR_NOT_SUPPORTED;
}
static int orte_rmgr_cnos_terminate_job(orte_jobid_t jobid)
{
abort();
return ORTE_SUCCESS;
}
static int orte_rmgr_cnos_terminate_proc(const orte_process_name_t* proc_name)
{
abort();
return ORTE_SUCCESS;
}
static int orte_rmgr_cnos_spawn(
orte_app_context_t** app_context,
size_t num_context,
orte_jobid_t* jobid,
orte_rmgr_cb_fn_t cbfunc,
orte_proc_state_t cb_conditions)
{
return ORTE_ERR_NOT_SUPPORTED;
}

39
orte/mca/rmgr/cnos/rmgr_cnos.h Обычный файл
Просмотреть файл

@ -0,0 +1,39 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
/**
* @file
*
* Universal Resource Manager (URM)
*/
#ifndef ORTE_RMGR_URM_H
#define ORTE_RMGR_URM_H
#include "orte/mca/rmgr/rmgr.h"
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/** Global URM component */
OMPI_COMP_EXPORT extern orte_rmgr_base_component_t mca_rmgr_cnos_component;
/** Global URM module */
OMPI_COMP_EXPORT extern orte_rmgr_base_module_t orte_rmgr_cnos_module;
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif

88
orte/mca/rmgr/cnos/rmgr_cnos_component.c Обычный файл
Просмотреть файл

@ -0,0 +1,88 @@
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "orte_config.h"
#include "orte/orte_constants.h"
#include "orte/util/proc_info.h"
#include "opal/util/output.h"
#include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/rds/base/base.h"
#include "orte/mca/ras/base/base.h"
#include "orte/mca/rmaps/base/base.h"
#include "orte/mca/pls/base/base.h"
#include "rmgr_cnos.h"
/*
* Local functions
*/
static int orte_rmgr_cnos_open(void);
static int orte_rmgr_cnos_close(void);
static orte_rmgr_base_module_t* orte_rmgr_cnos_init(int *priority);
orte_rmgr_base_component_t mca_rmgr_cnos_component = {
/* First, the mca_base_component_t struct containing meta
information about the component itself */
{
/* Indicate that we are a iof v1.0.0 component (which also
implies a specific MCA version) */
ORTE_RMGR_BASE_VERSION_1_0_0,
"cnos", /* MCA component name */
ORTE_MAJOR_VERSION, /* MCA component major version */
ORTE_MINOR_VERSION, /* MCA component minor version */
ORTE_RELEASE_VERSION, /* MCA component release version */
orte_rmgr_cnos_open, /* component open */
orte_rmgr_cnos_close /* component close */
},
/* Next the MCA v1.0.0 component meta data */
{
/* Whether the component is checkpointable or not */
false
},
orte_rmgr_cnos_init
};
/**
* component open/close/init function
*/
static int orte_rmgr_cnos_open(void)
{
return ORTE_SUCCESS;
}
static orte_rmgr_base_module_t *orte_rmgr_cnos_init(int* priority)
{
*priority = 1;
return &orte_rmgr_cnos_module;
}
/**
* Close all subsystems.
*/
static int orte_rmgr_cnos_close(void)
{
return ORTE_SUCCESS;
}