diff --git a/orte/mca/ras/poe/Makefile.am b/orte/mca/ras/poe/Makefile.am deleted file mode 100644 index 900066509c..0000000000 --- a/orte/mca/ras/poe/Makefile.am +++ /dev/null @@ -1,50 +0,0 @@ -# -# 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$ -# - -# Use the top-level Makefile.options - - - -sources = \ - ras_poe.h \ - ras_poe_component.c \ - ras_poe_module.c - -# Make the output library in this directory, and name it either -# mca__.la (for DSO builds) or libmca__.la -# (for static builds). - -if OMPI_BUILD_ras_poe_DSO -component_noinst = -component_install = mca_ras_poe.la -else -component_noinst = libmca_ras_poe.la -component_install = -endif - -mcacomponentdir = $(libdir)/openmpi -mcacomponent_LTLIBRARIES = $(component_install) -mca_ras_poe_la_SOURCES = $(sources) -mca_ras_poe_la_LDFLAGS = -module -avoid-version -mca_ras_poe_la_LIBADD = \ - $(top_ompi_builddir)/orte/liborte.la \ - $(top_ompi_builddir)/opal/libopal.la - -noinst_LTLIBRARIES = $(component_noinst) -libmca_ras_poe_la_SOURCES =$(sources) -libmca_ras_poe_la_LDFLAGS = -module -avoid-version diff --git a/orte/mca/ras/poe/configure.m4 b/orte/mca/ras/poe/configure.m4 deleted file mode 100644 index 20037c7320..0000000000 --- a/orte/mca/ras/poe/configure.m4 +++ /dev/null @@ -1,40 +0,0 @@ -# -*- 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_ras_poe_CONFIG([action-if-found], [action-if-not-found]) -# ----------------------------------------------------------- - -AC_DEFUN([MCA_ras_poe_CONFIG],[ - # POE used to be only supported on AIX. Now we support it on - # AIX and some IBM Linux Machines. - # We only need executables (no header files or libraries), but - # those can be found (or not) at run-time. So if we're on AIX, - # or Linux build this component. - AC_MSG_CHECKING([if on AIX or Linux]) - case $host_os in - linux* | aix3* | aix4* | aix5*) - happy=yes - ;; - *) - happy=no - ;; - esac - AC_MSG_RESULT([$happy]) - AS_IF([test "$happy" = "yes"], [$1], [$2]) -]) diff --git a/orte/mca/ras/poe/configure.params b/orte/mca/ras/poe/configure.params deleted file mode 100644 index c1c2c4d457..0000000000 --- a/orte/mca/ras/poe/configure.params +++ /dev/null @@ -1,24 +0,0 @@ -# -*- 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$ -# - -# Specific to this module - -PARAM_INIT_FILE=ras_poe.c -PARAM_CONFIG_HEADER_FILE="ras_poe.h" -PARAM_CONFIG_FILES="Makefile" diff --git a/orte/mca/ras/poe/ras_poe.h b/orte/mca/ras/poe/ras_poe.h deleted file mode 100644 index 020d7bcf3d..0000000000 --- a/orte/mca/ras/poe/ras_poe.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana - * University Research and Technology - * Corporation. All rights reserved. - * Copyright (c) 2004-2006 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$ - */ -/** - * @file - * - * Resource Allocation (POE) - */ -#ifndef ORTE_RAS_POE_H -#define ORTE_RAS_POE_H - -#include "orte/mca/ras/ras.h" -#if defined(c_plusplus) || defined(__cplusplus) -extern "C" { -#endif - - -/** - * RAS Component - */ -struct orte_ras_poe_component_t { - orte_ras_base_component_t super; - int priority; -}; -typedef struct orte_ras_poe_component_t orte_ras_poe_component_t; - -ORTE_DECLSPEC extern orte_ras_poe_component_t mca_ras_poe_component; -ORTE_DECLSPEC extern orte_ras_base_module_t orte_ras_poe_module; - -#if defined(c_plusplus) || defined(__cplusplus) -} -#endif - -#endif diff --git a/orte/mca/ras/poe/ras_poe_component.c b/orte/mca/ras/poe/ras_poe_component.c deleted file mode 100644 index bb086f7691..0000000000 --- a/orte/mca/ras/poe/ras_poe_component.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - * 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$ - */ - -#include "orte_config.h" -#include "orte/orte_constants.h" -#include "opal/mca/base/base.h" -#include "opal/mca/base/mca_base_param.h" -#include "orte/mca/ras/ras.h" -#include "orte/mca/ras/base/base.h" -#include "orte/util/proc_info.h" -#include "opal/util/output.h" -#include "ras_poe.h" - -/* - * Local functions - */ - -static int orte_ras_poe_open(void); -static int orte_ras_poe_close(void); -static orte_ras_base_module_t* orte_ras_poe_init(int* priority); - - -orte_ras_poe_component_t mca_ras_poe_component = { - { - /* First, the mca_base_component_t struct containing meta - information about the component itself */ - - { - /* Indicate that we are a ras v1.3.0 component (which also - implies a specific MCA version) */ - - ORTE_RAS_BASE_VERSION_1_3_0, - "poe", /* 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_ras_poe_open, /* component open */ - orte_ras_poe_close /* component close */ - }, - - /* Next the MCA v1.0.0 component meta data */ - { - /* Whether the component is checkpointable or not */ - false - }, - - orte_ras_poe_init - } -}; - -/** - * component open/close/init function - */ -static int orte_ras_poe_open(void) -{ - mca_base_component_t *c = &mca_ras_poe_component.super.ras_version; - - mca_base_param_reg_int(c, "priority", - "Priority of the poe ras component", - false , false, 100, &mca_ras_poe_component.priority); - - return ORTE_SUCCESS; -} - -static orte_ras_base_module_t *orte_ras_poe_init(int* priority) -{ - /* if we are not an HNP, then we must not be selected */ - if (!orte_process_info.seed) { - return NULL; - } - - *priority = mca_ras_poe_component.priority; - - if ( NULL != getenv("LOADL_PROCESSOR_LIST") ) { - opal_output(orte_ras_base.ras_output, - "ras:poe: available for selection with priority %d", - mca_ras_poe_component.priority); - return &orte_ras_poe_module; - } - - opal_output(orte_ras_base.ras_output, - "ras:poe: NOT available for selection"); - return NULL; -} - -/** - * Close all subsystems. - */ -static int orte_ras_poe_close(void) -{ - return ORTE_SUCCESS; -} diff --git a/orte/mca/ras/poe/ras_poe_module.c b/orte/mca/ras/poe/ras_poe_module.c deleted file mode 100644 index 3f64e30884..0000000000 --- a/orte/mca/ras/poe/ras_poe_module.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * 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$ - */ -#include "orte_config.h" -#include "orte/orte_constants.h" - -#include -#include -#include - -#include "opal/util/argv.h" - -#include "orte/dss/dss.h" - -#include "orte/mca/ras/poe/ras_poe.h" -#include "orte/mca/ras/base/ras_private.h" - -static int orte_ras_poe_allocate(orte_jobid_t jobid, opal_list_t *attributes) -{ - char *poe_node_str; - char **names; - int i, ret, nnode; - opal_list_t nodes_list; - orte_ras_node_t *node; - opal_list_item_t* item; - orte_jobid_t *jptr; - orte_attribute_t *attr; - - poe_node_str = getenv("LOADL_PROCESSOR_LIST"); - if (NULL == poe_node_str) { - return ORTE_ERR_NOT_FOUND; - } - - /* check the attributes to see if we are supposed to use the parent - * jobid's allocation. This can occur if we are doing a dynamic - * process spawn and don't want to go through the allocator again - */ - if (NULL != (attr = orte_rmgr.find_attribute(attributes, ORTE_RMGR_USE_PARENT_ALLOCATION))) { - /* attribute was given - just reallocate to the new jobid */ - if (ORTE_SUCCESS != (ret = orte_dss.get((void**)&jptr, attr->value, ORTE_JOBID))) { - ORTE_ERROR_LOG(ret); - return ret; - } - if (ORTE_SUCCESS != (ret = orte_ras_base_reallocate(*jptr, jobid))) { - ORTE_ERROR_LOG(ret); - return ret; - } - return ORTE_SUCCESS; - } - - /* poe_node_str is something like "nodeA nodeA nodeB nodeB" */ - - names = opal_argv_copy(opal_argv_split(poe_node_str, ' ')); - nnode = opal_argv_count(names); - - /* iterate through all the nodes listed. If a single node is listed more than once, - * it means that we have multiple slots allocated on that node */ - OBJ_CONSTRUCT(&nodes_list, opal_list_t); - for (i = 0; i < nnode; i++) { - /* check for duplicated nodes */ - for (item = opal_list_get_first(&nodes_list); - opal_list_get_end(&nodes_list) != item; - item = opal_list_get_next(item)) { - node = (orte_ras_node_t*) item; - if (0 == strcmp(node->node_name, names[i])) { - ++node->node_slots; - break; - } - } - - if(opal_list_get_end(&nodes_list) == item) { - /* we did not find a duplicate, so add a new item to the list */ - node = OBJ_NEW(orte_ras_node_t); - if (NULL == node) { - return ORTE_ERR_OUT_OF_RESOURCE; - } - node->node_name = strdup(names[i]); - node->node_arch = NULL; - node->node_state = ORTE_NODE_STATE_UP; - node->node_cellid = 0; - node->node_slots_inuse = 0; - node->node_slots_max = 0; - node->node_slots = 1; - opal_list_append(&nodes_list, &node->super); - } - } - ret = orte_ras_base_node_insert(&nodes_list); - ret = orte_ras_base_allocate_nodes(jobid, &nodes_list); - - while (NULL != (item = opal_list_remove_first(&nodes_list))) { - OBJ_RELEASE(item); - } - OBJ_DESTRUCT(&nodes_list); - return ret; -} - -static int orte_ras_poe_deallocate(orte_jobid_t jobid) -{ - return ORTE_SUCCESS; -} - -static int orte_ras_poe_finalize(void) -{ - return ORTE_SUCCESS; -} - -orte_ras_base_module_t orte_ras_poe_module = { - orte_ras_poe_allocate, - orte_ras_base_node_insert, - orte_ras_base_node_query, - orte_ras_base_node_query_alloc, - orte_ras_base_node_lookup, - orte_ras_poe_deallocate, - orte_ras_poe_finalize -};