diff --git a/acinclude.m4 b/acinclude.m4 index 3dbf118cec..5fe202bf8f 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -67,6 +67,7 @@ m4_include(config/ompi_check_xcpu.m4) m4_include(config/ompi_check_mvapi.m4) m4_include(config/ompi_check_openib.m4) m4_include(config/ompi_check_portals.m4) +m4_include(config/ompi_check_psm.m4) m4_include(config/ompi_check_udapl.m4) m4_include(config/ompi_check_package.m4) m4_include(config/ompi_check_slurm.m4) diff --git a/config/ompi_check_psm.m4 b/config/ompi_check_psm.m4 new file mode 100644 index 0000000000..fa6045e0b8 --- /dev/null +++ b/config/ompi_check_psm.m4 @@ -0,0 +1,70 @@ +# -*- 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-2006 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2006 QLogic Corp. All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# OMPI_CHECK_PSM(prefix, [action-if-found], [action-if-not-found]) +# -------------------------------------------------------- +# check if PSM support can be found. sets prefix_{CPPFLAGS, +# LDFLAGS, LIBS} as needed and runs action-if-found if there is +# support, otherwise executes action-if-not-found +AC_DEFUN([OMPI_CHECK_PSM],[ + AC_ARG_WITH([psm], + [AC_HELP_STRING([--with-psm(=DIR)], + [Build PSM (QLogic InfiniPath PSM) support, searching for libraries in DIR])]) + AC_ARG_WITH([psm-libdir], + [AC_HELP_STRING([--with-psm-libdir=DIR], + [Search for PSM (QLogic InfiniPath PSM) libraries in DIR])]) + + ompi_check_psm_$1_save_CPPFLAGS="$CPPFLAGS" + ompi_check_psm_$1_save_LDFLAGS="$LDFLAGS" + ompi_check_psm_$1_save_LIBS="$LIBS" + + AS_IF([test "$with_psm" != "no"], + [AS_IF([test ! -z "$with_psm" -a "$with_psm" != "yes"], + [ompi_check_psm_dir="$with_psm"]) + AS_IF([test ! -z "$with_psm_libdir" -a "$with_psm_libdir" != "yes"], + [ompi_check_psm_libdir="$with_psm_libdir"]) + + OMPI_CHECK_PACKAGE([$1], + [psm.h], + [psm_infinipath], + [psm_finalize], + [], + [$ompi_check_psm_dir], + [$ompi_check_psm_libdir], + [ompi_check_psm_happy="yes"], + [ompi_check_psm_happy="no"])], + [ompi_check_psm_happy="no"]) + + CPPFLAGS="$ompi_check_psm_$1_save_CPPFLAGS" + LDFLAGS="$ompi_check_psm_$1_save_LDFLAGS" + LIBS="$ompi_check_psm_$1_save_LIBS" + + AS_IF([test "$ompi_check_psm_happy" = "yes" -a "$enable_progress_threads" = "yes"], + [AC_MSG_WARN([PSM driver does not currently support progress threads. Disabling BTL.]) + ompi_check_psm_happy="no"]) + + AS_IF([test "$ompi_check_psm_happy" = "yes"], + [$2], + [AS_IF([test ! -z "$with_psm" -a "$with_psm" != "no"], + [AC_MSG_ERROR([PSM support requested but not found. Aborting])]) + $3]) +]) + diff --git a/ompi/mca/mtl/psm/Makefile.am b/ompi/mca/mtl/psm/Makefile.am new file mode 100644 index 0000000000..1eba0d9f19 --- /dev/null +++ b/ompi/mca/mtl/psm/Makefile.am @@ -0,0 +1,61 @@ +# +# 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-2006 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +EXTRA_DIST = post_configure.sh + +AM_CPPFLAGS = $(mtl_psm_CPPFLAGS) + +mtl_psm_sources = \ + mtl_psm.c \ + mtl_psm.h \ + mtl_psm_cancel.c \ + mtl_psm_component.c \ + mtl_psm_endpoint.c \ + mtl_psm_endpoint.h \ + mtl_psm_probe.c \ + mtl_psm_recv.c \ + mtl_psm_request.h \ + mtl_psm_send.c \ + mtl_psm_types.h + +# 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_mtl_psm_DSO +component_noinst = +component_install = mca_mtl_psm.la +else +component_noinst = libmca_mtl_psm.la +component_install = +endif + +mcacomponentdir = $(libdir)/openmpi +mcacomponent_LTLIBRARIES = $(component_install) +mca_mtl_psm_la_SOURCES = $(mtl_psm_sources) +mca_mtl_psm_la_LIBADD = \ + $(mtl_psm_LIBS) \ + $(top_ompi_builddir)/ompi/libmpi.la \ + $(top_ompi_builddir)/orte/liborte.la \ + $(top_ompi_builddir)/opal/libopal.la +mca_mtl_psm_la_LDFLAGS = -module -avoid-version $(mtl_psm_LDFLAGS) + +noinst_LTLIBRARIES = $(component_noinst) +libmca_mtl_psm_la_SOURCES = $(mtl_psm_sources) +libmca_mtl_psm_la_LIBADD = $(mtl_psm_LIBS) +libmca_mtl_psm_la_LDFLAGS = -module -avoid-version $(mtl_psm_LDFLAGS) diff --git a/ompi/mca/mtl/psm/Makefile.in b/ompi/mca/mtl/psm/Makefile.in new file mode 100644 index 0000000000..49aa27b89c --- /dev/null +++ b/ompi/mca/mtl/psm/Makefile.in @@ -0,0 +1,1401 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# +# 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-2006 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../../../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = ompi/mca/mtl/psm +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/config/c_get_alignment.m4 \ + $(top_srcdir)/config/c_weak_symbols.m4 \ + $(top_srcdir)/config/cxx_find_template_parameters.m4 \ + $(top_srcdir)/config/cxx_find_template_repository.m4 \ + $(top_srcdir)/config/cxx_have_exceptions.m4 \ + $(top_srcdir)/config/cxx_find_exception_flags.m4 \ + $(top_srcdir)/config/f77_check.m4 \ + $(top_srcdir)/config/f77_check_type.m4 \ + $(top_srcdir)/config/f77_find_ext_symbol_convention.m4 \ + $(top_srcdir)/config/f77_get_alignment.m4 \ + $(top_srcdir)/config/f77_get_fortran_handle_max.m4 \ + $(top_srcdir)/config/f77_get_sizeof.m4 \ + $(top_srcdir)/config/f77_get_value_true.m4 \ + $(top_srcdir)/config/f77_check_logical_array.m4 \ + $(top_srcdir)/config/f77_purge_unsupported_kind.m4 \ + $(top_srcdir)/config/f90_check.m4 \ + $(top_srcdir)/config/f90_check_type.m4 \ + $(top_srcdir)/config/f90_find_module_include_flag.m4 \ + $(top_srcdir)/config/f90_get_precision.m4 \ + $(top_srcdir)/config/f90_get_range.m4 \ + $(top_srcdir)/config/f90_get_sizeof.m4 \ + $(top_srcdir)/config/f90_get_int_kind.m4 \ + $(top_srcdir)/config/ompi_objc.m4 \ + $(top_srcdir)/config/ompi_try_assemble.m4 \ + $(top_srcdir)/config/ompi_config_asm.m4 \ + $(top_srcdir)/config/ompi_case_sensitive_fs_setup.m4 \ + $(top_srcdir)/config/ompi_check_broken_qsort.m4 \ + $(top_srcdir)/config/ompi_check_compiler_works.m4 \ + $(top_srcdir)/config/ompi_check_func_lib.m4 \ + $(top_srcdir)/config/ompi_check_optflags.m4 \ + $(top_srcdir)/config/ompi_check_icc.m4 \ + $(top_srcdir)/config/ompi_check_gm.m4 \ + $(top_srcdir)/config/ompi_check_mx.m4 \ + $(top_srcdir)/config/ompi_check_bproc.m4 \ + $(top_srcdir)/config/ompi_check_xcpu.m4 \ + $(top_srcdir)/config/ompi_check_mvapi.m4 \ + $(top_srcdir)/config/ompi_check_openib.m4 \ + $(top_srcdir)/config/ompi_check_portals.m4 \ + $(top_srcdir)/config/ompi_check_psm.m4 \ + $(top_srcdir)/config/ompi_check_udapl.m4 \ + $(top_srcdir)/config/ompi_check_package.m4 \ + $(top_srcdir)/config/ompi_check_slurm.m4 \ + $(top_srcdir)/config/ompi_check_tm.m4 \ + $(top_srcdir)/config/ompi_check_xgrid.m4 \ + $(top_srcdir)/config/ompi_check_vendor.m4 \ + $(top_srcdir)/config/ompi_config_subdir.m4 \ + $(top_srcdir)/config/ompi_config_subdir_args.m4 \ + $(top_srcdir)/config/ompi_configure_options.m4 \ + $(top_srcdir)/config/ompi_find_type.m4 \ + $(top_srcdir)/config/ompi_functions.m4 \ + $(top_srcdir)/config/ompi_get_version.m4 \ + $(top_srcdir)/config/ompi_get_libtool_linker_flags.m4 \ + $(top_srcdir)/config/ompi_load_platform.m4 \ + $(top_srcdir)/config/ompi_mca.m4 \ + $(top_srcdir)/config/ompi_setup_cc.m4 \ + $(top_srcdir)/config/ompi_setup_cxx.m4 \ + $(top_srcdir)/config/ompi_setup_f77.m4 \ + $(top_srcdir)/config/ompi_setup_f90.m4 \ + $(top_srcdir)/config/ompi_setup_libevent.m4 \ + $(top_srcdir)/config/ompi_setup_wrappers.m4 \ + $(top_srcdir)/config/ompi_make_stripped_flags.m4 \ + $(top_srcdir)/config/ompi_install_dirs.m4 \ + $(top_srcdir)/config/ompi_save_version.m4 \ + $(top_srcdir)/config/ompi_check_pthread_pids.m4 \ + $(top_srcdir)/config/ompi_config_pthreads.m4 \ + $(top_srcdir)/config/ompi_config_solaris_threads.m4 \ + $(top_srcdir)/config/ompi_config_threads.m4 \ + $(top_srcdir)/config/mca_no_configure_components.m4 \ + $(top_srcdir)/config/mca_m4_config_include.m4 \ + $(top_srcdir)/opal/mca/backtrace/configure.m4 \ + $(top_srcdir)/opal/mca/backtrace/darwin/configure.m4 \ + $(top_srcdir)/opal/mca/backtrace/execinfo/configure.m4 \ + $(top_srcdir)/opal/mca/backtrace/none/configure.m4 \ + $(top_srcdir)/opal/mca/backtrace/printstack/configure.m4 \ + $(top_srcdir)/opal/mca/maffinity/libnuma/configure.m4 \ + $(top_srcdir)/opal/mca/memcpy/configure.m4 \ + $(top_srcdir)/opal/mca/memory/configure.m4 \ + $(top_srcdir)/opal/mca/memory/darwin/configure.m4 \ + $(top_srcdir)/opal/mca/memory/malloc_hooks/configure.m4 \ + $(top_srcdir)/opal/mca/memory/ptmalloc2/configure.m4 \ + $(top_srcdir)/opal/mca/paffinity/linux/configure.m4 \ + $(top_srcdir)/opal/mca/paffinity/solaris/configure.m4 \ + $(top_srcdir)/opal/mca/paffinity/windows/configure.m4 \ + $(top_srcdir)/opal/mca/timer/configure.m4 \ + $(top_srcdir)/opal/mca/timer/aix/configure.m4 \ + $(top_srcdir)/opal/mca/timer/altix/configure.m4 \ + $(top_srcdir)/opal/mca/timer/darwin/configure.m4 \ + $(top_srcdir)/opal/mca/timer/linux/configure.m4 \ + $(top_srcdir)/opal/mca/timer/solaris/configure.m4 \ + $(top_srcdir)/opal/mca/timer/windows/configure.m4 \ + $(top_srcdir)/orte/mca/oob/tcp/configure.m4 \ + $(top_srcdir)/orte/mca/pls/bproc/configure.m4 \ + $(top_srcdir)/orte/mca/pls/bproc_orted/configure.m4 \ + $(top_srcdir)/orte/mca/pls/fork/configure.m4 \ + $(top_srcdir)/orte/mca/pls/gridengine/configure.m4 \ + $(top_srcdir)/orte/mca/pls/poe/configure.m4 \ + $(top_srcdir)/orte/mca/pls/process/configure.m4 \ + $(top_srcdir)/orte/mca/pls/rsh/configure.m4 \ + $(top_srcdir)/orte/mca/pls/slurm/configure.m4 \ + $(top_srcdir)/orte/mca/pls/tm/configure.m4 \ + $(top_srcdir)/orte/mca/pls/xgrid/configure.m4 \ + $(top_srcdir)/orte/mca/ras/bjs/configure.m4 \ + $(top_srcdir)/orte/mca/ras/gridengine/configure.m4 \ + $(top_srcdir)/orte/mca/ras/lsf_bproc/configure.m4 \ + $(top_srcdir)/orte/mca/ras/poe/configure.m4 \ + $(top_srcdir)/orte/mca/ras/slurm/configure.m4 \ + $(top_srcdir)/orte/mca/ras/tm/configure.m4 \ + $(top_srcdir)/orte/mca/ras/xgrid/configure.m4 \ + $(top_srcdir)/orte/mca/rmgr/cnos/configure.m4 \ + $(top_srcdir)/orte/mca/rml/cnos/configure.m4 \ + $(top_srcdir)/orte/mca/sds/bproc/configure.m4 \ + $(top_srcdir)/orte/mca/sds/cnos/configure.m4 \ + $(top_srcdir)/orte/mca/sds/pipe/configure.m4 \ + $(top_srcdir)/orte/mca/sds/portals_utcp/configure.m4 \ + $(top_srcdir)/orte/mca/sds/slurm/configure.m4 \ + $(top_srcdir)/orte/mca/smr/bproc/configure.m4 \ + $(top_srcdir)/ompi/mca/btl/gm/configure.m4 \ + $(top_srcdir)/ompi/mca/btl/mvapi/configure.m4 \ + $(top_srcdir)/ompi/mca/btl/mx/configure.m4 \ + $(top_srcdir)/ompi/mca/btl/openib/configure.m4 \ + $(top_srcdir)/ompi/mca/btl/portals/configure.m4 \ + $(top_srcdir)/ompi/mca/btl/tcp/configure.m4 \ + $(top_srcdir)/ompi/mca/btl/udapl/configure.m4 \ + $(top_srcdir)/ompi/mca/common/portals/configure.m4 \ + $(top_srcdir)/ompi/mca/io/romio/configure.m4 \ + $(top_srcdir)/ompi/mca/mpool/gm/configure.m4 \ + $(top_srcdir)/ompi/mca/mpool/mvapi/configure.m4 \ + $(top_srcdir)/ompi/mca/mpool/openib/configure.m4 \ + $(top_srcdir)/ompi/mca/mpool/udapl/configure.m4 \ + $(top_srcdir)/ompi/mca/mtl/mx/configure.m4 \ + $(top_srcdir)/ompi/mca/mtl/portals/configure.m4 \ + $(top_srcdir)/ompi/mca/mtl/psm/configure.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/opal/include/opal_config.h \ + $(top_builddir)/orte/include/orte_config.h \ + $(top_builddir)/ompi/include/ompi_config.h \ + $(top_builddir)/ompi/include/mpi.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(mcacomponentdir)" +mcacomponentLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(mcacomponent_LTLIBRARIES) $(noinst_LTLIBRARIES) +am__DEPENDENCIES_1 = +libmca_mtl_psm_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am__objects_1 = mtl_psm.lo mtl_psm_cancel.lo mtl_psm_component.lo \ + mtl_psm_endpoint.lo mtl_psm_probe.lo mtl_psm_recv.lo \ + mtl_psm_send.lo +am_libmca_mtl_psm_la_OBJECTS = $(am__objects_1) +libmca_mtl_psm_la_OBJECTS = $(am_libmca_mtl_psm_la_OBJECTS) +@OMPI_BUILD_mtl_psm_DSO_FALSE@am_libmca_mtl_psm_la_rpath = +mca_mtl_psm_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + $(top_ompi_builddir)/ompi/libmpi.la \ + $(top_ompi_builddir)/orte/liborte.la \ + $(top_ompi_builddir)/opal/libopal.la +am_mca_mtl_psm_la_OBJECTS = $(am__objects_1) +mca_mtl_psm_la_OBJECTS = $(am_mca_mtl_psm_la_OBJECTS) +@OMPI_BUILD_mtl_psm_DSO_TRUE@am_mca_mtl_psm_la_rpath = -rpath \ +@OMPI_BUILD_mtl_psm_DSO_TRUE@ $(mcacomponentdir) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/opal/include -I$(top_builddir)/orte/include -I$(top_builddir)/ompi/include -I$(top_builddir)/ompi/include +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libmca_mtl_psm_la_SOURCES) $(mca_mtl_psm_la_SOURCES) +DIST_SOURCES = $(libmca_mtl_psm_la_SOURCES) $(mca_mtl_psm_la_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CASE_SENSITIVE_FS_FALSE = @CASE_SENSITIVE_FS_FALSE@ +CASE_SENSITIVE_FS_TRUE = @CASE_SENSITIVE_FS_TRUE@ +CC = @CC@ +CCAS = @CCAS@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CFLAGS_WITHOUT_OPTFLAGS = @CFLAGS_WITHOUT_OPTFLAGS@ +CLEANFILES = @CLEANFILES@ +COMPILE_PROFILING_SEPARATELY_FALSE = @COMPILE_PROFILING_SEPARATELY_FALSE@ +COMPILE_PROFILING_SEPARATELY_TRUE = @COMPILE_PROFILING_SEPARATELY_TRUE@ +CONFIGURE_DEPENDENCIES = @CONFIGURE_DEPENDENCIES@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXCPPFLAGS = @CXXCPPFLAGS@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FC = @FC@ +FCFLAGS = @FCFLAGS@ +FCFLAGS_f = @FCFLAGS_f@ +FCFLAGS_f90 = @FCFLAGS_f90@ +FFLAGS = @FFLAGS@ +FGREP = @FGREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBLTDL = @LIBLTDL@ +LIBLTDL_LTLIB = @LIBLTDL_LTLIB@ +LIBLTDL_SUBDIR = @LIBLTDL_SUBDIR@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTDLINCL = @LTDLINCL@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MCA_PROJECT_SUBDIRS = @MCA_PROJECT_SUBDIRS@ +MCA_allocator_ALL_COMPONENTS = @MCA_allocator_ALL_COMPONENTS@ +MCA_allocator_ALL_SUBDIRS = @MCA_allocator_ALL_SUBDIRS@ +MCA_allocator_DSO_COMPONENTS = @MCA_allocator_DSO_COMPONENTS@ +MCA_allocator_DSO_SUBDIRS = @MCA_allocator_DSO_SUBDIRS@ +MCA_allocator_STATIC_COMPONENTS = @MCA_allocator_STATIC_COMPONENTS@ +MCA_allocator_STATIC_LTLIBS = @MCA_allocator_STATIC_LTLIBS@ +MCA_allocator_STATIC_SUBDIRS = @MCA_allocator_STATIC_SUBDIRS@ +MCA_backtrace_ALL_COMPONENTS = @MCA_backtrace_ALL_COMPONENTS@ +MCA_backtrace_ALL_SUBDIRS = @MCA_backtrace_ALL_SUBDIRS@ +MCA_backtrace_DSO_COMPONENTS = @MCA_backtrace_DSO_COMPONENTS@ +MCA_backtrace_DSO_SUBDIRS = @MCA_backtrace_DSO_SUBDIRS@ +MCA_backtrace_STATIC_COMPONENTS = @MCA_backtrace_STATIC_COMPONENTS@ +MCA_backtrace_STATIC_LTLIBS = @MCA_backtrace_STATIC_LTLIBS@ +MCA_backtrace_STATIC_SUBDIRS = @MCA_backtrace_STATIC_SUBDIRS@ +MCA_bml_ALL_COMPONENTS = @MCA_bml_ALL_COMPONENTS@ +MCA_bml_ALL_SUBDIRS = @MCA_bml_ALL_SUBDIRS@ +MCA_bml_DSO_COMPONENTS = @MCA_bml_DSO_COMPONENTS@ +MCA_bml_DSO_SUBDIRS = @MCA_bml_DSO_SUBDIRS@ +MCA_bml_STATIC_COMPONENTS = @MCA_bml_STATIC_COMPONENTS@ +MCA_bml_STATIC_LTLIBS = @MCA_bml_STATIC_LTLIBS@ +MCA_bml_STATIC_SUBDIRS = @MCA_bml_STATIC_SUBDIRS@ +MCA_btl_ALL_COMPONENTS = @MCA_btl_ALL_COMPONENTS@ +MCA_btl_ALL_SUBDIRS = @MCA_btl_ALL_SUBDIRS@ +MCA_btl_DSO_COMPONENTS = @MCA_btl_DSO_COMPONENTS@ +MCA_btl_DSO_SUBDIRS = @MCA_btl_DSO_SUBDIRS@ +MCA_btl_STATIC_COMPONENTS = @MCA_btl_STATIC_COMPONENTS@ +MCA_btl_STATIC_LTLIBS = @MCA_btl_STATIC_LTLIBS@ +MCA_btl_STATIC_SUBDIRS = @MCA_btl_STATIC_SUBDIRS@ +MCA_coll_ALL_COMPONENTS = @MCA_coll_ALL_COMPONENTS@ +MCA_coll_ALL_SUBDIRS = @MCA_coll_ALL_SUBDIRS@ +MCA_coll_DSO_COMPONENTS = @MCA_coll_DSO_COMPONENTS@ +MCA_coll_DSO_SUBDIRS = @MCA_coll_DSO_SUBDIRS@ +MCA_coll_STATIC_COMPONENTS = @MCA_coll_STATIC_COMPONENTS@ +MCA_coll_STATIC_LTLIBS = @MCA_coll_STATIC_LTLIBS@ +MCA_coll_STATIC_SUBDIRS = @MCA_coll_STATIC_SUBDIRS@ +MCA_common_ALL_COMPONENTS = @MCA_common_ALL_COMPONENTS@ +MCA_common_ALL_SUBDIRS = @MCA_common_ALL_SUBDIRS@ +MCA_common_DSO_COMPONENTS = @MCA_common_DSO_COMPONENTS@ +MCA_common_DSO_SUBDIRS = @MCA_common_DSO_SUBDIRS@ +MCA_common_STATIC_COMPONENTS = @MCA_common_STATIC_COMPONENTS@ +MCA_common_STATIC_LTLIBS = @MCA_common_STATIC_LTLIBS@ +MCA_common_STATIC_SUBDIRS = @MCA_common_STATIC_SUBDIRS@ +MCA_errmgr_ALL_COMPONENTS = @MCA_errmgr_ALL_COMPONENTS@ +MCA_errmgr_ALL_SUBDIRS = @MCA_errmgr_ALL_SUBDIRS@ +MCA_errmgr_DSO_COMPONENTS = @MCA_errmgr_DSO_COMPONENTS@ +MCA_errmgr_DSO_SUBDIRS = @MCA_errmgr_DSO_SUBDIRS@ +MCA_errmgr_STATIC_COMPONENTS = @MCA_errmgr_STATIC_COMPONENTS@ +MCA_errmgr_STATIC_LTLIBS = @MCA_errmgr_STATIC_LTLIBS@ +MCA_errmgr_STATIC_SUBDIRS = @MCA_errmgr_STATIC_SUBDIRS@ +MCA_gpr_ALL_COMPONENTS = @MCA_gpr_ALL_COMPONENTS@ +MCA_gpr_ALL_SUBDIRS = @MCA_gpr_ALL_SUBDIRS@ +MCA_gpr_DSO_COMPONENTS = @MCA_gpr_DSO_COMPONENTS@ +MCA_gpr_DSO_SUBDIRS = @MCA_gpr_DSO_SUBDIRS@ +MCA_gpr_STATIC_COMPONENTS = @MCA_gpr_STATIC_COMPONENTS@ +MCA_gpr_STATIC_LTLIBS = @MCA_gpr_STATIC_LTLIBS@ +MCA_gpr_STATIC_SUBDIRS = @MCA_gpr_STATIC_SUBDIRS@ +MCA_io_ALL_COMPONENTS = @MCA_io_ALL_COMPONENTS@ +MCA_io_ALL_SUBDIRS = @MCA_io_ALL_SUBDIRS@ +MCA_io_DSO_COMPONENTS = @MCA_io_DSO_COMPONENTS@ +MCA_io_DSO_SUBDIRS = @MCA_io_DSO_SUBDIRS@ +MCA_io_STATIC_COMPONENTS = @MCA_io_STATIC_COMPONENTS@ +MCA_io_STATIC_LTLIBS = @MCA_io_STATIC_LTLIBS@ +MCA_io_STATIC_SUBDIRS = @MCA_io_STATIC_SUBDIRS@ +MCA_iof_ALL_COMPONENTS = @MCA_iof_ALL_COMPONENTS@ +MCA_iof_ALL_SUBDIRS = @MCA_iof_ALL_SUBDIRS@ +MCA_iof_DSO_COMPONENTS = @MCA_iof_DSO_COMPONENTS@ +MCA_iof_DSO_SUBDIRS = @MCA_iof_DSO_SUBDIRS@ +MCA_iof_STATIC_COMPONENTS = @MCA_iof_STATIC_COMPONENTS@ +MCA_iof_STATIC_LTLIBS = @MCA_iof_STATIC_LTLIBS@ +MCA_iof_STATIC_SUBDIRS = @MCA_iof_STATIC_SUBDIRS@ +MCA_maffinity_ALL_COMPONENTS = @MCA_maffinity_ALL_COMPONENTS@ +MCA_maffinity_ALL_SUBDIRS = @MCA_maffinity_ALL_SUBDIRS@ +MCA_maffinity_DSO_COMPONENTS = @MCA_maffinity_DSO_COMPONENTS@ +MCA_maffinity_DSO_SUBDIRS = @MCA_maffinity_DSO_SUBDIRS@ +MCA_maffinity_STATIC_COMPONENTS = @MCA_maffinity_STATIC_COMPONENTS@ +MCA_maffinity_STATIC_LTLIBS = @MCA_maffinity_STATIC_LTLIBS@ +MCA_maffinity_STATIC_SUBDIRS = @MCA_maffinity_STATIC_SUBDIRS@ +MCA_memcpy_ALL_COMPONENTS = @MCA_memcpy_ALL_COMPONENTS@ +MCA_memcpy_ALL_SUBDIRS = @MCA_memcpy_ALL_SUBDIRS@ +MCA_memcpy_DSO_COMPONENTS = @MCA_memcpy_DSO_COMPONENTS@ +MCA_memcpy_DSO_SUBDIRS = @MCA_memcpy_DSO_SUBDIRS@ +MCA_memcpy_STATIC_COMPONENTS = @MCA_memcpy_STATIC_COMPONENTS@ +MCA_memcpy_STATIC_LTLIBS = @MCA_memcpy_STATIC_LTLIBS@ +MCA_memcpy_STATIC_SUBDIRS = @MCA_memcpy_STATIC_SUBDIRS@ +MCA_memory_ALL_COMPONENTS = @MCA_memory_ALL_COMPONENTS@ +MCA_memory_ALL_SUBDIRS = @MCA_memory_ALL_SUBDIRS@ +MCA_memory_DSO_COMPONENTS = @MCA_memory_DSO_COMPONENTS@ +MCA_memory_DSO_SUBDIRS = @MCA_memory_DSO_SUBDIRS@ +MCA_memory_STATIC_COMPONENTS = @MCA_memory_STATIC_COMPONENTS@ +MCA_memory_STATIC_LTLIBS = @MCA_memory_STATIC_LTLIBS@ +MCA_memory_STATIC_SUBDIRS = @MCA_memory_STATIC_SUBDIRS@ +MCA_mpool_ALL_COMPONENTS = @MCA_mpool_ALL_COMPONENTS@ +MCA_mpool_ALL_SUBDIRS = @MCA_mpool_ALL_SUBDIRS@ +MCA_mpool_DSO_COMPONENTS = @MCA_mpool_DSO_COMPONENTS@ +MCA_mpool_DSO_SUBDIRS = @MCA_mpool_DSO_SUBDIRS@ +MCA_mpool_STATIC_COMPONENTS = @MCA_mpool_STATIC_COMPONENTS@ +MCA_mpool_STATIC_LTLIBS = @MCA_mpool_STATIC_LTLIBS@ +MCA_mpool_STATIC_SUBDIRS = @MCA_mpool_STATIC_SUBDIRS@ +MCA_mtl_ALL_COMPONENTS = @MCA_mtl_ALL_COMPONENTS@ +MCA_mtl_ALL_SUBDIRS = @MCA_mtl_ALL_SUBDIRS@ +MCA_mtl_DIRECT_CALL_HEADER = @MCA_mtl_DIRECT_CALL_HEADER@ +MCA_mtl_DSO_COMPONENTS = @MCA_mtl_DSO_COMPONENTS@ +MCA_mtl_DSO_SUBDIRS = @MCA_mtl_DSO_SUBDIRS@ +MCA_mtl_STATIC_COMPONENTS = @MCA_mtl_STATIC_COMPONENTS@ +MCA_mtl_STATIC_LTLIBS = @MCA_mtl_STATIC_LTLIBS@ +MCA_mtl_STATIC_SUBDIRS = @MCA_mtl_STATIC_SUBDIRS@ +MCA_ns_ALL_COMPONENTS = @MCA_ns_ALL_COMPONENTS@ +MCA_ns_ALL_SUBDIRS = @MCA_ns_ALL_SUBDIRS@ +MCA_ns_DSO_COMPONENTS = @MCA_ns_DSO_COMPONENTS@ +MCA_ns_DSO_SUBDIRS = @MCA_ns_DSO_SUBDIRS@ +MCA_ns_STATIC_COMPONENTS = @MCA_ns_STATIC_COMPONENTS@ +MCA_ns_STATIC_LTLIBS = @MCA_ns_STATIC_LTLIBS@ +MCA_ns_STATIC_SUBDIRS = @MCA_ns_STATIC_SUBDIRS@ +MCA_ompi_FRAMEWORKS = @MCA_ompi_FRAMEWORKS@ +MCA_ompi_FRAMEWORKS_SUBDIRS = @MCA_ompi_FRAMEWORKS_SUBDIRS@ +MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS = @MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS@ +MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS = @MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS@ +MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS = @MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS@ +MCA_ompi_FRAMEWORK_LIBS = @MCA_ompi_FRAMEWORK_LIBS@ +MCA_oob_ALL_COMPONENTS = @MCA_oob_ALL_COMPONENTS@ +MCA_oob_ALL_SUBDIRS = @MCA_oob_ALL_SUBDIRS@ +MCA_oob_DSO_COMPONENTS = @MCA_oob_DSO_COMPONENTS@ +MCA_oob_DSO_SUBDIRS = @MCA_oob_DSO_SUBDIRS@ +MCA_oob_STATIC_COMPONENTS = @MCA_oob_STATIC_COMPONENTS@ +MCA_oob_STATIC_LTLIBS = @MCA_oob_STATIC_LTLIBS@ +MCA_oob_STATIC_SUBDIRS = @MCA_oob_STATIC_SUBDIRS@ +MCA_opal_FRAMEWORKS = @MCA_opal_FRAMEWORKS@ +MCA_opal_FRAMEWORKS_SUBDIRS = @MCA_opal_FRAMEWORKS_SUBDIRS@ +MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS = @MCA_opal_FRAMEWORK_COMPONENT_ALL_SUBDIRS@ +MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS = @MCA_opal_FRAMEWORK_COMPONENT_DSO_SUBDIRS@ +MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS = @MCA_opal_FRAMEWORK_COMPONENT_STATIC_SUBDIRS@ +MCA_opal_FRAMEWORK_LIBS = @MCA_opal_FRAMEWORK_LIBS@ +MCA_orte_FRAMEWORKS = @MCA_orte_FRAMEWORKS@ +MCA_orte_FRAMEWORKS_SUBDIRS = @MCA_orte_FRAMEWORKS_SUBDIRS@ +MCA_orte_FRAMEWORK_COMPONENT_ALL_SUBDIRS = @MCA_orte_FRAMEWORK_COMPONENT_ALL_SUBDIRS@ +MCA_orte_FRAMEWORK_COMPONENT_DSO_SUBDIRS = @MCA_orte_FRAMEWORK_COMPONENT_DSO_SUBDIRS@ +MCA_orte_FRAMEWORK_COMPONENT_STATIC_SUBDIRS = @MCA_orte_FRAMEWORK_COMPONENT_STATIC_SUBDIRS@ +MCA_orte_FRAMEWORK_LIBS = @MCA_orte_FRAMEWORK_LIBS@ +MCA_osc_ALL_COMPONENTS = @MCA_osc_ALL_COMPONENTS@ +MCA_osc_ALL_SUBDIRS = @MCA_osc_ALL_SUBDIRS@ +MCA_osc_DSO_COMPONENTS = @MCA_osc_DSO_COMPONENTS@ +MCA_osc_DSO_SUBDIRS = @MCA_osc_DSO_SUBDIRS@ +MCA_osc_STATIC_COMPONENTS = @MCA_osc_STATIC_COMPONENTS@ +MCA_osc_STATIC_LTLIBS = @MCA_osc_STATIC_LTLIBS@ +MCA_osc_STATIC_SUBDIRS = @MCA_osc_STATIC_SUBDIRS@ +MCA_paffinity_ALL_COMPONENTS = @MCA_paffinity_ALL_COMPONENTS@ +MCA_paffinity_ALL_SUBDIRS = @MCA_paffinity_ALL_SUBDIRS@ +MCA_paffinity_DSO_COMPONENTS = @MCA_paffinity_DSO_COMPONENTS@ +MCA_paffinity_DSO_SUBDIRS = @MCA_paffinity_DSO_SUBDIRS@ +MCA_paffinity_STATIC_COMPONENTS = @MCA_paffinity_STATIC_COMPONENTS@ +MCA_paffinity_STATIC_LTLIBS = @MCA_paffinity_STATIC_LTLIBS@ +MCA_paffinity_STATIC_SUBDIRS = @MCA_paffinity_STATIC_SUBDIRS@ +MCA_pls_ALL_COMPONENTS = @MCA_pls_ALL_COMPONENTS@ +MCA_pls_ALL_SUBDIRS = @MCA_pls_ALL_SUBDIRS@ +MCA_pls_DSO_COMPONENTS = @MCA_pls_DSO_COMPONENTS@ +MCA_pls_DSO_SUBDIRS = @MCA_pls_DSO_SUBDIRS@ +MCA_pls_STATIC_COMPONENTS = @MCA_pls_STATIC_COMPONENTS@ +MCA_pls_STATIC_LTLIBS = @MCA_pls_STATIC_LTLIBS@ +MCA_pls_STATIC_SUBDIRS = @MCA_pls_STATIC_SUBDIRS@ +MCA_pml_ALL_COMPONENTS = @MCA_pml_ALL_COMPONENTS@ +MCA_pml_ALL_SUBDIRS = @MCA_pml_ALL_SUBDIRS@ +MCA_pml_DIRECT_CALL_HEADER = @MCA_pml_DIRECT_CALL_HEADER@ +MCA_pml_DSO_COMPONENTS = @MCA_pml_DSO_COMPONENTS@ +MCA_pml_DSO_SUBDIRS = @MCA_pml_DSO_SUBDIRS@ +MCA_pml_STATIC_COMPONENTS = @MCA_pml_STATIC_COMPONENTS@ +MCA_pml_STATIC_LTLIBS = @MCA_pml_STATIC_LTLIBS@ +MCA_pml_STATIC_SUBDIRS = @MCA_pml_STATIC_SUBDIRS@ +MCA_ras_ALL_COMPONENTS = @MCA_ras_ALL_COMPONENTS@ +MCA_ras_ALL_SUBDIRS = @MCA_ras_ALL_SUBDIRS@ +MCA_ras_DSO_COMPONENTS = @MCA_ras_DSO_COMPONENTS@ +MCA_ras_DSO_SUBDIRS = @MCA_ras_DSO_SUBDIRS@ +MCA_ras_STATIC_COMPONENTS = @MCA_ras_STATIC_COMPONENTS@ +MCA_ras_STATIC_LTLIBS = @MCA_ras_STATIC_LTLIBS@ +MCA_ras_STATIC_SUBDIRS = @MCA_ras_STATIC_SUBDIRS@ +MCA_rcache_ALL_COMPONENTS = @MCA_rcache_ALL_COMPONENTS@ +MCA_rcache_ALL_SUBDIRS = @MCA_rcache_ALL_SUBDIRS@ +MCA_rcache_DSO_COMPONENTS = @MCA_rcache_DSO_COMPONENTS@ +MCA_rcache_DSO_SUBDIRS = @MCA_rcache_DSO_SUBDIRS@ +MCA_rcache_STATIC_COMPONENTS = @MCA_rcache_STATIC_COMPONENTS@ +MCA_rcache_STATIC_LTLIBS = @MCA_rcache_STATIC_LTLIBS@ +MCA_rcache_STATIC_SUBDIRS = @MCA_rcache_STATIC_SUBDIRS@ +MCA_rds_ALL_COMPONENTS = @MCA_rds_ALL_COMPONENTS@ +MCA_rds_ALL_SUBDIRS = @MCA_rds_ALL_SUBDIRS@ +MCA_rds_DSO_COMPONENTS = @MCA_rds_DSO_COMPONENTS@ +MCA_rds_DSO_SUBDIRS = @MCA_rds_DSO_SUBDIRS@ +MCA_rds_STATIC_COMPONENTS = @MCA_rds_STATIC_COMPONENTS@ +MCA_rds_STATIC_LTLIBS = @MCA_rds_STATIC_LTLIBS@ +MCA_rds_STATIC_SUBDIRS = @MCA_rds_STATIC_SUBDIRS@ +MCA_rmaps_ALL_COMPONENTS = @MCA_rmaps_ALL_COMPONENTS@ +MCA_rmaps_ALL_SUBDIRS = @MCA_rmaps_ALL_SUBDIRS@ +MCA_rmaps_DSO_COMPONENTS = @MCA_rmaps_DSO_COMPONENTS@ +MCA_rmaps_DSO_SUBDIRS = @MCA_rmaps_DSO_SUBDIRS@ +MCA_rmaps_STATIC_COMPONENTS = @MCA_rmaps_STATIC_COMPONENTS@ +MCA_rmaps_STATIC_LTLIBS = @MCA_rmaps_STATIC_LTLIBS@ +MCA_rmaps_STATIC_SUBDIRS = @MCA_rmaps_STATIC_SUBDIRS@ +MCA_rmgr_ALL_COMPONENTS = @MCA_rmgr_ALL_COMPONENTS@ +MCA_rmgr_ALL_SUBDIRS = @MCA_rmgr_ALL_SUBDIRS@ +MCA_rmgr_DSO_COMPONENTS = @MCA_rmgr_DSO_COMPONENTS@ +MCA_rmgr_DSO_SUBDIRS = @MCA_rmgr_DSO_SUBDIRS@ +MCA_rmgr_STATIC_COMPONENTS = @MCA_rmgr_STATIC_COMPONENTS@ +MCA_rmgr_STATIC_LTLIBS = @MCA_rmgr_STATIC_LTLIBS@ +MCA_rmgr_STATIC_SUBDIRS = @MCA_rmgr_STATIC_SUBDIRS@ +MCA_rml_ALL_COMPONENTS = @MCA_rml_ALL_COMPONENTS@ +MCA_rml_ALL_SUBDIRS = @MCA_rml_ALL_SUBDIRS@ +MCA_rml_DSO_COMPONENTS = @MCA_rml_DSO_COMPONENTS@ +MCA_rml_DSO_SUBDIRS = @MCA_rml_DSO_SUBDIRS@ +MCA_rml_STATIC_COMPONENTS = @MCA_rml_STATIC_COMPONENTS@ +MCA_rml_STATIC_LTLIBS = @MCA_rml_STATIC_LTLIBS@ +MCA_rml_STATIC_SUBDIRS = @MCA_rml_STATIC_SUBDIRS@ +MCA_schema_ALL_COMPONENTS = @MCA_schema_ALL_COMPONENTS@ +MCA_schema_ALL_SUBDIRS = @MCA_schema_ALL_SUBDIRS@ +MCA_schema_DSO_COMPONENTS = @MCA_schema_DSO_COMPONENTS@ +MCA_schema_DSO_SUBDIRS = @MCA_schema_DSO_SUBDIRS@ +MCA_schema_STATIC_COMPONENTS = @MCA_schema_STATIC_COMPONENTS@ +MCA_schema_STATIC_LTLIBS = @MCA_schema_STATIC_LTLIBS@ +MCA_schema_STATIC_SUBDIRS = @MCA_schema_STATIC_SUBDIRS@ +MCA_sds_ALL_COMPONENTS = @MCA_sds_ALL_COMPONENTS@ +MCA_sds_ALL_SUBDIRS = @MCA_sds_ALL_SUBDIRS@ +MCA_sds_DSO_COMPONENTS = @MCA_sds_DSO_COMPONENTS@ +MCA_sds_DSO_SUBDIRS = @MCA_sds_DSO_SUBDIRS@ +MCA_sds_STATIC_COMPONENTS = @MCA_sds_STATIC_COMPONENTS@ +MCA_sds_STATIC_LTLIBS = @MCA_sds_STATIC_LTLIBS@ +MCA_sds_STATIC_SUBDIRS = @MCA_sds_STATIC_SUBDIRS@ +MCA_smr_ALL_COMPONENTS = @MCA_smr_ALL_COMPONENTS@ +MCA_smr_ALL_SUBDIRS = @MCA_smr_ALL_SUBDIRS@ +MCA_smr_DSO_COMPONENTS = @MCA_smr_DSO_COMPONENTS@ +MCA_smr_DSO_SUBDIRS = @MCA_smr_DSO_SUBDIRS@ +MCA_smr_STATIC_COMPONENTS = @MCA_smr_STATIC_COMPONENTS@ +MCA_smr_STATIC_LTLIBS = @MCA_smr_STATIC_LTLIBS@ +MCA_smr_STATIC_SUBDIRS = @MCA_smr_STATIC_SUBDIRS@ +MCA_timer_ALL_COMPONENTS = @MCA_timer_ALL_COMPONENTS@ +MCA_timer_ALL_SUBDIRS = @MCA_timer_ALL_SUBDIRS@ +MCA_timer_DSO_COMPONENTS = @MCA_timer_DSO_COMPONENTS@ +MCA_timer_DSO_SUBDIRS = @MCA_timer_DSO_SUBDIRS@ +MCA_timer_STATIC_COMPONENTS = @MCA_timer_STATIC_COMPONENTS@ +MCA_timer_STATIC_LTLIBS = @MCA_timer_STATIC_LTLIBS@ +MCA_timer_STATIC_SUBDIRS = @MCA_timer_STATIC_SUBDIRS@ +MCA_topo_ALL_COMPONENTS = @MCA_topo_ALL_COMPONENTS@ +MCA_topo_ALL_SUBDIRS = @MCA_topo_ALL_SUBDIRS@ +MCA_topo_DSO_COMPONENTS = @MCA_topo_DSO_COMPONENTS@ +MCA_topo_DSO_SUBDIRS = @MCA_topo_DSO_SUBDIRS@ +MCA_topo_STATIC_COMPONENTS = @MCA_topo_STATIC_COMPONENTS@ +MCA_topo_STATIC_LTLIBS = @MCA_topo_STATIC_LTLIBS@ +MCA_topo_STATIC_SUBDIRS = @MCA_topo_STATIC_SUBDIRS@ +MPIF_H_PMPI_W_FUNCS = @MPIF_H_PMPI_W_FUNCS@ +OBJC = @OBJC@ +OBJCDEPMODE = @OBJCDEPMODE@ +OBJCFLAGS = @OBJCFLAGS@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OMPI_ASM_FILE = @OMPI_ASM_FILE@ +OMPI_ASM_GSYM = @OMPI_ASM_GSYM@ +OMPI_ASM_LSYM = @OMPI_ASM_LSYM@ +OMPI_ASM_SUPPORT_64BIT = @OMPI_ASM_SUPPORT_64BIT@ +OMPI_ASM_TEXT = @OMPI_ASM_TEXT@ +OMPI_ASM_TYPE = @OMPI_ASM_TYPE@ +OMPI_ASSEMBLY_ARCH = @OMPI_ASSEMBLY_ARCH@ +OMPI_ASSEMBLY_FORMAT = @OMPI_ASSEMBLY_FORMAT@ +OMPI_AS_GLOBAL = @OMPI_AS_GLOBAL@ +OMPI_AS_LABEL_SUFFIX = @OMPI_AS_LABEL_SUFFIX@ +OMPI_BUILD_allocator_basic_DSO_FALSE = @OMPI_BUILD_allocator_basic_DSO_FALSE@ +OMPI_BUILD_allocator_basic_DSO_TRUE = @OMPI_BUILD_allocator_basic_DSO_TRUE@ +OMPI_BUILD_allocator_bucket_DSO_FALSE = @OMPI_BUILD_allocator_bucket_DSO_FALSE@ +OMPI_BUILD_allocator_bucket_DSO_TRUE = @OMPI_BUILD_allocator_bucket_DSO_TRUE@ +OMPI_BUILD_backtrace_darwin_DSO_FALSE = @OMPI_BUILD_backtrace_darwin_DSO_FALSE@ +OMPI_BUILD_backtrace_darwin_DSO_TRUE = @OMPI_BUILD_backtrace_darwin_DSO_TRUE@ +OMPI_BUILD_backtrace_execinfo_DSO_FALSE = @OMPI_BUILD_backtrace_execinfo_DSO_FALSE@ +OMPI_BUILD_backtrace_execinfo_DSO_TRUE = @OMPI_BUILD_backtrace_execinfo_DSO_TRUE@ +OMPI_BUILD_backtrace_none_DSO_FALSE = @OMPI_BUILD_backtrace_none_DSO_FALSE@ +OMPI_BUILD_backtrace_none_DSO_TRUE = @OMPI_BUILD_backtrace_none_DSO_TRUE@ +OMPI_BUILD_backtrace_printstack_DSO_FALSE = @OMPI_BUILD_backtrace_printstack_DSO_FALSE@ +OMPI_BUILD_backtrace_printstack_DSO_TRUE = @OMPI_BUILD_backtrace_printstack_DSO_TRUE@ +OMPI_BUILD_bml_r2_DSO_FALSE = @OMPI_BUILD_bml_r2_DSO_FALSE@ +OMPI_BUILD_bml_r2_DSO_TRUE = @OMPI_BUILD_bml_r2_DSO_TRUE@ +OMPI_BUILD_btl_gm_DSO_FALSE = @OMPI_BUILD_btl_gm_DSO_FALSE@ +OMPI_BUILD_btl_gm_DSO_TRUE = @OMPI_BUILD_btl_gm_DSO_TRUE@ +OMPI_BUILD_btl_mvapi_DSO_FALSE = @OMPI_BUILD_btl_mvapi_DSO_FALSE@ +OMPI_BUILD_btl_mvapi_DSO_TRUE = @OMPI_BUILD_btl_mvapi_DSO_TRUE@ +OMPI_BUILD_btl_mx_DSO_FALSE = @OMPI_BUILD_btl_mx_DSO_FALSE@ +OMPI_BUILD_btl_mx_DSO_TRUE = @OMPI_BUILD_btl_mx_DSO_TRUE@ +OMPI_BUILD_btl_openib_DSO_FALSE = @OMPI_BUILD_btl_openib_DSO_FALSE@ +OMPI_BUILD_btl_openib_DSO_TRUE = @OMPI_BUILD_btl_openib_DSO_TRUE@ +OMPI_BUILD_btl_portals_DSO_FALSE = @OMPI_BUILD_btl_portals_DSO_FALSE@ +OMPI_BUILD_btl_portals_DSO_TRUE = @OMPI_BUILD_btl_portals_DSO_TRUE@ +OMPI_BUILD_btl_self_DSO_FALSE = @OMPI_BUILD_btl_self_DSO_FALSE@ +OMPI_BUILD_btl_self_DSO_TRUE = @OMPI_BUILD_btl_self_DSO_TRUE@ +OMPI_BUILD_btl_sm_DSO_FALSE = @OMPI_BUILD_btl_sm_DSO_FALSE@ +OMPI_BUILD_btl_sm_DSO_TRUE = @OMPI_BUILD_btl_sm_DSO_TRUE@ +OMPI_BUILD_btl_tcp_DSO_FALSE = @OMPI_BUILD_btl_tcp_DSO_FALSE@ +OMPI_BUILD_btl_tcp_DSO_TRUE = @OMPI_BUILD_btl_tcp_DSO_TRUE@ +OMPI_BUILD_btl_udapl_DSO_FALSE = @OMPI_BUILD_btl_udapl_DSO_FALSE@ +OMPI_BUILD_btl_udapl_DSO_TRUE = @OMPI_BUILD_btl_udapl_DSO_TRUE@ +OMPI_BUILD_coll_basic_DSO_FALSE = @OMPI_BUILD_coll_basic_DSO_FALSE@ +OMPI_BUILD_coll_basic_DSO_TRUE = @OMPI_BUILD_coll_basic_DSO_TRUE@ +OMPI_BUILD_coll_hierarch_DSO_FALSE = @OMPI_BUILD_coll_hierarch_DSO_FALSE@ +OMPI_BUILD_coll_hierarch_DSO_TRUE = @OMPI_BUILD_coll_hierarch_DSO_TRUE@ +OMPI_BUILD_coll_self_DSO_FALSE = @OMPI_BUILD_coll_self_DSO_FALSE@ +OMPI_BUILD_coll_self_DSO_TRUE = @OMPI_BUILD_coll_self_DSO_TRUE@ +OMPI_BUILD_coll_sm_DSO_FALSE = @OMPI_BUILD_coll_sm_DSO_FALSE@ +OMPI_BUILD_coll_sm_DSO_TRUE = @OMPI_BUILD_coll_sm_DSO_TRUE@ +OMPI_BUILD_coll_tuned_DSO_FALSE = @OMPI_BUILD_coll_tuned_DSO_FALSE@ +OMPI_BUILD_coll_tuned_DSO_TRUE = @OMPI_BUILD_coll_tuned_DSO_TRUE@ +OMPI_BUILD_common_portals_DSO_FALSE = @OMPI_BUILD_common_portals_DSO_FALSE@ +OMPI_BUILD_common_portals_DSO_TRUE = @OMPI_BUILD_common_portals_DSO_TRUE@ +OMPI_BUILD_common_sm_DSO_FALSE = @OMPI_BUILD_common_sm_DSO_FALSE@ +OMPI_BUILD_common_sm_DSO_TRUE = @OMPI_BUILD_common_sm_DSO_TRUE@ +OMPI_BUILD_gpr_null_DSO_FALSE = @OMPI_BUILD_gpr_null_DSO_FALSE@ +OMPI_BUILD_gpr_null_DSO_TRUE = @OMPI_BUILD_gpr_null_DSO_TRUE@ +OMPI_BUILD_gpr_proxy_DSO_FALSE = @OMPI_BUILD_gpr_proxy_DSO_FALSE@ +OMPI_BUILD_gpr_proxy_DSO_TRUE = @OMPI_BUILD_gpr_proxy_DSO_TRUE@ +OMPI_BUILD_gpr_replica_DSO_FALSE = @OMPI_BUILD_gpr_replica_DSO_FALSE@ +OMPI_BUILD_gpr_replica_DSO_TRUE = @OMPI_BUILD_gpr_replica_DSO_TRUE@ +OMPI_BUILD_io_romio_DSO_FALSE = @OMPI_BUILD_io_romio_DSO_FALSE@ +OMPI_BUILD_io_romio_DSO_TRUE = @OMPI_BUILD_io_romio_DSO_TRUE@ +OMPI_BUILD_iof_proxy_DSO_FALSE = @OMPI_BUILD_iof_proxy_DSO_FALSE@ +OMPI_BUILD_iof_proxy_DSO_TRUE = @OMPI_BUILD_iof_proxy_DSO_TRUE@ +OMPI_BUILD_iof_svc_DSO_FALSE = @OMPI_BUILD_iof_svc_DSO_FALSE@ +OMPI_BUILD_iof_svc_DSO_TRUE = @OMPI_BUILD_iof_svc_DSO_TRUE@ +OMPI_BUILD_maffinity_first_use_DSO_FALSE = @OMPI_BUILD_maffinity_first_use_DSO_FALSE@ +OMPI_BUILD_maffinity_first_use_DSO_TRUE = @OMPI_BUILD_maffinity_first_use_DSO_TRUE@ +OMPI_BUILD_maffinity_libnuma_DSO_FALSE = @OMPI_BUILD_maffinity_libnuma_DSO_FALSE@ +OMPI_BUILD_maffinity_libnuma_DSO_TRUE = @OMPI_BUILD_maffinity_libnuma_DSO_TRUE@ +OMPI_BUILD_memory_darwin_DSO_FALSE = @OMPI_BUILD_memory_darwin_DSO_FALSE@ +OMPI_BUILD_memory_darwin_DSO_TRUE = @OMPI_BUILD_memory_darwin_DSO_TRUE@ +OMPI_BUILD_memory_malloc_hooks_DSO_FALSE = @OMPI_BUILD_memory_malloc_hooks_DSO_FALSE@ +OMPI_BUILD_memory_malloc_hooks_DSO_TRUE = @OMPI_BUILD_memory_malloc_hooks_DSO_TRUE@ +OMPI_BUILD_memory_ptmalloc2_DSO_FALSE = @OMPI_BUILD_memory_ptmalloc2_DSO_FALSE@ +OMPI_BUILD_memory_ptmalloc2_DSO_TRUE = @OMPI_BUILD_memory_ptmalloc2_DSO_TRUE@ +OMPI_BUILD_mpool_gm_DSO_FALSE = @OMPI_BUILD_mpool_gm_DSO_FALSE@ +OMPI_BUILD_mpool_gm_DSO_TRUE = @OMPI_BUILD_mpool_gm_DSO_TRUE@ +OMPI_BUILD_mpool_mvapi_DSO_FALSE = @OMPI_BUILD_mpool_mvapi_DSO_FALSE@ +OMPI_BUILD_mpool_mvapi_DSO_TRUE = @OMPI_BUILD_mpool_mvapi_DSO_TRUE@ +OMPI_BUILD_mpool_openib_DSO_FALSE = @OMPI_BUILD_mpool_openib_DSO_FALSE@ +OMPI_BUILD_mpool_openib_DSO_TRUE = @OMPI_BUILD_mpool_openib_DSO_TRUE@ +OMPI_BUILD_mpool_sm_DSO_FALSE = @OMPI_BUILD_mpool_sm_DSO_FALSE@ +OMPI_BUILD_mpool_sm_DSO_TRUE = @OMPI_BUILD_mpool_sm_DSO_TRUE@ +OMPI_BUILD_mpool_udapl_DSO_FALSE = @OMPI_BUILD_mpool_udapl_DSO_FALSE@ +OMPI_BUILD_mpool_udapl_DSO_TRUE = @OMPI_BUILD_mpool_udapl_DSO_TRUE@ +OMPI_BUILD_mtl_mx_DSO_FALSE = @OMPI_BUILD_mtl_mx_DSO_FALSE@ +OMPI_BUILD_mtl_mx_DSO_TRUE = @OMPI_BUILD_mtl_mx_DSO_TRUE@ +OMPI_BUILD_mtl_portals_DSO_FALSE = @OMPI_BUILD_mtl_portals_DSO_FALSE@ +OMPI_BUILD_mtl_portals_DSO_TRUE = @OMPI_BUILD_mtl_portals_DSO_TRUE@ +OMPI_BUILD_mtl_psm_DSO_FALSE = @OMPI_BUILD_mtl_psm_DSO_FALSE@ +OMPI_BUILD_mtl_psm_DSO_TRUE = @OMPI_BUILD_mtl_psm_DSO_TRUE@ +OMPI_BUILD_ns_proxy_DSO_FALSE = @OMPI_BUILD_ns_proxy_DSO_FALSE@ +OMPI_BUILD_ns_proxy_DSO_TRUE = @OMPI_BUILD_ns_proxy_DSO_TRUE@ +OMPI_BUILD_ns_replica_DSO_FALSE = @OMPI_BUILD_ns_replica_DSO_FALSE@ +OMPI_BUILD_ns_replica_DSO_TRUE = @OMPI_BUILD_ns_replica_DSO_TRUE@ +OMPI_BUILD_oob_tcp_DSO_FALSE = @OMPI_BUILD_oob_tcp_DSO_FALSE@ +OMPI_BUILD_oob_tcp_DSO_TRUE = @OMPI_BUILD_oob_tcp_DSO_TRUE@ +OMPI_BUILD_osc_pt2pt_DSO_FALSE = @OMPI_BUILD_osc_pt2pt_DSO_FALSE@ +OMPI_BUILD_osc_pt2pt_DSO_TRUE = @OMPI_BUILD_osc_pt2pt_DSO_TRUE@ +OMPI_BUILD_osc_rdma_DSO_FALSE = @OMPI_BUILD_osc_rdma_DSO_FALSE@ +OMPI_BUILD_osc_rdma_DSO_TRUE = @OMPI_BUILD_osc_rdma_DSO_TRUE@ +OMPI_BUILD_paffinity_linux_DSO_FALSE = @OMPI_BUILD_paffinity_linux_DSO_FALSE@ +OMPI_BUILD_paffinity_linux_DSO_TRUE = @OMPI_BUILD_paffinity_linux_DSO_TRUE@ +OMPI_BUILD_paffinity_solaris_DSO_FALSE = @OMPI_BUILD_paffinity_solaris_DSO_FALSE@ +OMPI_BUILD_paffinity_solaris_DSO_TRUE = @OMPI_BUILD_paffinity_solaris_DSO_TRUE@ +OMPI_BUILD_paffinity_windows_DSO_FALSE = @OMPI_BUILD_paffinity_windows_DSO_FALSE@ +OMPI_BUILD_paffinity_windows_DSO_TRUE = @OMPI_BUILD_paffinity_windows_DSO_TRUE@ +OMPI_BUILD_pls_bproc_DSO_FALSE = @OMPI_BUILD_pls_bproc_DSO_FALSE@ +OMPI_BUILD_pls_bproc_DSO_TRUE = @OMPI_BUILD_pls_bproc_DSO_TRUE@ +OMPI_BUILD_pls_bproc_orted_DSO_FALSE = @OMPI_BUILD_pls_bproc_orted_DSO_FALSE@ +OMPI_BUILD_pls_bproc_orted_DSO_TRUE = @OMPI_BUILD_pls_bproc_orted_DSO_TRUE@ +OMPI_BUILD_pls_fork_DSO_FALSE = @OMPI_BUILD_pls_fork_DSO_FALSE@ +OMPI_BUILD_pls_fork_DSO_TRUE = @OMPI_BUILD_pls_fork_DSO_TRUE@ +OMPI_BUILD_pls_gridengine_DSO_FALSE = @OMPI_BUILD_pls_gridengine_DSO_FALSE@ +OMPI_BUILD_pls_gridengine_DSO_TRUE = @OMPI_BUILD_pls_gridengine_DSO_TRUE@ +OMPI_BUILD_pls_poe_DSO_FALSE = @OMPI_BUILD_pls_poe_DSO_FALSE@ +OMPI_BUILD_pls_poe_DSO_TRUE = @OMPI_BUILD_pls_poe_DSO_TRUE@ +OMPI_BUILD_pls_process_DSO_FALSE = @OMPI_BUILD_pls_process_DSO_FALSE@ +OMPI_BUILD_pls_process_DSO_TRUE = @OMPI_BUILD_pls_process_DSO_TRUE@ +OMPI_BUILD_pls_rsh_DSO_FALSE = @OMPI_BUILD_pls_rsh_DSO_FALSE@ +OMPI_BUILD_pls_rsh_DSO_TRUE = @OMPI_BUILD_pls_rsh_DSO_TRUE@ +OMPI_BUILD_pls_slurm_DSO_FALSE = @OMPI_BUILD_pls_slurm_DSO_FALSE@ +OMPI_BUILD_pls_slurm_DSO_TRUE = @OMPI_BUILD_pls_slurm_DSO_TRUE@ +OMPI_BUILD_pls_tm_DSO_FALSE = @OMPI_BUILD_pls_tm_DSO_FALSE@ +OMPI_BUILD_pls_tm_DSO_TRUE = @OMPI_BUILD_pls_tm_DSO_TRUE@ +OMPI_BUILD_pls_xgrid_DSO_FALSE = @OMPI_BUILD_pls_xgrid_DSO_FALSE@ +OMPI_BUILD_pls_xgrid_DSO_TRUE = @OMPI_BUILD_pls_xgrid_DSO_TRUE@ +OMPI_BUILD_pml_cm_DSO_FALSE = @OMPI_BUILD_pml_cm_DSO_FALSE@ +OMPI_BUILD_pml_cm_DSO_TRUE = @OMPI_BUILD_pml_cm_DSO_TRUE@ +OMPI_BUILD_pml_dr_DSO_FALSE = @OMPI_BUILD_pml_dr_DSO_FALSE@ +OMPI_BUILD_pml_dr_DSO_TRUE = @OMPI_BUILD_pml_dr_DSO_TRUE@ +OMPI_BUILD_pml_ob1_DSO_FALSE = @OMPI_BUILD_pml_ob1_DSO_FALSE@ +OMPI_BUILD_pml_ob1_DSO_TRUE = @OMPI_BUILD_pml_ob1_DSO_TRUE@ +OMPI_BUILD_ras_bjs_DSO_FALSE = @OMPI_BUILD_ras_bjs_DSO_FALSE@ +OMPI_BUILD_ras_bjs_DSO_TRUE = @OMPI_BUILD_ras_bjs_DSO_TRUE@ +OMPI_BUILD_ras_dash_host_DSO_FALSE = @OMPI_BUILD_ras_dash_host_DSO_FALSE@ +OMPI_BUILD_ras_dash_host_DSO_TRUE = @OMPI_BUILD_ras_dash_host_DSO_TRUE@ +OMPI_BUILD_ras_gridengine_DSO_FALSE = @OMPI_BUILD_ras_gridengine_DSO_FALSE@ +OMPI_BUILD_ras_gridengine_DSO_TRUE = @OMPI_BUILD_ras_gridengine_DSO_TRUE@ +OMPI_BUILD_ras_hostfile_DSO_FALSE = @OMPI_BUILD_ras_hostfile_DSO_FALSE@ +OMPI_BUILD_ras_hostfile_DSO_TRUE = @OMPI_BUILD_ras_hostfile_DSO_TRUE@ +OMPI_BUILD_ras_localhost_DSO_FALSE = @OMPI_BUILD_ras_localhost_DSO_FALSE@ +OMPI_BUILD_ras_localhost_DSO_TRUE = @OMPI_BUILD_ras_localhost_DSO_TRUE@ +OMPI_BUILD_ras_lsf_bproc_DSO_FALSE = @OMPI_BUILD_ras_lsf_bproc_DSO_FALSE@ +OMPI_BUILD_ras_lsf_bproc_DSO_TRUE = @OMPI_BUILD_ras_lsf_bproc_DSO_TRUE@ +OMPI_BUILD_ras_poe_DSO_FALSE = @OMPI_BUILD_ras_poe_DSO_FALSE@ +OMPI_BUILD_ras_poe_DSO_TRUE = @OMPI_BUILD_ras_poe_DSO_TRUE@ +OMPI_BUILD_ras_slurm_DSO_FALSE = @OMPI_BUILD_ras_slurm_DSO_FALSE@ +OMPI_BUILD_ras_slurm_DSO_TRUE = @OMPI_BUILD_ras_slurm_DSO_TRUE@ +OMPI_BUILD_ras_tm_DSO_FALSE = @OMPI_BUILD_ras_tm_DSO_FALSE@ +OMPI_BUILD_ras_tm_DSO_TRUE = @OMPI_BUILD_ras_tm_DSO_TRUE@ +OMPI_BUILD_ras_xgrid_DSO_FALSE = @OMPI_BUILD_ras_xgrid_DSO_FALSE@ +OMPI_BUILD_ras_xgrid_DSO_TRUE = @OMPI_BUILD_ras_xgrid_DSO_TRUE@ +OMPI_BUILD_rcache_rb_DSO_FALSE = @OMPI_BUILD_rcache_rb_DSO_FALSE@ +OMPI_BUILD_rcache_rb_DSO_TRUE = @OMPI_BUILD_rcache_rb_DSO_TRUE@ +OMPI_BUILD_rcache_vma_DSO_FALSE = @OMPI_BUILD_rcache_vma_DSO_FALSE@ +OMPI_BUILD_rcache_vma_DSO_TRUE = @OMPI_BUILD_rcache_vma_DSO_TRUE@ +OMPI_BUILD_rds_hostfile_DSO_FALSE = @OMPI_BUILD_rds_hostfile_DSO_FALSE@ +OMPI_BUILD_rds_hostfile_DSO_TRUE = @OMPI_BUILD_rds_hostfile_DSO_TRUE@ +OMPI_BUILD_rds_resfile_DSO_FALSE = @OMPI_BUILD_rds_resfile_DSO_FALSE@ +OMPI_BUILD_rds_resfile_DSO_TRUE = @OMPI_BUILD_rds_resfile_DSO_TRUE@ +OMPI_BUILD_rmaps_round_robin_DSO_FALSE = @OMPI_BUILD_rmaps_round_robin_DSO_FALSE@ +OMPI_BUILD_rmaps_round_robin_DSO_TRUE = @OMPI_BUILD_rmaps_round_robin_DSO_TRUE@ +OMPI_BUILD_rmgr_cnos_DSO_FALSE = @OMPI_BUILD_rmgr_cnos_DSO_FALSE@ +OMPI_BUILD_rmgr_cnos_DSO_TRUE = @OMPI_BUILD_rmgr_cnos_DSO_TRUE@ +OMPI_BUILD_rmgr_proxy_DSO_FALSE = @OMPI_BUILD_rmgr_proxy_DSO_FALSE@ +OMPI_BUILD_rmgr_proxy_DSO_TRUE = @OMPI_BUILD_rmgr_proxy_DSO_TRUE@ +OMPI_BUILD_rmgr_urm_DSO_FALSE = @OMPI_BUILD_rmgr_urm_DSO_FALSE@ +OMPI_BUILD_rmgr_urm_DSO_TRUE = @OMPI_BUILD_rmgr_urm_DSO_TRUE@ +OMPI_BUILD_rml_cnos_DSO_FALSE = @OMPI_BUILD_rml_cnos_DSO_FALSE@ +OMPI_BUILD_rml_cnos_DSO_TRUE = @OMPI_BUILD_rml_cnos_DSO_TRUE@ +OMPI_BUILD_rml_oob_DSO_FALSE = @OMPI_BUILD_rml_oob_DSO_FALSE@ +OMPI_BUILD_rml_oob_DSO_TRUE = @OMPI_BUILD_rml_oob_DSO_TRUE@ +OMPI_BUILD_sds_bproc_DSO_FALSE = @OMPI_BUILD_sds_bproc_DSO_FALSE@ +OMPI_BUILD_sds_bproc_DSO_TRUE = @OMPI_BUILD_sds_bproc_DSO_TRUE@ +OMPI_BUILD_sds_cnos_DSO_FALSE = @OMPI_BUILD_sds_cnos_DSO_FALSE@ +OMPI_BUILD_sds_cnos_DSO_TRUE = @OMPI_BUILD_sds_cnos_DSO_TRUE@ +OMPI_BUILD_sds_env_DSO_FALSE = @OMPI_BUILD_sds_env_DSO_FALSE@ +OMPI_BUILD_sds_env_DSO_TRUE = @OMPI_BUILD_sds_env_DSO_TRUE@ +OMPI_BUILD_sds_pipe_DSO_FALSE = @OMPI_BUILD_sds_pipe_DSO_FALSE@ +OMPI_BUILD_sds_pipe_DSO_TRUE = @OMPI_BUILD_sds_pipe_DSO_TRUE@ +OMPI_BUILD_sds_portals_utcp_DSO_FALSE = @OMPI_BUILD_sds_portals_utcp_DSO_FALSE@ +OMPI_BUILD_sds_portals_utcp_DSO_TRUE = @OMPI_BUILD_sds_portals_utcp_DSO_TRUE@ +OMPI_BUILD_sds_seed_DSO_FALSE = @OMPI_BUILD_sds_seed_DSO_FALSE@ +OMPI_BUILD_sds_seed_DSO_TRUE = @OMPI_BUILD_sds_seed_DSO_TRUE@ +OMPI_BUILD_sds_singleton_DSO_FALSE = @OMPI_BUILD_sds_singleton_DSO_FALSE@ +OMPI_BUILD_sds_singleton_DSO_TRUE = @OMPI_BUILD_sds_singleton_DSO_TRUE@ +OMPI_BUILD_sds_slurm_DSO_FALSE = @OMPI_BUILD_sds_slurm_DSO_FALSE@ +OMPI_BUILD_sds_slurm_DSO_TRUE = @OMPI_BUILD_sds_slurm_DSO_TRUE@ +OMPI_BUILD_smr_bproc_DSO_FALSE = @OMPI_BUILD_smr_bproc_DSO_FALSE@ +OMPI_BUILD_smr_bproc_DSO_TRUE = @OMPI_BUILD_smr_bproc_DSO_TRUE@ +OMPI_BUILD_timer_aix_DSO_FALSE = @OMPI_BUILD_timer_aix_DSO_FALSE@ +OMPI_BUILD_timer_aix_DSO_TRUE = @OMPI_BUILD_timer_aix_DSO_TRUE@ +OMPI_BUILD_timer_altix_DSO_FALSE = @OMPI_BUILD_timer_altix_DSO_FALSE@ +OMPI_BUILD_timer_altix_DSO_TRUE = @OMPI_BUILD_timer_altix_DSO_TRUE@ +OMPI_BUILD_timer_darwin_DSO_FALSE = @OMPI_BUILD_timer_darwin_DSO_FALSE@ +OMPI_BUILD_timer_darwin_DSO_TRUE = @OMPI_BUILD_timer_darwin_DSO_TRUE@ +OMPI_BUILD_timer_linux_DSO_FALSE = @OMPI_BUILD_timer_linux_DSO_FALSE@ +OMPI_BUILD_timer_linux_DSO_TRUE = @OMPI_BUILD_timer_linux_DSO_TRUE@ +OMPI_BUILD_timer_solaris_DSO_FALSE = @OMPI_BUILD_timer_solaris_DSO_FALSE@ +OMPI_BUILD_timer_solaris_DSO_TRUE = @OMPI_BUILD_timer_solaris_DSO_TRUE@ +OMPI_BUILD_timer_windows_DSO_FALSE = @OMPI_BUILD_timer_windows_DSO_FALSE@ +OMPI_BUILD_timer_windows_DSO_TRUE = @OMPI_BUILD_timer_windows_DSO_TRUE@ +OMPI_BUILD_topo_unity_DSO_FALSE = @OMPI_BUILD_topo_unity_DSO_FALSE@ +OMPI_BUILD_topo_unity_DSO_TRUE = @OMPI_BUILD_topo_unity_DSO_TRUE@ +OMPI_CC_ABSOLUTE = @OMPI_CC_ABSOLUTE@ +OMPI_CONFIGURE_DATE = @OMPI_CONFIGURE_DATE@ +OMPI_CONFIGURE_HOST = @OMPI_CONFIGURE_HOST@ +OMPI_CONFIGURE_USER = @OMPI_CONFIGURE_USER@ +OMPI_CXX_ABSOLUTE = @OMPI_CXX_ABSOLUTE@ +OMPI_F77_ABSOLUTE = @OMPI_F77_ABSOLUTE@ +OMPI_F90_ABSOLUTE = @OMPI_F90_ABSOLUTE@ +OMPI_F90_BUILD_SIZE = @OMPI_F90_BUILD_SIZE@ +OMPI_F90_CKINDS = @OMPI_F90_CKINDS@ +OMPI_F90_FORCE_STATIC_FALSE = @OMPI_F90_FORCE_STATIC_FALSE@ +OMPI_F90_FORCE_STATIC_TRUE = @OMPI_F90_FORCE_STATIC_TRUE@ +OMPI_F90_IKINDS = @OMPI_F90_IKINDS@ +OMPI_F90_RKINDS = @OMPI_F90_RKINDS@ +OMPI_FC_MODULE_FLAG = @OMPI_FC_MODULE_FLAG@ +OMPI_FORTRAN_MAX_ARRAY_RANK = @OMPI_FORTRAN_MAX_ARRAY_RANK@ +OMPI_GREEK_VERSION = @OMPI_GREEK_VERSION@ +OMPI_HAVE_ASM_FILE_FALSE = @OMPI_HAVE_ASM_FILE_FALSE@ +OMPI_HAVE_ASM_FILE_TRUE = @OMPI_HAVE_ASM_FILE_TRUE@ +OMPI_HAVE_POSIX_THREADS_FALSE = @OMPI_HAVE_POSIX_THREADS_FALSE@ +OMPI_HAVE_POSIX_THREADS_TRUE = @OMPI_HAVE_POSIX_THREADS_TRUE@ +OMPI_HAVE_SOLARIS_THREADS_FALSE = @OMPI_HAVE_SOLARIS_THREADS_FALSE@ +OMPI_HAVE_SOLARIS_THREADS_TRUE = @OMPI_HAVE_SOLARIS_THREADS_TRUE@ +OMPI_INSTALL_BINARIES_FALSE = @OMPI_INSTALL_BINARIES_FALSE@ +OMPI_INSTALL_BINARIES_TRUE = @OMPI_INSTALL_BINARIES_TRUE@ +OMPI_LIBEVENT_SOURCES = @OMPI_LIBEVENT_SOURCES@ +OMPI_MAJOR_VERSION = @OMPI_MAJOR_VERSION@ +OMPI_MINOR_VERSION = @OMPI_MINOR_VERSION@ +OMPI_MPI_ADDRESS_KIND = @OMPI_MPI_ADDRESS_KIND@ +OMPI_MPI_INTEGER_KIND = @OMPI_MPI_INTEGER_KIND@ +OMPI_MPI_OFFSET_KIND = @OMPI_MPI_OFFSET_KIND@ +OMPI_NEED_WINDOWS_REPLACEMENTS_FALSE = @OMPI_NEED_WINDOWS_REPLACEMENTS_FALSE@ +OMPI_NEED_WINDOWS_REPLACEMENTS_TRUE = @OMPI_NEED_WINDOWS_REPLACEMENTS_TRUE@ +OMPI_RELEASE_VERSION = @OMPI_RELEASE_VERSION@ +OMPI_SIZEOF_F90_COMPLEX = @OMPI_SIZEOF_F90_COMPLEX@ +OMPI_SIZEOF_F90_COMPLEX16 = @OMPI_SIZEOF_F90_COMPLEX16@ +OMPI_SIZEOF_F90_COMPLEX32 = @OMPI_SIZEOF_F90_COMPLEX32@ +OMPI_SIZEOF_F90_COMPLEX8 = @OMPI_SIZEOF_F90_COMPLEX8@ +OMPI_SIZEOF_F90_DOUBLE_COMPLEX = @OMPI_SIZEOF_F90_DOUBLE_COMPLEX@ +OMPI_SIZEOF_F90_DOUBLE_PRECISION = @OMPI_SIZEOF_F90_DOUBLE_PRECISION@ +OMPI_SIZEOF_F90_INTEGER = @OMPI_SIZEOF_F90_INTEGER@ +OMPI_SIZEOF_F90_INTEGER1 = @OMPI_SIZEOF_F90_INTEGER1@ +OMPI_SIZEOF_F90_INTEGER16 = @OMPI_SIZEOF_F90_INTEGER16@ +OMPI_SIZEOF_F90_INTEGER2 = @OMPI_SIZEOF_F90_INTEGER2@ +OMPI_SIZEOF_F90_INTEGER4 = @OMPI_SIZEOF_F90_INTEGER4@ +OMPI_SIZEOF_F90_INTEGER8 = @OMPI_SIZEOF_F90_INTEGER8@ +OMPI_SIZEOF_F90_LOGICAL = @OMPI_SIZEOF_F90_LOGICAL@ +OMPI_SIZEOF_F90_REAL = @OMPI_SIZEOF_F90_REAL@ +OMPI_SIZEOF_F90_REAL16 = @OMPI_SIZEOF_F90_REAL16@ +OMPI_SIZEOF_F90_REAL4 = @OMPI_SIZEOF_F90_REAL4@ +OMPI_SIZEOF_F90_REAL8 = @OMPI_SIZEOF_F90_REAL8@ +OMPI_SVN_R = @OMPI_SVN_R@ +OMPI_TOP_BUILDDIR = @OMPI_TOP_BUILDDIR@ +OMPI_TOP_SRCDIR = @OMPI_TOP_SRCDIR@ +OMPI_VERSION = @OMPI_VERSION@ +OMPI_WANT_BUILD_F90_LARGE_FALSE = @OMPI_WANT_BUILD_F90_LARGE_FALSE@ +OMPI_WANT_BUILD_F90_LARGE_TRUE = @OMPI_WANT_BUILD_F90_LARGE_TRUE@ +OMPI_WANT_BUILD_F90_MEDIUM_FALSE = @OMPI_WANT_BUILD_F90_MEDIUM_FALSE@ +OMPI_WANT_BUILD_F90_MEDIUM_TRUE = @OMPI_WANT_BUILD_F90_MEDIUM_TRUE@ +OMPI_WANT_BUILD_F90_SMALL_FALSE = @OMPI_WANT_BUILD_F90_SMALL_FALSE@ +OMPI_WANT_BUILD_F90_SMALL_TRUE = @OMPI_WANT_BUILD_F90_SMALL_TRUE@ +OMPI_WANT_BUILD_F90_TRIVIAL_FALSE = @OMPI_WANT_BUILD_F90_TRIVIAL_FALSE@ +OMPI_WANT_BUILD_F90_TRIVIAL_TRUE = @OMPI_WANT_BUILD_F90_TRIVIAL_TRUE@ +OMPI_WANT_F77_BINDINGS_FALSE = @OMPI_WANT_F77_BINDINGS_FALSE@ +OMPI_WANT_F77_BINDINGS_TRUE = @OMPI_WANT_F77_BINDINGS_TRUE@ +OMPI_WANT_F90_BINDINGS_FALSE = @OMPI_WANT_F90_BINDINGS_FALSE@ +OMPI_WANT_F90_BINDINGS_TRUE = @OMPI_WANT_F90_BINDINGS_TRUE@ +OMPI_WANT_SVN = @OMPI_WANT_SVN@ +OMPI_WRAPPER_CXX_LIB = @OMPI_WRAPPER_CXX_LIB@ +OMPI_WRAPPER_CXX_REQUIRED_FILE = @OMPI_WRAPPER_CXX_REQUIRED_FILE@ +OMPI_WRAPPER_EXTRA_CFLAGS = @OMPI_WRAPPER_EXTRA_CFLAGS@ +OMPI_WRAPPER_EXTRA_CPPFLAGS = @OMPI_WRAPPER_EXTRA_CPPFLAGS@ +OMPI_WRAPPER_EXTRA_CXXFLAGS = @OMPI_WRAPPER_EXTRA_CXXFLAGS@ +OMPI_WRAPPER_EXTRA_FCFLAGS = @OMPI_WRAPPER_EXTRA_FCFLAGS@ +OMPI_WRAPPER_EXTRA_FFLAGS = @OMPI_WRAPPER_EXTRA_FFLAGS@ +OMPI_WRAPPER_EXTRA_INCLUDES = @OMPI_WRAPPER_EXTRA_INCLUDES@ +OMPI_WRAPPER_EXTRA_LDFLAGS = @OMPI_WRAPPER_EXTRA_LDFLAGS@ +OMPI_WRAPPER_EXTRA_LIBS = @OMPI_WRAPPER_EXTRA_LIBS@ +OMPI_WRAPPER_F77_REQUIRED_FILE = @OMPI_WRAPPER_F77_REQUIRED_FILE@ +OMPI_WRAPPER_F90_REQUIRED_FILE = @OMPI_WRAPPER_F90_REQUIRED_FILE@ +OPAL_BINDIR = @OPAL_BINDIR@ +OPAL_DATADIR = @OPAL_DATADIR@ +OPAL_EXEC_PREFIX = @OPAL_EXEC_PREFIX@ +OPAL_GREEK_VERSION = @OPAL_GREEK_VERSION@ +OPAL_INCLUDEDIR = @OPAL_INCLUDEDIR@ +OPAL_INFODIR = @OPAL_INFODIR@ +OPAL_LIBDIR = @OPAL_LIBDIR@ +OPAL_LIBEXECDIR = @OPAL_LIBEXECDIR@ +OPAL_LOCALSTATEDIR = @OPAL_LOCALSTATEDIR@ +OPAL_LTDL_CPPFLAGS = @OPAL_LTDL_CPPFLAGS@ +OPAL_MAJOR_VERSION = @OPAL_MAJOR_VERSION@ +OPAL_MANDIR = @OPAL_MANDIR@ +OPAL_MINOR_VERSION = @OPAL_MINOR_VERSION@ +OPAL_PREFIX = @OPAL_PREFIX@ +OPAL_RELEASE_VERSION = @OPAL_RELEASE_VERSION@ +OPAL_SBINDIR = @OPAL_SBINDIR@ +OPAL_SHAREDSTATEDIR = @OPAL_SHAREDSTATEDIR@ +OPAL_SVN_R = @OPAL_SVN_R@ +OPAL_SYSCONFDIR = @OPAL_SYSCONFDIR@ +OPAL_VERSION = @OPAL_VERSION@ +OPAL_WANT_SVN = @OPAL_WANT_SVN@ +OPAL_WRAPPER_EXTRA_CFLAGS = @OPAL_WRAPPER_EXTRA_CFLAGS@ +OPAL_WRAPPER_EXTRA_CPPFLAGS = @OPAL_WRAPPER_EXTRA_CPPFLAGS@ +OPAL_WRAPPER_EXTRA_CXXFLAGS = @OPAL_WRAPPER_EXTRA_CXXFLAGS@ +OPAL_WRAPPER_EXTRA_INCLUDES = @OPAL_WRAPPER_EXTRA_INCLUDES@ +OPAL_WRAPPER_EXTRA_LDFLAGS = @OPAL_WRAPPER_EXTRA_LDFLAGS@ +OPAL_WRAPPER_EXTRA_LIBS = @OPAL_WRAPPER_EXTRA_LIBS@ +ORTE_GREEK_VERSION = @ORTE_GREEK_VERSION@ +ORTE_MAJOR_VERSION = @ORTE_MAJOR_VERSION@ +ORTE_MINOR_VERSION = @ORTE_MINOR_VERSION@ +ORTE_RELEASE_VERSION = @ORTE_RELEASE_VERSION@ +ORTE_SVN_R = @ORTE_SVN_R@ +ORTE_VERSION = @ORTE_VERSION@ +ORTE_WANT_SVN = @ORTE_WANT_SVN@ +ORTE_WRAPPER_EXTRA_CFLAGS = @ORTE_WRAPPER_EXTRA_CFLAGS@ +ORTE_WRAPPER_EXTRA_CPPFLAGS = @ORTE_WRAPPER_EXTRA_CPPFLAGS@ +ORTE_WRAPPER_EXTRA_CXXFLAGS = @ORTE_WRAPPER_EXTRA_CXXFLAGS@ +ORTE_WRAPPER_EXTRA_INCLUDES = @ORTE_WRAPPER_EXTRA_INCLUDES@ +ORTE_WRAPPER_EXTRA_LDFLAGS = @ORTE_WRAPPER_EXTRA_LDFLAGS@ +ORTE_WRAPPER_EXTRA_LIBS = @ORTE_WRAPPER_EXTRA_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOTALVIEW_DEBUG_FLAGS = @TOTALVIEW_DEBUG_FLAGS@ +VERSION = @VERSION@ +WANT_DEPRECATED_EXECUTABLE_NAMES_FALSE = @WANT_DEPRECATED_EXECUTABLE_NAMES_FALSE@ +WANT_DEPRECATED_EXECUTABLE_NAMES_TRUE = @WANT_DEPRECATED_EXECUTABLE_NAMES_TRUE@ +WANT_INSTALL_HEADERS_FALSE = @WANT_INSTALL_HEADERS_FALSE@ +WANT_INSTALL_HEADERS_TRUE = @WANT_INSTALL_HEADERS_TRUE@ +WANT_LIBLTDL_FALSE = @WANT_LIBLTDL_FALSE@ +WANT_LIBLTDL_TRUE = @WANT_LIBLTDL_TRUE@ +WANT_MPI_BINDINGS_LAYER_FALSE = @WANT_MPI_BINDINGS_LAYER_FALSE@ +WANT_MPI_BINDINGS_LAYER_TRUE = @WANT_MPI_BINDINGS_LAYER_TRUE@ +WANT_MPI_CXX_BINDINGS_FALSE = @WANT_MPI_CXX_BINDINGS_FALSE@ +WANT_MPI_CXX_BINDINGS_TRUE = @WANT_MPI_CXX_BINDINGS_TRUE@ +WANT_MPI_F77_BINDINGS_LAYER_FALSE = @WANT_MPI_F77_BINDINGS_LAYER_FALSE@ +WANT_MPI_F77_BINDINGS_LAYER_TRUE = @WANT_MPI_F77_BINDINGS_LAYER_TRUE@ +WANT_PERUSE_FALSE = @WANT_PERUSE_FALSE@ +WANT_PERUSE_TRUE = @WANT_PERUSE_TRUE@ +WANT_PMPI_BINDINGS_LAYER_FALSE = @WANT_PMPI_BINDINGS_LAYER_FALSE@ +WANT_PMPI_BINDINGS_LAYER_TRUE = @WANT_PMPI_BINDINGS_LAYER_TRUE@ +WANT_PMPI_F77_BINDINGS_LAYER_FALSE = @WANT_PMPI_F77_BINDINGS_LAYER_FALSE@ +WANT_PMPI_F77_BINDINGS_LAYER_TRUE = @WANT_PMPI_F77_BINDINGS_LAYER_TRUE@ +WRAPPER_EXTRA_CFLAGS = @WRAPPER_EXTRA_CFLAGS@ +WRAPPER_EXTRA_CXXFLAGS = @WRAPPER_EXTRA_CXXFLAGS@ +WRAPPER_EXTRA_FCFLAGS = @WRAPPER_EXTRA_FCFLAGS@ +WRAPPER_EXTRA_FFLAGS = @WRAPPER_EXTRA_FFLAGS@ +WRAPPER_EXTRA_LDFLAGS = @WRAPPER_EXTRA_LDFLAGS@ +WRAPPER_EXTRA_LIBS = @WRAPPER_EXTRA_LIBS@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_FC = @ac_ct_FC@ +ac_ct_OBJC = @ac_ct_OBJC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +ac_prefix_program = @ac_prefix_program@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__fastdepOBJC_FALSE = @am__fastdepOBJC_FALSE@ +am__fastdepOBJC_TRUE = @am__fastdepOBJC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +btl_gm_CFLAGS = @btl_gm_CFLAGS@ +btl_gm_CPPFLAGS = @btl_gm_CPPFLAGS@ +btl_gm_LDFLAGS = @btl_gm_LDFLAGS@ +btl_gm_LIBS = @btl_gm_LIBS@ +btl_mvapi_CFLAGS = @btl_mvapi_CFLAGS@ +btl_mvapi_CPPFLAGS = @btl_mvapi_CPPFLAGS@ +btl_mvapi_LDFLAGS = @btl_mvapi_LDFLAGS@ +btl_mvapi_LIBS = @btl_mvapi_LIBS@ +btl_mx_CFLAGS = @btl_mx_CFLAGS@ +btl_mx_CPPFLAGS = @btl_mx_CPPFLAGS@ +btl_mx_LDFLAGS = @btl_mx_LDFLAGS@ +btl_mx_LIBS = @btl_mx_LIBS@ +btl_openib_CFLAGS = @btl_openib_CFLAGS@ +btl_openib_CPPFLAGS = @btl_openib_CPPFLAGS@ +btl_openib_LDFLAGS = @btl_openib_LDFLAGS@ +btl_openib_LIBS = @btl_openib_LIBS@ +btl_portals_CPPFLAGS = @btl_portals_CPPFLAGS@ +btl_portals_LDFLAGS = @btl_portals_LDFLAGS@ +btl_portals_LIBS = @btl_portals_LIBS@ +btl_udapl_CFLAGS = @btl_udapl_CFLAGS@ +btl_udapl_CPPFLAGS = @btl_udapl_CPPFLAGS@ +btl_udapl_LDFLAGS = @btl_udapl_LDFLAGS@ +btl_udapl_LIBS = @btl_udapl_LIBS@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +common_portals_CPPFLAGS = @common_portals_CPPFLAGS@ +common_portals_LDFLAGS = @common_portals_LDFLAGS@ +common_portals_LIBS = @common_portals_LIBS@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +maffinity_libnuma_CPPFLAGS = @maffinity_libnuma_CPPFLAGS@ +maffinity_libnuma_LDFLAGS = @maffinity_libnuma_LDFLAGS@ +maffinity_libnuma_LIBS = @maffinity_libnuma_LIBS@ +mandir = @mandir@ +memory_malloc_hooks_LIBS = @memory_malloc_hooks_LIBS@ +memory_ptmalloc2_LIBS = @memory_ptmalloc2_LIBS@ +mkdir_p = @mkdir_p@ +mpool_gm_CFLAGS = @mpool_gm_CFLAGS@ +mpool_gm_CPPFLAGS = @mpool_gm_CPPFLAGS@ +mpool_gm_LDFLAGS = @mpool_gm_LDFLAGS@ +mpool_gm_LIBS = @mpool_gm_LIBS@ +mpool_mvapi_CFLAGS = @mpool_mvapi_CFLAGS@ +mpool_mvapi_CPPFLAGS = @mpool_mvapi_CPPFLAGS@ +mpool_mvapi_LDFLAGS = @mpool_mvapi_LDFLAGS@ +mpool_mvapi_LIBS = @mpool_mvapi_LIBS@ +mpool_openib_CFLAGS = @mpool_openib_CFLAGS@ +mpool_openib_CPPFLAGS = @mpool_openib_CPPFLAGS@ +mpool_openib_LDFLAGS = @mpool_openib_LDFLAGS@ +mpool_openib_LIBS = @mpool_openib_LIBS@ +mpool_udapl_CFLAGS = @mpool_udapl_CFLAGS@ +mpool_udapl_CPPFLAGS = @mpool_udapl_CPPFLAGS@ +mpool_udapl_LDFLAGS = @mpool_udapl_LDFLAGS@ +mpool_udapl_LIBS = @mpool_udapl_LIBS@ +mtl_mx_CFLAGS = @mtl_mx_CFLAGS@ +mtl_mx_CPPFLAGS = @mtl_mx_CPPFLAGS@ +mtl_mx_LDFLAGS = @mtl_mx_LDFLAGS@ +mtl_mx_LIBS = @mtl_mx_LIBS@ +mtl_portals_CPPFLAGS = @mtl_portals_CPPFLAGS@ +mtl_portals_LDFLAGS = @mtl_portals_LDFLAGS@ +mtl_portals_LIBS = @mtl_portals_LIBS@ +mtl_psm_CFLAGS = @mtl_psm_CFLAGS@ +mtl_psm_CPPFLAGS = @mtl_psm_CPPFLAGS@ +mtl_psm_LDFLAGS = @mtl_psm_LDFLAGS@ +mtl_psm_LIBS = @mtl_psm_LIBS@ +oldincludedir = @oldincludedir@ +pls_bproc_CPPFLAGS = @pls_bproc_CPPFLAGS@ +pls_bproc_LDFLAGS = @pls_bproc_LDFLAGS@ +pls_bproc_LIBS = @pls_bproc_LIBS@ +pls_bproc_orted_CPPFLAGS = @pls_bproc_orted_CPPFLAGS@ +pls_bproc_orted_LDFLAGS = @pls_bproc_orted_LDFLAGS@ +pls_bproc_orted_LIBS = @pls_bproc_orted_LIBS@ +pls_slurm_CPPFLAGS = @pls_slurm_CPPFLAGS@ +pls_slurm_LDFLAGS = @pls_slurm_LDFLAGS@ +pls_slurm_LIBS = @pls_slurm_LIBS@ +pls_tm_CPPFLAGS = @pls_tm_CPPFLAGS@ +pls_tm_LDFLAGS = @pls_tm_LDFLAGS@ +pls_tm_LIBS = @pls_tm_LIBS@ +pls_xgrid_LDFLAGS = @pls_xgrid_LDFLAGS@ +pls_xgrid_OBJCFLAGS = @pls_xgrid_OBJCFLAGS@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +ras_bjs_CPPFLAGS = @ras_bjs_CPPFLAGS@ +ras_bjs_LDFLAGS = @ras_bjs_LDFLAGS@ +ras_bjs_LIBS = @ras_bjs_LIBS@ +ras_lsf_bproc_CPPFLAGS = @ras_lsf_bproc_CPPFLAGS@ +ras_lsf_bproc_LDFLAGS = @ras_lsf_bproc_LDFLAGS@ +ras_lsf_bproc_LIBS = @ras_lsf_bproc_LIBS@ +ras_slurm_CPPFLAGS = @ras_slurm_CPPFLAGS@ +ras_slurm_LDFLAGS = @ras_slurm_LDFLAGS@ +ras_slurm_LIBS = @ras_slurm_LIBS@ +ras_tm_CPPFLAGS = @ras_tm_CPPFLAGS@ +ras_tm_LDFLAGS = @ras_tm_LDFLAGS@ +ras_tm_LIBS = @ras_tm_LIBS@ +sbindir = @sbindir@ +sds_bproc_CPPFLAGS = @sds_bproc_CPPFLAGS@ +sds_bproc_LDFLAGS = @sds_bproc_LDFLAGS@ +sds_bproc_LIBS = @sds_bproc_LIBS@ +sds_portals_utcp_CPPFLAGS = @sds_portals_utcp_CPPFLAGS@ +sds_portals_utcp_LDFLAGS = @sds_portals_utcp_LDFLAGS@ +sds_portals_utcp_LIBS = @sds_portals_utcp_LIBS@ +sds_slurm_CPPFLAGS = @sds_slurm_CPPFLAGS@ +sds_slurm_LDFLAGS = @sds_slurm_LDFLAGS@ +sds_slurm_LIBS = @sds_slurm_LIBS@ +sharedstatedir = @sharedstatedir@ +smr_bproc_CPPFLAGS = @smr_bproc_CPPFLAGS@ +smr_bproc_LDFLAGS = @smr_bproc_LDFLAGS@ +smr_bproc_LIBS = @smr_bproc_LIBS@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +timer_aix_LIBS = @timer_aix_LIBS@ +top_ompi_builddir = @top_ompi_builddir@ +top_ompi_srcdir = @top_ompi_srcdir@ +EXTRA_DIST = post_configure.sh +AM_CPPFLAGS = $(mtl_psm_CPPFLAGS) +mtl_psm_sources = \ + mtl_psm.c \ + mtl_psm.h \ + mtl_psm_cancel.c \ + mtl_psm_component.c \ + mtl_psm_endpoint.c \ + mtl_psm_endpoint.h \ + mtl_psm_probe.c \ + mtl_psm_recv.c \ + mtl_psm_request.h \ + mtl_psm_send.c \ + mtl_psm_types.h + +@OMPI_BUILD_mtl_psm_DSO_FALSE@component_noinst = libmca_mtl_psm.la + +# Make the output library in this directory, and name it either +# mca__.la (for DSO builds) or libmca__.la +# (for static builds). +@OMPI_BUILD_mtl_psm_DSO_TRUE@component_noinst = +@OMPI_BUILD_mtl_psm_DSO_FALSE@component_install = +@OMPI_BUILD_mtl_psm_DSO_TRUE@component_install = mca_mtl_psm.la +mcacomponentdir = $(libdir)/openmpi +mcacomponent_LTLIBRARIES = $(component_install) +mca_mtl_psm_la_SOURCES = $(mtl_psm_sources) +mca_mtl_psm_la_LIBADD = \ + $(mtl_psm_LIBS) \ + $(top_ompi_builddir)/ompi/libmpi.la \ + $(top_ompi_builddir)/orte/liborte.la \ + $(top_ompi_builddir)/opal/libopal.la + +mca_mtl_psm_la_LDFLAGS = -module -avoid-version $(mtl_psm_LDFLAGS) +noinst_LTLIBRARIES = $(component_noinst) +libmca_mtl_psm_la_SOURCES = $(mtl_psm_sources) +libmca_mtl_psm_la_LIBADD = $(mtl_psm_LIBS) +libmca_mtl_psm_la_LDFLAGS = -module -avoid-version $(mtl_psm_LDFLAGS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ompi/mca/mtl/psm/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign ompi/mca/mtl/psm/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-mcacomponentLTLIBRARIES: $(mcacomponent_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(mcacomponentdir)" || $(mkdir_p) "$(DESTDIR)$(mcacomponentdir)" + @list='$(mcacomponent_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(mcacomponentLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(mcacomponentdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(mcacomponentLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(mcacomponentdir)/$$f"; \ + else :; fi; \ + done + +uninstall-mcacomponentLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(mcacomponent_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(mcacomponentdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(mcacomponentdir)/$$p"; \ + done + +clean-mcacomponentLTLIBRARIES: + -test -z "$(mcacomponent_LTLIBRARIES)" || rm -f $(mcacomponent_LTLIBRARIES) + @list='$(mcacomponent_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libmca_mtl_psm.la: $(libmca_mtl_psm_la_OBJECTS) $(libmca_mtl_psm_la_DEPENDENCIES) + $(LINK) $(am_libmca_mtl_psm_la_rpath) $(libmca_mtl_psm_la_LDFLAGS) $(libmca_mtl_psm_la_OBJECTS) $(libmca_mtl_psm_la_LIBADD) $(LIBS) +mca_mtl_psm.la: $(mca_mtl_psm_la_OBJECTS) $(mca_mtl_psm_la_DEPENDENCIES) + $(LINK) $(am_mca_mtl_psm_la_rpath) $(mca_mtl_psm_la_LDFLAGS) $(mca_mtl_psm_la_OBJECTS) $(mca_mtl_psm_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtl_psm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtl_psm_cancel.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtl_psm_component.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtl_psm_endpoint.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtl_psm_probe.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtl_psm_recv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtl_psm_send.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \ +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \ +@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(mcacomponentdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-mcacomponentLTLIBRARIES \ + clean-noinstLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-mcacomponentLTLIBRARIES + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-mcacomponentLTLIBRARIES + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-mcacomponentLTLIBRARIES \ + clean-noinstLTLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man \ + install-mcacomponentLTLIBRARIES install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-info-am \ + uninstall-mcacomponentLTLIBRARIES + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/ompi/mca/mtl/psm/configure.m4 b/ompi/mca/mtl/psm/configure.m4 new file mode 100644 index 0000000000..51cc911b6e --- /dev/null +++ b/ompi/mca/mtl/psm/configure.m4 @@ -0,0 +1,41 @@ +# -*- 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_mtl_psm_CONFIG([action-if-can-compile], +# [action-if-cant-compile]) +# ------------------------------------------------ +AC_DEFUN([MCA_mtl_psm_CONFIG],[ + OMPI_CHECK_PSM([mtl_psm], + [mtl_psm_happy="yes"], + [mtl_psm_happy="no"]) + + AS_IF([test "$mtl_psm_happy" = "yes"], + [mtl_psm_WRAPPER_EXTRA_LDFLAGS="$mtl_psm_LDFLAGS" + mtl_psm_WRAPPER_EXTRA_LIBS="$mtl_psm_LIBS" + $1], + [$2]) + + # substitute in the things needed to build psm + AC_SUBST([mtl_psm_CFLAGS]) + AC_SUBST([mtl_psm_CPPFLAGS]) + AC_SUBST([mtl_psm_LDFLAGS]) + AC_SUBST([mtl_psm_LIBS]) +])dnl + diff --git a/ompi/mca/mtl/psm/configure.params b/ompi/mca/mtl/psm/configure.params new file mode 100644 index 0000000000..0369ba5a6f --- /dev/null +++ b/ompi/mca/mtl/psm/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 (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# Specific to this module +PARAM_CONFIG_FILES="Makefile" diff --git a/ompi/mca/mtl/psm/mtl_psm.c b/ompi/mca/mtl/psm/mtl_psm.c new file mode 100644 index 0000000000..658591218e --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm.c @@ -0,0 +1,382 @@ +/* + * 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 (c) 2004-2006 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include "ompi/mca/mtl/mtl.h" +#include "ompi/communicator/communicator.h" +#include "opal/class/opal_list.h" +#include "ompi/mca/pml/base/pml_base_module_exchange.h" +#include "ompi/mca/mtl/base/mtl_base_datatype.h" + +#include "mtl_psm.h" +#include "mtl_psm_types.h" +#include "mtl_psm_endpoint.h" +#include "mtl_psm_request.h" + +mca_mtl_psm_module_t ompi_mtl_psm = { + { + 8191, /* max cid - 2^13 - 1 */ + (1UL << 30), /* max tag value - must allow negatives */ + 0, /* request reserve space */ + 0, /* flags */ + + ompi_mtl_psm_add_procs, + ompi_mtl_psm_del_procs, + ompi_mtl_psm_finalize, + + ompi_mtl_psm_send, + ompi_mtl_psm_isend, + + ompi_mtl_psm_irecv, + ompi_mtl_psm_iprobe, + + ompi_mtl_psm_cancel + } +}; + +static +psm_error_t +ompi_mtl_psm_errhandler(psm_ep_t ep, const psm_error_t error, + const char *error_string, psm_error_token_t token) +{ + switch (error) { + /* We don't want PSM to default to exiting when the following errors occur */ + case PSM_EP_DEVICE_FAILURE: + case PSM_EP_NO_DEVICE: + case PSM_EP_NO_PORTS_AVAIL: + case PSM_EP_NO_NETWORK: + case PSM_EP_INVALID_UUID_KEY: + opal_output(0, "Open MPI failed to open a PSM endpoint: %s\n", error_string); + break; + + /* We can't handle any other errors than the ones above */ + default: + opal_output(0, "Open MPI detected an unexpected PSM error in opening " + "an endpoint: %s\n", error_string); + return psm_error_defer(token); + break; + } + return error; +} + +int ompi_mtl_psm_progress( void ); + +int ompi_mtl_psm_module_init() { + psm_error_t err; + psm_ep_t ep; /* endpoint handle */ + psm_mq_t mq; + psm_epid_t epid; /* unique lid+port identifier */ + psm_uuid_t unique_job_key; + uint64_t *uu = (uint64_t *) unique_job_key; + char *generated_key; + + generated_key = getenv("OMPI_MCA_orte_precondition_transports"); + + if (!generated_key || (strlen(generated_key) != 33) || + sscanf(generated_key, "%016x-%016x", &uu[0], &uu[1]) != 2) + { + opal_output(0, "Error obtaining unique transport key from ORTE " + "(orte_precondition_transpots %s the environment)\n", + generated_key ? "could not be parsed from" : + "not present in"); + return OMPI_ERROR; + + } + + + /* Handle our own errors for opening endpoints */ + psm_error_register_handler(ompi_mtl_psm.ep, ompi_mtl_psm_errhandler); + + err = psm_ep_open(unique_job_key, NULL, &ep, &epid); + if (err) { + opal_output(0, "Error in psm_ep_open (error %s)\n", + psm_error_get_string(err)); + return OMPI_ERROR; + } + + /* Future errors are handled by the default error handler */ + psm_error_register_handler(ompi_mtl_psm.ep, PSM_ERRHANDLER_DEFAULT); + + err = psm_mq_init(ep, + 0xffff000000000000ULL, + NULL, + 0, + &mq); + if (err) { + opal_output(0, "Error in psm_mq_init (error %s)\n", + psm_error_get_string(err)); + return OMPI_ERROR; + } + + ompi_mtl_psm.ep = ep; + ompi_mtl_psm.epid = epid; + ompi_mtl_psm.mq = mq; + + if (OMPI_SUCCESS != + mca_pml_base_modex_send( &mca_mtl_psm_component.super.mtl_version, + &ompi_mtl_psm.epid, + sizeof(psm_epid_t))) { + opal_output(0, "Open MPI couldn't send PSM epid to head node process"); + return OMPI_ERROR; + } + + /* register the psm progress function */ + opal_progress_register(ompi_mtl_psm_progress); + + return OMPI_SUCCESS; +} + +int +ompi_mtl_psm_finalize(struct mca_mtl_base_module_t* mtl) { + psm_error_t err; + + opal_progress_unregister(ompi_mtl_psm_progress); + + /* free resources */ + err = psm_mq_finalize(ompi_mtl_psm.mq); + if (err) { + opal_output(0, "Error in psm_mq_finalize (error %s)\n", + psm_error_get_string(err)); + return OMPI_ERROR; + } + + err = psm_ep_close(ompi_mtl_psm.ep, PSM_EP_CLOSE_GRACEFUL, 1*1e9); + if (err) { + opal_output(0, "Error in psm_ep_close (error %s)\n", + psm_error_get_string(err)); + return OMPI_ERROR; + } + + err = psm_finalize(); + if (err) { + opal_output(0, "Error in psm_finalize (error %s)\n", + psm_error_get_string(err)); + return OMPI_ERROR; + } + + return OMPI_SUCCESS; +} + +static +const char * +ompi_mtl_psm_connect_error_msg(psm_error_t err) +{ + switch (err) { /* See if we expect the error */ + case PSM_EPID_UNREACHABLE: + case PSM_EPID_INVALID_NODE: + case PSM_EPID_INVALID_MTU: + case PSM_EPID_INVALID_UUID_KEY: + case PSM_EPID_INVALID_VERSION: + case PSM_EPID_INVALID_CONNECT: + return psm_error_get_string(err); + break; + case PSM_EPID_UNKNOWN: + return "Connect status could not be determined " + "because of other errors"; + default: + return NULL; + } +} + +#ifndef min +# define min(a,b) ((a) < (b) ? (a) : (b)) +#endif + +int +ompi_mtl_psm_add_procs(struct mca_mtl_base_module_t *mtl, + size_t nprocs, + struct ompi_proc_t** procs, /*const*/ + struct mca_mtl_base_endpoint_t **mtl_peer_data) +{ + int i,j; + int rc; + psm_epid_t *epids_in = NULL; + psm_epid_t *epid; + psm_epaddr_t *epaddrs_out = NULL; + psm_error_t *errs_out = NULL, err; + size_t size; + int proc_errors[PSM_ERROR_LAST] = { 0 }; + int timeout_in_secs; + + assert(mtl == &ompi_mtl_psm.super); + rc = OMPI_ERR_OUT_OF_RESOURCE; + + errs_out = (psm_error_t *) malloc(nprocs * sizeof(psm_error_t)); + if (errs_out == NULL) + goto bail; + epids_in = (psm_epid_t *) malloc(nprocs * sizeof(psm_epid_t)); + if (epids_in == NULL) + goto bail; + epaddrs_out = (psm_epaddr_t *) malloc(nprocs * sizeof(psm_epaddr_t)); + if (epaddrs_out == NULL) + goto bail; + + rc = OMPI_SUCCESS; + + /* Get the epids for all the processes from modex */ + for (i = 0; i < (int) nprocs; i++) { + rc = mca_pml_base_modex_recv(&mca_mtl_psm_component.super.mtl_version, + procs[i], (void**)&epid, &size); + if (rc != OMPI_SUCCESS || size != sizeof(psm_epid_t)) + return OMPI_ERROR; + epids_in[i] = *epid; +#if 0 + printf("... connecting to epid=%llu, lid=%d,port=%d\n", + (unsigned long long) epids_in[i], + (int) psm_epid_nid(epids_in[i]), + (int) psm_epid_port(epids_in[i])); +#endif + } + + timeout_in_secs = min(180, 0.5 * nprocs); + if (ompi_mtl_psm.connect_timeout < timeout_in_secs) + timeout_in_secs = ompi_mtl_psm.connect_timeout; + + psm_error_register_handler(ompi_mtl_psm.ep, PSM_ERRHANDLER_NOP); + + err = psm_ep_connect(ompi_mtl_psm.ep, + nprocs, + epids_in, + NULL, /* connect all */ + errs_out, + epaddrs_out, + timeout_in_secs * 1e9); + if (err) { + char *errstr = (char *) ompi_mtl_psm_connect_error_msg(err); + char *opalerr = NULL; + if (errstr == NULL) { + opal_output(0, "PSM returned unhandled/unknown connect error: %s\n", + psm_error_get_string(err)); + return OMPI_ERROR; + } + for (i = 0; i < (int) nprocs; i++) { + psm_error_t thiserr = errs_out[i]; + errstr = (char *) ompi_mtl_psm_connect_error_msg(thiserr); + if (proc_errors[thiserr] == 0) { + proc_errors[thiserr] = 1; + opal_output(0, "PSM EP connect error (%s):", + errstr ? errstr : "unknown connect error"); + for (j = 0; j < (int) nprocs; j++) { + if (errs_out[j] == thiserr) + opal_output(0, " %s", procs[j]->proc_hostname); + } + opal_output(0, "\n"); + } + } + } + + /* Default error handling is enabled, errors will not be returned to user. + * PSM prints the error and the offending endpoint's hostname and exits + * with -1 */ + psm_error_register_handler(ompi_mtl_psm.ep, PSM_ERRHANDLER_DEFAULT); + + /* Fill in endpoint data */ + for (i = 0; i < (int) nprocs; i++) { + mtl_peer_data[i] = + (mca_mtl_psm_endpoint_t *) OBJ_NEW(mca_mtl_psm_endpoint_t); + mtl_peer_data[i]->peer_epid = epids_in[i]; + mtl_peer_data[i]->peer_addr = epaddrs_out[i]; + } + +bail: + if (epids_in != NULL) + free(epids_in); + if (errs_out != NULL) + free(errs_out); + if (epaddrs_out != NULL) + free(epaddrs_out); + return rc; +} + +int +ompi_mtl_psm_del_procs(struct mca_mtl_base_module_t *mtl, + size_t nprocs, + struct ompi_proc_t** procs, + struct mca_mtl_base_endpoint_t **mtl_peer_data) +{ + return OMPI_SUCCESS; +} + + +int ompi_mtl_psm_progress( void ) { + psm_error_t err; + mca_mtl_psm_request_t* mtl_psm_request; + psm_mq_status_t psm_status; + psm_mq_req_t req; + int completed = 1; + + do { + err = psm_mq_ipeek(ompi_mtl_psm.mq, &req, NULL); + if (err == PSM_MQ_INCOMPLETE) + return completed; + else if (err != PSM_OK) + goto error; + + completed++; + + err = psm_mq_test(&req, &psm_status); + if (err != PSM_OK) + goto error; + + mtl_psm_request = (mca_mtl_psm_request_t*) psm_status.context; + + if (mtl_psm_request->type == OMPI_MTL_PSM_IRECV) { + ompi_mtl_datatype_unpack(mtl_psm_request->convertor, + mtl_psm_request->buf, + psm_status.msg_length); + + mtl_psm_request->super.ompi_req->req_status.MPI_SOURCE = + PSM_GET_MQRANK(psm_status.msg_tag); + mtl_psm_request->super.ompi_req->req_status.MPI_TAG = + PSM_GET_MQUTAG(psm_status.msg_tag); + mtl_psm_request->super.ompi_req->req_status._count = + psm_status.nbytes; + } + + if(mtl_psm_request->type == OMPI_MTL_PSM_ISEND) { + if (mtl_psm_request->free_after) + free(mtl_psm_request->buf); + } + + switch (psm_status.error_code) { + case PSM_OK: + mtl_psm_request->super.ompi_req->req_status.MPI_ERROR = + OMPI_SUCCESS; + break; + case PSM_MQ_TRUNCATION: + mtl_psm_request->super.ompi_req->req_status.MPI_ERROR = + MPI_ERR_TRUNCATE; + break; + default: + mtl_psm_request->super.ompi_req->req_status.MPI_ERROR = + MPI_ERR_INTERN; + } + + mtl_psm_request->super.completion_callback(&mtl_psm_request->super); + + } + while (1); + + error: + opal_output(0, "Error in psm progress function: %s\n", + psm_error_get_string(err)); + return 1; +} + diff --git a/ompi/mca/mtl/psm/mtl_psm.h b/ompi/mca/mtl/psm/mtl_psm.h new file mode 100644 index 0000000000..f9287df77e --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm.h @@ -0,0 +1,98 @@ +/* + * 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 (c) 2004-2006 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef MTL_PSM_H_HAS_BEEN_INCLUDED +#define MTL_PSM_H_HAS_BEEN_INCLUDED + +#include "opal/threads/threads.h" +#include "opal/threads/condition.h" +#include "ompi/class/ompi_free_list.h" +#include "opal/util/cmd_line.h" +#include "ompi/request/request.h" +#include "ompi/mca/mtl/mtl.h" +#include "ompi/mca/mtl/base/base.h" +#include "ompi/datatype/datatype.h" +#include "ompi/datatype/convertor.h" +#include +#include + +#if defined(c_plusplus) || defined(__cplusplus) +extern "C" { +#endif + + +/* MTL interface functions */ +extern int ompi_mtl_psm_add_procs(struct mca_mtl_base_module_t* mtl, + size_t nprocs, + struct ompi_proc_t** procs, + struct mca_mtl_base_endpoint_t **mtl_peer_data); + +extern int ompi_mtl_psm_del_procs(struct mca_mtl_base_module_t* mtl, + size_t nprocs, + struct ompi_proc_t** procs, + struct mca_mtl_base_endpoint_t **mtl_peer_data); + +int +ompi_mtl_psm_send(struct mca_mtl_base_module_t* mtl, + struct ompi_communicator_t* comm, + int dest, + int tag, + struct ompi_convertor_t *convertor, + mca_pml_base_send_mode_t mode); + +extern int ompi_mtl_psm_isend(struct mca_mtl_base_module_t* mtl, + struct ompi_communicator_t* comm, + int dest, + int tag, + struct ompi_convertor_t *convertor, + mca_pml_base_send_mode_t mode, + bool blocking, + mca_mtl_request_t * mtl_request); + +extern int ompi_mtl_psm_irecv(struct mca_mtl_base_module_t* mtl, + struct ompi_communicator_t *comm, + int src, + int tag, + struct ompi_convertor_t *convertor, + struct mca_mtl_request_t *mtl_request); + + +extern int ompi_mtl_psm_iprobe(struct mca_mtl_base_module_t* mtl, + struct ompi_communicator_t *comm, + int src, + int tag, + int *flag, + struct ompi_status_public_t *status); + +extern int ompi_mtl_psm_cancel(struct mca_mtl_base_module_t* mtl, + struct mca_mtl_request_t *mtl_request, + int flag); + +extern int ompi_mtl_psm_finalize(struct mca_mtl_base_module_t* mtl); + +int ompi_mtl_psm_module_init(void); + + + +#if defined(c_plusplus) || defined(__cplusplus) +} +#endif + +#endif /* MTL_PSM_H_HAS_BEEN_INCLUDED */ + diff --git a/ompi/mca/mtl/psm/mtl_psm_cancel.c b/ompi/mca/mtl/psm/mtl_psm_cancel.c new file mode 100644 index 0000000000..3ab79466d2 --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm_cancel.c @@ -0,0 +1,50 @@ +/* + * 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 (c) 2004-2006 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" +#include "ompi/request/request.h" +#include "mtl_psm.h" +#include "mtl_psm_request.h" + +int ompi_mtl_psm_cancel(struct mca_mtl_base_module_t* mtl, + struct mca_mtl_request_t *mtl_request, + int flag) { + + psm_error_t err; + psm_mq_status_t status; + + mca_mtl_psm_request_t *mtl_psm_request = + (mca_mtl_psm_request_t*) mtl_request; + + err = psm_mq_cancel(&mtl_psm_request->psm_request); + if(PSM_OK == err) { + err = psm_mq_test(&mtl_psm_request->psm_request, &status); + if(PSM_OK == err) { + mtl_request->ompi_req->req_status._cancelled = true; + mtl_psm_request->super.completion_callback(&mtl_psm_request->super); + return OMPI_SUCCESS; + } else { + return OMPI_ERROR; + } + } else if(PSM_MQ_INCOMPLETE == err) { + return OMPI_SUCCESS; + } + + return OMPI_ERROR; +} diff --git a/ompi/mca/mtl/psm/mtl_psm_component.c b/ompi/mca/mtl/psm/mtl_psm_component.c new file mode 100644 index 0000000000..5432dba903 --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm_component.c @@ -0,0 +1,122 @@ +/* + * 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 (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" + +#include "opal/event/event.h" +#include "opal/mca/base/mca_base_param.h" +#include "opal/util/output.h" +#include "ompi/datatype/convertor.h" + +#include "mtl_psm.h" +#include "mtl_psm_types.h" +#include "mtl_psm_request.h" + +#include "psm.h" + +static int ompi_mtl_psm_component_open(void); +static int ompi_mtl_psm_component_close(void); + +static mca_mtl_base_module_t* ompi_mtl_psm_component_init( bool enable_progress_threads, + bool enable_mpi_threads ); + +mca_mtl_psm_component_t mca_mtl_psm_component = { + + { + /* First, the mca_base_component_t struct containing meta + * information about the component itself */ + + { + /* Indicate that we are a mtl v1.0.0 component (which also implies + * a specific MCA version) */ + + MCA_MTL_BASE_VERSION_1_0_0, + + "psm", /* MCA component name */ + OMPI_MAJOR_VERSION, /* MCA component major version */ + OMPI_MINOR_VERSION, /* MCA component minor version */ + OMPI_RELEASE_VERSION, /* MCA component release version */ + ompi_mtl_psm_component_open, /* component open */ + ompi_mtl_psm_component_close /* component close */ + }, + + /* Next the MCA v1.0.0 component meta data */ + + { + /* Whether the component is checkpointable or not */ + false + }, + + ompi_mtl_psm_component_init /* component init */ + } +}; + + +static int +ompi_mtl_psm_component_open(void) +{ + + mca_base_param_reg_int(&mca_mtl_psm_component.super.mtl_version, "connect_timeout", + "PSM connection timeout value in seconds", + false, false, 30, &ompi_mtl_psm.connect_timeout); + + return OMPI_SUCCESS; + +} + + +static int +ompi_mtl_psm_component_close(void) +{ + return OMPI_SUCCESS; +} + + +static mca_mtl_base_module_t* +ompi_mtl_psm_component_init(bool enable_progress_threads, + bool enable_mpi_threads) +{ + psm_error_t err; + int verno_major = PSM_VERNO_MAJOR; + int verno_minor = PSM_VERNO_MINOR; + + err = psm_error_register_handler(NULL /* no ep */, + PSM_ERRHANDLER_NOP); + if (err) { + opal_output(0, "Error in psm_error_register_handler (error %s)\n", + psm_error_get_string(err)); + return NULL; + } + + err = psm_init(&verno_major, &verno_minor); + if (err) { + opal_output(0, "Error in psm_init (error %s)\n", + psm_error_get_string(err)); + return NULL; + } + + ompi_mtl_psm_module_init(); + + ompi_mtl_psm.super.mtl_request_size = + sizeof(mca_mtl_psm_request_t) - + sizeof(struct mca_mtl_request_t); + + return &ompi_mtl_psm.super; +} + diff --git a/ompi/mca/mtl/psm/mtl_psm_endpoint.c b/ompi/mca/mtl/psm/mtl_psm_endpoint.c new file mode 100644 index 0000000000..2270ce94e3 --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm_endpoint.c @@ -0,0 +1,60 @@ +/* + * 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-2006 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + + +#include "ompi_config.h" +#include +#include +#include "ompi/types.h" +#include "orte/mca/ns/base/base.h" +#include "orte/mca/oob/base/base.h" +#include "orte/mca/rml/rml.h" +#include "orte/mca/errmgr/errmgr.h" +#include "opal/util/output.h" +#include "mtl_psm.h" +#include "mtl_psm_types.h" +#include "mtl_psm_endpoint.h" +#include "ompi/mca/pml/base/pml_base_module_exchange.h" + +/* + * Initialize state of the endpoint instance. + * + */ + +static void mca_mtl_psm_endpoint_construct(mca_mtl_psm_endpoint_t* endpoint) +{ + endpoint->mtl_psm_module = NULL; +} + +/* + * Destroy a endpoint + * + */ + +static void mca_mtl_psm_endpoint_destruct(mca_mtl_psm_endpoint_t* endpoint) +{ +} + + +OBJ_CLASS_INSTANCE( + mca_mtl_psm_endpoint_t, + opal_list_item_t, + mca_mtl_psm_endpoint_construct, + mca_mtl_psm_endpoint_destruct); + diff --git a/ompi/mca/mtl/psm/mtl_psm_endpoint.h b/ompi/mca/mtl/psm/mtl_psm_endpoint.h new file mode 100644 index 0000000000..da26b6b316 --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm_endpoint.h @@ -0,0 +1,65 @@ +/* + * 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-2006 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef MCA_MTL_PSM_ENDPOINT_H +#define MCA_MTL_PSM_ENDPOINT_H + +#include "opal/class/opal_list.h" +#include "opal/event/event.h" +#include "ompi/proc/proc.h" +#include "ompi/mca/pml/pml.h" +#include "ompi/mca/mtl/mtl.h" +#include "mtl_psm.h" + +#include "psm.h" + +#if defined(c_plusplus) || defined(__cplusplus) +extern "C" { +#endif + +OBJ_CLASS_DECLARATION(mca_mtl_psm_endpoint_t); + +/** + * An abstraction that represents a connection to a endpoint process. + * An instance of mca_mtl_base_endpoint_t is associated w/ each process + * and MTL pair at startup. However, connections to the endpoint + * are established dynamically on an as-needed basis: + */ + +struct mca_mtl_base_endpoint_t { + opal_list_item_t super; + + struct mca_mtl_psm_module_t* mtl_psm_module; + /**< MTL instance that created this connection */ + + psm_epid_t peer_epid; + /**< The unique epid for the opened port */ + + psm_epaddr_t peer_addr; + /**< The connected endpoint handle*/ +}; + +typedef struct mca_mtl_base_endpoint_t mca_mtl_base_endpoint_t; +typedef mca_mtl_base_endpoint_t mca_mtl_psm_endpoint_t; +OBJ_CLASS_DECLARATION(mca_mtl_psm_endpoint); + +#if defined(c_plusplus) || defined(__cplusplus) +} +#endif +#endif diff --git a/ompi/mca/mtl/psm/mtl_psm_probe.c b/ompi/mca/mtl/psm/mtl_psm_probe.c new file mode 100644 index 0000000000..822fa3e3c5 --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm_probe.c @@ -0,0 +1,66 @@ +/* + * 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 (c) 2004-2006 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" +#include "ompi/request/request.h" +#include "mtl_psm.h" +#include "mtl_psm_types.h" +#include "psm.h" +#include "ompi/communicator/communicator.h" + + +int ompi_mtl_psm_iprobe(struct mca_mtl_base_module_t* mtl, + struct ompi_communicator_t *comm, + int src, + int tag, + int *flag, + struct ompi_status_public_t *status) +{ + uint64_t mqtag, tagsel; + psm_mq_status_t mqstat; + psm_error_t err; + + PSM_MAKE_TAGSEL(src, tag, comm->c_contextid, mqtag, tagsel); + + err = psm_mq_iprobe(ompi_mtl_psm.mq, mqtag, tagsel, &mqstat); + if (err == PSM_OK) { + *flag = 1; + status->MPI_SOURCE = PSM_GET_MQRANK(mqstat.msg_tag); + status->MPI_TAG = PSM_GET_MQUTAG(mqstat.msg_tag); + status->_count = mqstat.nbytes; + + switch (mqstat.error_code) { + case PSM_OK: + status->MPI_ERROR = OMPI_SUCCESS; + break; + case PSM_MQ_TRUNCATION: + status->MPI_ERROR = MPI_ERR_TRUNCATE; + break; + default: + status->MPI_ERROR = MPI_ERR_INTERN; + } + return OMPI_SUCCESS; + } + else if (err == PSM_MQ_INCOMPLETE) { + *flag = 0; + return OMPI_SUCCESS; + } + else + return OMPI_ERROR; +} diff --git a/ompi/mca/mtl/psm/mtl_psm_recv.c b/ompi/mca/mtl/psm/mtl_psm_recv.c new file mode 100644 index 0000000000..aaad4566c8 --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm_recv.c @@ -0,0 +1,79 @@ +/* + * 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 (c) 2004-2006 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + + +#include "ompi_config.h" +#include "ompi/request/request.h" +#include "ompi/datatype/datatype.h" +#include "ompi/communicator/communicator.h" +#include "ompi/datatype/convertor.h" +#include "ompi/mca/mtl/base/mtl_base_datatype.h" + +#include "mtl_psm.h" +#include "mtl_psm_types.h" +#include "mtl_psm_request.h" + +int +ompi_mtl_psm_irecv(struct mca_mtl_base_module_t* mtl, + struct ompi_communicator_t *comm, + int src, + int tag, + struct ompi_convertor_t *convertor, + struct mca_mtl_request_t *mtl_request) +{ + int ret; + psm_error_t err; + mca_mtl_psm_request_t * mtl_psm_request = (mca_mtl_psm_request_t*) mtl_request; + uint64_t mqtag; + uint64_t tagsel; + size_t length; + + ret = ompi_mtl_datatype_recv_buf(convertor, + &mtl_psm_request->buf, + &length, + &mtl_psm_request->free_after); + + if (OMPI_SUCCESS != ret) return ret; + + mtl_psm_request->length = length; + mtl_psm_request->convertor = convertor; + mtl_psm_request->type = OMPI_MTL_PSM_IRECV; + + PSM_MAKE_TAGSEL(src, tag, comm->c_contextid, mqtag, tagsel); + +#if 0 + printf("recv bits: 0x%016llx 0x%016llx\n", mqtag, tagsel); +#endif + err = psm_mq_irecv(ompi_mtl_psm.mq, + mqtag, + tagsel, + 0, + mtl_psm_request->buf, + length, + mtl_psm_request, + &mtl_psm_request->psm_request); + + if (err) { + opal_output(0, "Error in psm_mq_irecv (error %s)\n", psm_error_get_string(err)); + return OMPI_ERROR; + } + + return OMPI_SUCCESS; +} + diff --git a/ompi/mca/mtl/psm/mtl_psm_request.h b/ompi/mca/mtl/psm/mtl_psm_request.h new file mode 100644 index 0000000000..32bdcf33bd --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm_request.h @@ -0,0 +1,43 @@ +/* + * 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 (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef OMPI_MTL_PSM_REQUEST_H +#define OMPI_MTL_PSM_REQUEST_H + +#include "ompi/datatype/convertor.h" + + +typedef enum { + OMPI_MTL_PSM_ISEND, + OMPI_MTL_PSM_IRECV +} mca_mtl_psm_request_type_t; + +struct mca_mtl_psm_request_t { + struct mca_mtl_request_t super; + mca_mtl_psm_request_type_t type; + psm_mq_req_t psm_request; + /* psm_segment_t psm_segment[1]; */ + void *buf; + size_t length; + struct ompi_convertor_t *convertor; + bool free_after; +}; +typedef struct mca_mtl_psm_request_t mca_mtl_psm_request_t; + +#endif diff --git a/ompi/mca/mtl/psm/mtl_psm_send.c b/ompi/mca/mtl/psm/mtl_psm_send.c new file mode 100644 index 0000000000..511341d89e --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm_send.c @@ -0,0 +1,133 @@ +/* + * 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 (c) 2004-2006 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "ompi_config.h" +#include "ompi/datatype/datatype.h" +#include "ompi/communicator/communicator.h" +#include "ompi/datatype/convertor.h" + +#include "mtl_psm.h" +#include "mtl_psm_types.h" +#include "mtl_psm_request.h" +#include "ompi/mca/mtl/base/mtl_base_datatype.h" + +int +ompi_mtl_psm_send(struct mca_mtl_base_module_t* mtl, + struct ompi_communicator_t* comm, + int dest, + int tag, + struct ompi_convertor_t *convertor, + mca_pml_base_send_mode_t mode) +{ + psm_error_t err; + mca_mtl_psm_request_t mtl_psm_request; + uint64_t mqtag; + uint32_t flags = 0; + int ret; + size_t length; + + mca_mtl_psm_endpoint_t* psm_endpoint = + (mca_mtl_psm_endpoint_t*) comm->c_pml_procs[dest]->proc_ompi->proc_pml; + + assert(mtl == &ompi_mtl_psm.super); + + mqtag = PSM_MAKE_MQTAG(comm->c_contextid, comm->c_my_rank, tag); + + ret = ompi_mtl_datatype_pack(convertor, + &mtl_psm_request.buf, + &length, + &mtl_psm_request.free_after); + + + mtl_psm_request.length = length; + mtl_psm_request.convertor = convertor; + mtl_psm_request.type = OMPI_MTL_PSM_ISEND; + + if (OMPI_SUCCESS != ret) return ret; + + if (mode == MCA_PML_BASE_SEND_SYNCHRONOUS) + flags |= PSM_MQ_FLAG_SENDSYNC; + + err = psm_mq_send(ompi_mtl_psm.mq, + psm_endpoint->peer_addr, + flags, + mqtag, + mtl_psm_request.buf, + length); +#if 0 + printf("send bits: 0x%016llx\n", mqtag); +#endif + + return err == PSM_OK ? OMPI_SUCCESS : OMPI_ERROR; +} + +int +ompi_mtl_psm_isend(struct mca_mtl_base_module_t* mtl, + struct ompi_communicator_t* comm, + int dest, + int tag, + struct ompi_convertor_t *convertor, + mca_pml_base_send_mode_t mode, + bool blocking, + mca_mtl_request_t * mtl_request) +{ + psm_error_t psm_error; + uint64_t mqtag; + uint32_t flags = 0; + int ret; + mca_mtl_psm_request_t * mtl_psm_request = (mca_mtl_psm_request_t*) mtl_request; + size_t length; + + mca_mtl_psm_endpoint_t* psm_endpoint = + (mca_mtl_psm_endpoint_t*) comm->c_pml_procs[dest]->proc_ompi->proc_pml; + + assert(mtl == &ompi_mtl_psm.super); + + mqtag = PSM_MAKE_MQTAG(comm->c_contextid, comm->c_my_rank, tag); + + + ret = ompi_mtl_datatype_pack(convertor, + &mtl_psm_request->buf, + &length, + &mtl_psm_request->free_after); + + mtl_psm_request->length= length; + mtl_psm_request->convertor = convertor; + mtl_psm_request->type = OMPI_MTL_PSM_ISEND; + + if (OMPI_SUCCESS != ret) return ret; + + if (mode == MCA_PML_BASE_SEND_SYNCHRONOUS) + flags |= PSM_MQ_FLAG_SENDSYNC; + +#if 0 + printf("isend bits: 0x%016llx\n", mqtag); +#endif + + psm_error = psm_mq_isend(ompi_mtl_psm.mq, + psm_endpoint->peer_addr, + flags, + mqtag, + mtl_psm_request->buf, + length, + mtl_psm_request, + &mtl_psm_request->psm_request); + + return psm_error == PSM_OK ? OMPI_SUCCESS : OMPI_ERROR; +} diff --git a/ompi/mca/mtl/psm/mtl_psm_types.h b/ompi/mca/mtl/psm/mtl_psm_types.h new file mode 100644 index 0000000000..8c9602f6fa --- /dev/null +++ b/ompi/mca/mtl/psm/mtl_psm_types.h @@ -0,0 +1,104 @@ +/* + * 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 (c) 2004-2006 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2006 QLogic Corporation. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef MTL_PSM_TYPES_H_HAS_BEEN_INCLUDED +#define MTL_PSM_TYPS_H_HAS_BEEN_INCLUDED + +#include "mtl_psm.h" + +#include "opal/threads/threads.h" +#include "opal/threads/condition.h" +#include "ompi/class/ompi_free_list.h" +#include "opal/util/cmd_line.h" +#include "ompi/request/request.h" +#include "ompi/mca/mtl/mtl.h" +#include "ompi/mca/mtl/base/base.h" +#include "ompi/datatype/datatype.h" +#include "ompi/datatype/convertor.h" +#include "mtl_psm_endpoint.h" + +#include "psm.h" + + +#if defined(c_plusplus) || defined(__cplusplus) +extern "C" { +#endif + +/** + * MTL Module Interface + */ +struct mca_mtl_psm_module_t { + mca_mtl_base_module_t super; /**< base MTL interface */ + + int32_t connect_timeout; + + psm_ep_t ep; + psm_mq_t mq; + psm_epid_t epid; + psm_epaddr_t epaddr; +}; + +typedef struct mca_mtl_psm_module_t mca_mtl_psm_module_t; + +extern mca_mtl_psm_module_t ompi_mtl_psm; + +struct mca_mtl_psm_component_t{ + mca_mtl_base_component_1_0_0_t super; /**< base MTL component */ +}; +typedef struct mca_mtl_psm_component_t mca_mtl_psm_component_t; + +extern mca_mtl_psm_component_t mca_mtl_psm_component; + +#define PSM_MAKE_MQTAG(ctxt,rank,utag) \ + ( (((ctxt)&0xffffULL)<<48)| (((rank)&0xffffULL)<<32)| \ + (((utag)&0xffffffffULL)) ) + +#define PSM_GET_MQRANK(tag_u64) ((int)(((tag_u64)>>32)&0xffff)) +#define PSM_GET_MQUTAG(tag_u64) ((int)((tag_u64)&0xffffffffULL)) + +#define PSM_MAKE_TAGSEL(user_rank, user_tag, user_ctxt, tag, tagsel) \ + do { \ + if ((user_tag) == MPI_ANY_TAG) { \ + if ((user_rank) == MPI_ANY_SOURCE) { \ + (tagsel) = PSM_MAKE_MQTAG(0xffff,0,0); \ + (tag) = PSM_MAKE_MQTAG((user_ctxt),0,0); \ + } \ + else { \ + (tagsel) = PSM_MAKE_MQTAG(0xffff,0xffff,0); \ + (tag) = PSM_MAKE_MQTAG((user_ctxt),(user_rank),0); \ + } \ + } \ + else { \ + if ((user_rank) == MPI_ANY_SOURCE) { \ + (tagsel) = PSM_MAKE_MQTAG(0xffff,0,0xffffffff); \ + (tag) = PSM_MAKE_MQTAG((user_ctxt),0,(user_tag)); \ + } \ + else { \ + (tagsel) = PSM_MAKE_MQTAG(0xffff,0xffff,0xffffffff); \ + (tag) = PSM_MAKE_MQTAG((user_ctxt),(user_rank),(user_tag)); \ + } \ + } \ + } while (0) + +#if defined(c_plusplus) || defined(__cplusplus) +} +#endif + +#endif /* MTL_PSM_TYPES_H_HAS_BEEN_INCLUDED */ + diff --git a/ompi/mca/mtl/psm/post_configure.sh b/ompi/mca/mtl/psm/post_configure.sh new file mode 100644 index 0000000000..7806244708 --- /dev/null +++ b/ompi/mca/mtl/psm/post_configure.sh @@ -0,0 +1 @@ +DIRECT_CALL_HEADER="ompi/mca/mtl/psm/mtl_psm.h"