This commit is contained in:
Bassem Girgis
2019-08-11 01:14:02 -05:00
parent 256b7cacd7
commit 2c9e6b5ede
1458 changed files with 129662 additions and 0 deletions

View File

@@ -0,0 +1 @@
opal_wrapper

View File

@@ -0,0 +1 @@
opal_wrapper

View File

@@ -0,0 +1 @@
opal_wrapper

View File

@@ -0,0 +1 @@
orterun

View File

@@ -0,0 +1 @@
opal_wrapper

View File

@@ -0,0 +1 @@
opal_wrapper

View File

@@ -0,0 +1 @@
opal_wrapper

View File

@@ -0,0 +1 @@
orterun

View File

@@ -0,0 +1 @@
orte-clean

View File

@@ -0,0 +1 @@
orte-server

BIN
macx64/mpi/openmpi/bin/ompi_info Executable file

Binary file not shown.

Binary file not shown.

BIN
macx64/mpi/openmpi/bin/orte-clean Executable file

Binary file not shown.

BIN
macx64/mpi/openmpi/bin/orte-info Executable file

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
opal_wrapper

BIN
macx64/mpi/openmpi/bin/orted Executable file

Binary file not shown.

BIN
macx64/mpi/openmpi/bin/orterun Executable file

Binary file not shown.

View File

@@ -0,0 +1,36 @@
#
# 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$
#
# This is the default hostfile for Open MPI. Notice that it does not
# contain any hosts (not even localhost). This file should only
# contain hosts if a system administrator wants users to always have
# the same set of default hosts, and is not using a batch scheduler
# (such as SLURM, PBS, etc.).
#
# Note that this file is *not* used when running in "managed"
# environments (e.g., running in a job under a job scheduler, such as
# SLURM or PBS / Torque).
#
# If you are primarily interested in running Open MPI on one node, you
# should *not* simply list "localhost" in here (contrary to prior MPI
# implementations, such as LAM/MPI). A localhost-only node list is
# created by the RAS component named "localhost" if no other RAS
# components were able to find any hosts to run on (this behavior can
# be disabled by excluding the localhost RAS component by specifying
# the value "^localhost" [without the quotes] to the "ras" MCA
# parameter).

View File

@@ -0,0 +1,59 @@
#
# 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-2017 Cisco Systems, Inc. All rights reserved
# Copyright (c) 2018 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# This is the default system-wide MCA parameters defaults file.
# Specifically, the MCA parameter "mca_param_files" defaults to a
# value of
# "$HOME/.openmpi/mca-params.conf:$sysconf/openmpi-mca-params.conf"
# (this file is the latter of the two). So if the default value of
# mca_param_files is not changed, this file is used to set system-wide
# MCA parameters. This file can therefore be used to set system-wide
# default MCA parameters for all users. Of course, users can override
# these values if they want, but this file is an excellent location
# for setting system-specific MCA parameters for those users who don't
# know / care enough to investigate the proper values for them.
# Note that this file is only applicable where it is visible (in a
# filesystem sense). Specifically, MPI processes each read this file
# during their startup to determine what default values for MCA
# parameters should be used. mpirun does not bundle up the values in
# this file from the node where it was run and send them to all nodes;
# the default value decisions are effectively distributed. Hence,
# these values are only applicable on nodes that "see" this file. If
# $sysconf is a directory on a local disk, it is likely that changes
# to this file will need to be propagated to other nodes. If $sysconf
# is a directory that is shared via a networked filesystem, changes to
# this file will be visible to all nodes that share this $sysconf.
# The format is straightforward: one per line, mca_param_name =
# rvalue. Quoting is ignored (so if you use quotes or escape
# characters, they'll be included as part of the value). For example:
# Disable run-time MPI parameter checking
# mpi_param_check = 0
# Note that the value "~/" will be expanded to the current user's home
# directory. For example:
# Change component loading path
# mca_base_component_path = /usr/local/lib/openmpi:~/my_openmpi_components
# See "ompi_info --param all all --level 9" for a full listing of Open
# MPI MCA parameters available and their default values.

View File

@@ -0,0 +1,38 @@
#
# 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$
#
# Check if the newly loaded image is one of the MPI starter programs
# and start it immediately if it is.
proc mpi_auto_run_starter {loaded_id} {
set starter_programs {mpirun mpiexec orterun}
set executable_name [TV::symbol get $loaded_id full_pathname]
set file_component [file tail $executable_name]
if {[lsearch -exact $starter_programs $file_component] != -1} {
puts "**************************************"
puts "Automatically starting $file_component"
puts "**************************************"
dgo
}
}
# Append this function to TotalView's image load callbacks so that
# TotalView run this program automatically.
dlappend TV::image_load_callbacks mpi_auto_run_starter

View File

@@ -0,0 +1,59 @@
#
# 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-2017 Cisco Systems, Inc. All rights reserved
# Copyright (c) 2017-2018 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# This is the default system-wide MCA parameters defaults file.
# Specifically, the MCA parameter "mca_param_files" defaults to a
# value of
# "$HOME/.pmix/mca-params.conf:$sysconf/pmix-mca-params.conf"
# (this file is the latter of the two). So if the default value of
# mca_param_files is not changed, this file is used to set system-wide
# MCA parameters. This file can therefore be used to set system-wide
# default MCA parameters for all users. Of course, users can override
# these values if they want, but this file is an excellent location
# for setting system-specific MCA parameters for those users who don't
# know / care enough to investigate the proper values for them.
# Note that this file is only applicable where it is visible (in a
# filesystem sense). Specifically, processes each read this file
# during their call to PMIx_Init to determine what default values for MCA
# parameters should be used. Launchers generally do not bundle up the values in
# this file from the node where they are run and send them to all nodes;
# the default value decisions are effectively distributed. Hence,
# these values are typically only applicable on nodes that "see" this file. If
# $sysconf is a directory on a local disk, it is likely that changes
# to this file will need to be propagated to other nodes. If $sysconf
# is a directory that is shared via a networked filesystem, changes to
# this file will be visible to all nodes that share this $sysconf.
# The format is straightforward: one per line, mca_param_name =
# rvalue. Quoting is ignored (so if you use quotes or escape
# characters, they'll be included as part of the value). For example:
# Set debugging verbosity on the PTL framework
# ptl_base_verbose = 10
# Note that the value "~/" will be expanded to the current user's home
# directory. For example:
# Change component loading path
# mca_base_component_path = /usr/local/lib/pmix:~/my_pmix_components
# See "pinfo --param all all --level 9" for a full listing of PMIx
# MCA parameters available and their default values.

View File

@@ -0,0 +1,32 @@
/*
* $HEADER$
*/
#ifndef OMPI_MPI_EXT_H
#define OMPI_MPI_EXT_H 1
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
#define OMPI_HAVE_MPI_EXT 1
/* Enabled Extension: affinity */
#define OMPI_HAVE_MPI_EXT_AFFINITY 1
#include "openmpi/mpiext/mpiext_affinity_c.h"
/* Enabled Extension: cuda */
#define OMPI_HAVE_MPI_EXT_CUDA 1
#include "openmpi/mpiext/mpiext_cuda_c.h"
/* Enabled Extension: pcollreq */
#define OMPI_HAVE_MPI_EXT_PCOLLREQ 1
#include "openmpi/mpiext/mpiext_pcollreq_c.h"
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* OMPI_MPI_EXT_H */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,401 @@
/*
* Header file with preprocessor magic to figure out, which compiler the user has been calling!
*
* This code is adapted from the file other/portable_platform.h of GASnet-1.14.0:
* - Ripping out the required parts.
* - Get rid of brackets as it messes up autoconf
* - Delete version tests for older PGI versions (#include "omp.h" not acceptabe)
* - Indent ('#' should be in column 0)
*
* External packages (i.e., romio) depend on top_build_dir/ompi/include, therefore
* although this is not changed in the configure process, this has to be set as
* a .in file...
* ---------------------------------------------------------------------------
*/
#ifndef OPAL_PORTABLE_PLATFORM_H
#define OPAL_PORTABLE_PLATFORM_H
/* All files in this directory and all sub-directories (except where otherwise noted)
* are subject to the following licensing terms:
*
* ---------------------------------------------------------------------------
* "Copyright (c) 2000-2003 The Regents of the University of California.
* All rights reserved.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose, without fee, and without written agreement is
* hereby granted, provided that the above copyright notice and the following
* two paragraphs appear in all copies of this software.
*
* IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
* OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
* CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
* ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
* ---------------------------------------------------------------------------
*
* Please see the license.txt files within the gm-conduit, lapi-conduit and
* vapi-conduit directories for the licensing terms governing those
* contributed components.
*
* The authors/contributors of GASNet include:
*
* Dan Bonachea <bonachea@cs.berkeley.edu>:
* General infrastructure & documentation
* mpi-conduit
* elan-conduit
* smp-conduit
* udp-conduit
* extended-ref
* template-conduit
* Christian Bell <csbell@cs.berkeley.edu>: gm-conduit, shmem-conduit
* Mike Welcome <mlwelcome@lbl.gov>: lapi-conduit, portals-conduit
* Paul H. Hargrove <phhargrove@lbl.gov>: vapi-conduit, ibv-conduit
* Rajesh Nishtala <rajeshn@cs.berkeley.edu>: collectives, dcmf-conduit
* Parry Husbands (PJRHusbands@lbl.gov): lapi-conduit
*
* For more information about GASNet, visit our home page at:
* http://gasnet.cs.berkeley.edu/
* Or send email to:
* <upc@lbl.gov>
*
* Source code contributions (fixes, patches, extensions etc.) should be
* sent to <upc@lbl.gov> to be reviewed for acceptance into the primary
* distribution. Contributions are most likely to be accepted if they
* are provided as public domain, or under a BSD-style license such as
* the one above.
*
*/
#ifndef _STRINGIFY
#define _STRINGIFY_HELPER(x) #x
#define _STRINGIFY(x) _STRINGIFY_HELPER(x)
#endif
#if defined(__INTEL_COMPILER)
# define PLATFORM_COMPILER_FAMILYNAME INTEL
# define PLATFORM_COMPILER_FAMILYID 2
# ifdef __cplusplus
# define PLATFORM_COMPILER_INTEL_CXX 1
# else
# define PLATFORM_COMPILER_INTEL_C 1
# endif
# define _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE 19700000 /* year 1970: predates most intel products :) */
# ifdef __INTEL_COMPILER_BUILD_DATE
# define _PLATFORM_INTEL_COMPILER_BUILD_DATE __INTEL_COMPILER_BUILD_DATE
# else
# define _PLATFORM_INTEL_COMPILER_BUILD_DATE _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE
# endif
/* patch number is a decimal build date: YYYYMMDD */
# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \
(((((maj) * 10) | (min)) << 20) | \
((pat) < _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE ? \
_PLATFORM_COMPILER_INTEL_MIN_BUILDDATE : ((pat)-_PLATFORM_COMPILER_INTEL_MIN_BUILDDATE)))
# define PLATFORM_COMPILER_VERSION \
PLATFORM_COMPILER_VERSION_INT(__INTEL_COMPILER/10, __INTEL_COMPILER/100, _PLATFORM_INTEL_COMPILER_BUILD_DATE)
# define PLATFORM_COMPILER_VERSION_STR \
_STRINGIFY(__INTEL_COMPILER) "." _STRINGIFY(_PLATFORM_INTEL_COMPILER_BUILD_DATE)
#elif defined(__PATHSCALE__)
# define PLATFORM_COMPILER_PATHSCALE 1
# define PLATFORM_COMPILER_FAMILYNAME PATHSCALE
# define PLATFORM_COMPILER_FAMILYID 3
# ifdef __cplusplus
# define PLATFORM_COMPILER_PATHSCALE_CXX 1
# else
# define PLATFORM_COMPILER_PATHSCALE_C 1
# endif
# define PLATFORM_COMPILER_VERSION \
PLATFORM_COMPILER_VERSION_INT(__PATHCC__,__PATHCC_MINOR__,__PATHCC_PATCHLEVEL__)
# define PLATFORM_COMPILER_VERSION_STR __PATHSCALE__
#elif defined(__PGI)
# define PLATFORM_COMPILER_PGI 1
# define PLATFORM_COMPILER_FAMILYNAME PGI
# define PLATFORM_COMPILER_FAMILYID 4
# ifdef __cplusplus
# define PLATFORM_COMPILER_PGI_CXX 1
# else
# define PLATFORM_COMPILER_PGI_C 1
# endif
# if __PGIC__ == 99
/* bug 2230: PGI versioning was broken for some platforms in 7.0
no way to know exact version, but provide something slightly more accurate */
# define PLATFORM_COMPILER_VERSION 0x070000
# define PLATFORM_COMPILER_VERSION_STR "7.?-?"
# elif defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__)
# define PLATFORM_COMPILER_VERSION \
PLATFORM_COMPILER_VERSION_INT(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__)
# define PLATFORM_COMPILER_VERSION_STR \
_STRINGIFY(__PGIC__) "." _STRINGIFY(__PGIC_MINOR__) "-" _STRINGIFY(__PGIC_PATCHLEVEL__)
# else
/* PGI before 6.1-4 lacks any version ID preprocessor macros - so use this filthy hack */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
* We cannot do these within mpi.h.in, as we should not include ompi.h
* Hopefully, compilers with integrated preprocessors will not analyse code within the #if 0-block
* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
#if 0
# ifdef PLATFORM_PGI_IS_ANCIENT
/* Include below might fail for ancient versions lacking this header, but testing shows it
works back to at least 5.1-3 (Nov 2003), and based on docs probably back to 3.2 (Sep 2000) */
# define PLATFORM_COMPILER_VERSION 0
# elif defined(__x86_64__) /* bug 1753 - 64-bit omp.h upgrade happenned in <6.0-8,6.1-1) */
# include "omp.h"
# if defined(_PGOMP_H)
/* 6.1.1 or newer */
# define PLATFORM_COMPILER_VERSION 0x060101
# define PLATFORM_COMPILER_VERSION_STR ">=6.1-1"
# else
/* 6.0.8 or older */
# define PLATFORM_COMPILER_VERSION 0
# define PLATFORM_COMPILER_VERSION_STR "<=6.0-8"
# endif
# else /* 32-bit omp.h upgrade happenned in <5.2-4,6.0-8 */
# include "omp.h"
# if defined(_PGOMP_H)
/* 6.0-8 or newer */
# define PLATFORM_COMPILER_VERSION 0x060008
# define PLATFORM_COMPILER_VERSION_STR ">=6.0-8"
# else
/* 5.2-4 or older */
# define PLATFORM_COMPILER_VERSION 0
# define PLATFORM_COMPILER_VERSION_STR "<=5.2-4"
# endif
# endif
#endif /* 0 */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
# endif
#elif defined(__xlC__)
# define PLATFORM_COMPILER_XLC 1
# define PLATFORM_COMPILER_FAMILYNAME XLC
# define PLATFORM_COMPILER_FAMILYID 5
# ifdef __cplusplus
# define PLATFORM_COMPILER_XLC_CXX 1
# else
# define PLATFORM_COMPILER_XLC_C 1
# endif
# define PLATFORM_COMPILER_VERSION __xlC__
# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \
( ((maj) << 8) | ((min) << 4) | (pat) )
#elif defined(__DECC) || defined(__DECCXX)
# define PLATFORM_COMPILER_COMPAQ 1
# define PLATFORM_COMPILER_FAMILYNAME COMPAQ
# define PLATFORM_COMPILER_FAMILYID 6
# ifdef __cplusplus
# define PLATFORM_COMPILER_COMPAQ_CXX 1
# else
# define PLATFORM_COMPILER_COMPAQ_C 1
# endif
# if defined(__DECC_VER)
# define PLATFORM_COMPILER_VERSION __DECC_VER
# elif defined(__DECCXX_VER)
# define PLATFORM_COMPILER_VERSION __DECCXX_VER
# endif
# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \
( ((maj) * 10000000) + ((min) * 100000) + (90000) + (pat) )
/* 90000 = official ver, 80000 = customer special ver, 60000 = field test ver */
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# define PLATFORM_COMPILER_SUN 1
# define PLATFORM_COMPILER_FAMILYNAME SUN
# define PLATFORM_COMPILER_FAMILYID 7
# ifdef __cplusplus
# define PLATFORM_COMPILER_SUN_CXX 1
# else
# define PLATFORM_COMPILER_SUN_C 1
# endif
# if defined(__SUNPRO_C) && __SUNPRO_C > 0
# define PLATFORM_COMPILER_VERSION __SUNPRO_C
# elif defined(__SUNPRO_CC) && __SUNPRO_CC > 0
# define PLATFORM_COMPILER_VERSION __SUNPRO_CC
# endif
# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \
( ((maj) << 8) | ((min) << 4) | (pat) )
#elif defined(__HP_cc) || defined(__HP_aCC)
# define PLATFORM_COMPILER_HP 1
# define PLATFORM_COMPILER_FAMILYNAME HP
# define PLATFORM_COMPILER_FAMILYID 8
# ifdef __cplusplus
# define PLATFORM_COMPILER_HP_CXX 1
# else
# define PLATFORM_COMPILER_HP_C 1
# endif
# if defined(__HP_cc) && __HP_cc > 0
# define PLATFORM_COMPILER_VERSION __HP_cc
# elif defined(__HP_aCC) && __HP_aCC > 0
# define PLATFORM_COMPILER_VERSION __HP_aCC
# endif
# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \
( ((maj) << 16) | ((min) << 8) | (pat) )
#elif defined(_SGI_COMPILER_VERSION) || \
(defined(_COMPILER_VERSION) && defined(__sgi) && !defined(__GNUC__)) /* 7.3.0 and earlier lack _SGI_COMPILER_VERSION */
# define PLATFORM_COMPILER_SGI 1
# define PLATFORM_COMPILER_FAMILYNAME SGI
# define PLATFORM_COMPILER_FAMILYID 9
# ifdef __cplusplus
# define PLATFORM_COMPILER_SGI_CXX 1
# else
# define PLATFORM_COMPILER_SGI_C 1
# endif
# if defined(_SGI_COMPILER_VERSION) && _SGI_COMPILER_VERSION > 0
# define PLATFORM_COMPILER_VERSION _SGI_COMPILER_VERSION
# elif defined(_COMPILER_VERSION) && _COMPILER_VERSION > 0
# define PLATFORM_COMPILER_VERSION _COMPILER_VERSION
# endif
# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \
( ((maj) << 8) | ((min) << 4) | (pat) )
#elif defined(_CRAYC)
# define PLATFORM_COMPILER_CRAY 1
# define PLATFORM_COMPILER_FAMILYNAME CRAY
# define PLATFORM_COMPILER_FAMILYID 10
# ifdef __cplusplus
# define PLATFORM_COMPILER_CRAY_CXX 1
# else
# define PLATFORM_COMPILER_CRAY_C 1
# endif
# if defined(_RELEASE) && defined(_RELEASE_MINOR) /* X1 and XT */
# define PLATFORM_COMPILER_VERSION \
PLATFORM_COMPILER_VERSION_INT(_RELEASE,_RELEASE_MINOR,0)
# elif defined(_RELEASE) /* T3E */
# define PLATFORM_COMPILER_VERSION \
PLATFORM_COMPILER_VERSION_INT(_RELEASE,0,0)
# endif
# ifdef _RELEASE_STRING /* X1 and XT */
# define PLATFORM_COMPILER_VERSION_STR _RELEASE_STRING
# endif
#elif defined(__KCC)
# define PLATFORM_COMPILER_KAI 1
# define PLATFORM_COMPILER_FAMILYNAME KAI
# define PLATFORM_COMPILER_FAMILYID 11
# ifdef __cplusplus
# define PLATFORM_COMPILER_KAI_CXX 1
# else
# define PLATFORM_COMPILER_KAI_C 1
# endif
#elif defined(__MTA__)
# define PLATFORM_COMPILER_MTA 1
# define PLATFORM_COMPILER_FAMILYNAME MTA
# define PLATFORM_COMPILER_FAMILYID 12
# ifdef __cplusplus
# define PLATFORM_COMPILER_MTA_CXX 1
# else
# define PLATFORM_COMPILER_MTA_C 1
# endif
#elif defined(_SX)
# define PLATFORM_COMPILER_NECSX 1
# define PLATFORM_COMPILER_FAMILYNAME NECSX
# define PLATFORM_COMPILER_FAMILYID 13
# ifdef __cplusplus
# define PLATFORM_COMPILER_NECSX_CXX 1
# else
# define PLATFORM_COMPILER_NECSX_C 1
# endif
#elif defined(_MSC_VER)
# define PLATFORM_COMPILER_MICROSOFT 1
# define PLATFORM_COMPILER_FAMILYNAME MICROSOFT
# define PLATFORM_COMPILER_FAMILYID 14
# ifdef __cplusplus
# define PLATFORM_COMPILER_MICROSOFT_CXX 1
# else
# define PLATFORM_COMPILER_MICROSOFT_C 1
# endif
# define PLATFORM_COMPILER_VERSION _MSC_VER
#elif defined(__TINYC__)
# define PLATFORM_COMPILER_TINY 1
# define PLATFORM_COMPILER_FAMILYNAME TINY
# define PLATFORM_COMPILER_FAMILYID 15
# ifdef __cplusplus
# define PLATFORM_COMPILER_TINY_CXX 1
# else
# define PLATFORM_COMPILER_TINY_C 1
# endif
#elif defined(__LCC__)
# define PLATFORM_COMPILER_LCC 1
# define PLATFORM_COMPILER_FAMILYNAME LCC
# define PLATFORM_COMPILER_FAMILYID 16
# ifdef __cplusplus
# define PLATFORM_COMPILER_LCC_CXX 1
# else
# define PLATFORM_COMPILER_LCC_C 1
# endif
#else /* unknown compiler */
# define PLATFORM_COMPILER_UNKNOWN 1
#endif
/* this stanza comes last, because many vendor compilers lie and claim
to be GNU C for compatibility reasons and/or because they share a frontend */
#if defined(__GNUC__)
# undef PLATFORM_COMPILER_UNKNOWN
# ifndef PLATFORM_COMPILER_FAMILYID
# define PLATFORM_COMPILER_GNU 1
# define PLATFORM_COMPILER_FAMILYNAME GNU
# define PLATFORM_COMPILER_FAMILYID 1
# ifdef __cplusplus
# define PLATFORM_COMPILER_GNU_CXX 1
# else
# define PLATFORM_COMPILER_GNU_C 1
# endif
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
# define PLATFORM_COMPILER_VERSION \
PLATFORM_COMPILER_VERSION_INT(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__)
# elif defined(__GNUC_MINOR__) /* older versions of egcs lack __GNUC_PATCHLEVEL__ */
# define PLATFORM_COMPILER_VERSION \
PLATFORM_COMPILER_VERSION_INT(__GNUC__,__GNUC_MINOR__,0)
# else
# define PLATFORM_COMPILER_VERSION \
PLATFORM_COMPILER_VERSION_INT(__GNUC__,0,0)
# endif
# define PLATFORM_COMPILER_VERSION_STR __PLATFORM_COMPILER_GNU_VERSION_STR
# else
# define _PLATFORM_COMPILER_GNU_VERSION_STR __PLATFORM_COMPILER_GNU_VERSION_STR
# endif
/* gather any advertised GNU version number info, even for non-gcc compilers */
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
# define __PLATFORM_COMPILER_GNU_VERSION_STR \
_STRINGIFY(__GNUC__) "." _STRINGIFY(__GNUC_MINOR__) "." _STRINGIFY(__GNUC_PATCHLEVEL__)
# elif defined(__GNUC_MINOR__)
# define __PLATFORM_COMPILER_GNU_VERSION_STR \
_STRINGIFY(__GNUC__) "." _STRINGIFY(__GNUC_MINOR__) ".?"
# else
# define __PLATFORM_COMPILER_GNU_VERSION_STR \
_STRINGIFY(__GNUC__) ".?.?"
# endif
#elif defined(PLATFORM_COMPILER_UNKNOWN) /* unknown compiler */
# define PLATFORM_COMPILER_FAMILYNAME UNKNOWN
# define PLATFORM_COMPILER_FAMILYID 0
#endif
/* Default Values */
#ifndef PLATFORM_COMPILER_VERSION
# define PLATFORM_COMPILER_VERSION 0 /* don't know */
#endif
#ifndef PLATFORM_COMPILER_VERSION_STR
# define PLATFORM_COMPILER_VERSION_STR _STRINGIFY(PLATFORM_COMPILER_VERSION)
#endif
#ifndef PLATFORM_COMPILER_VERSION_INT
# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \
(((maj) << 16) | ((min) << 8) | (pat))
#endif
#endif /* OPAL_PORTABLE_PLATFORM_H */

View File

@@ -0,0 +1,32 @@
! -*- fortran -*-
! $HEADER$
!
! *** THIS FILE IS AUTOMATICALLY GENERATED!
! *** Any manual edits will be lost!
!
integer OMPI_HAVE_MPI_EXT
parameter (OMPI_HAVE_MPI_EXT=1)
!
!
! Enabled Extension: affinity
! No mpif.h bindings available
!
integer OMPI_HAVE_MPI_EXT_AFFINITY
parameter (OMPI_HAVE_MPI_EXT_AFFINITY=0)
!
! Enabled Extension: cuda
! No mpif.h bindings available
!
integer OMPI_HAVE_MPI_EXT_CUDA
parameter (OMPI_HAVE_MPI_EXT_CUDA=0)
!
! Enabled Extension: pcollreq
!
integer OMPI_HAVE_MPI_EXT_PCOLLREQ
parameter (OMPI_HAVE_MPI_EXT_PCOLLREQ=1)
include 'openmpi/mpiext/mpiext_pcollreq_mpifh.h'
!

View File

@@ -0,0 +1,30 @@
! -*- f90 -*-
! WARNING: This is a generated file! Edits will be lost!
!
! Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
! $COPYRIGHT$
!
! This file was generated by gen-mpi-sizeof.pl for all the MPI_SIZEOF
! interface possibilities for intrinsic types. Once TS 29113 is
! supported in all compilers, we can simply have *one* procedure for
! each type and use dimension(..) to indicate scalars+all array ranks.
! But until more compilers support this, we simply generate a
! procedure for scalars and all possible ranks in an attempt to
! support lots of Fortran compilers.
! *** ATTENTION!
!
! Sad panda.
!
! This compiler does not support the Right Stuff to enable MPI_SIZEOF.
! Specifically: we need support for the INTERFACE keyword,
! ISO_FORTRAN_ENV, and the STORAGE_SIZE() intrinsic on all types.
! Apparently, this compiler does not support both of those things, so
! this file will be (effecitvely) blank (i.e., we didn't bother
! generating the necessary stuff for MPI_SIZEOF because the compiler
! doesn't support
! it).
!
! If you want support for MPI_SIZEOF, please use a different Fortran
! compiler to build Open MPI.

View File

@@ -0,0 +1,63 @@
! -*- fortran -*-
!
! 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-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2017 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$
!
! Additional copyrights may follow
!
! $HEADER$
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Do ***not*** copy this file to the directory where your Fortran
! fortran application is compiled unless it is absolutely necessary! Most
! modern Fortran compilers now support the -I command line flag, which
! tells the compiler where to find .h files (specifically, this one). For
! example:
!
! shell$ mpifort foo.f -o foo -I$OMPI_HOME/include
!
! will probably do the trick (assuming that you have set OMPI_HOME
! properly).
!
! That being said, OMPI's "mpifort" wrapper compiler should
! automatically include the -I option for you. The following command
! should be equivalent to the command listed above:
!
! shell$ mpifort foo.f -o foo
!
! You should not copy this file to your local directory because it is
! possible that this file will be changed between versions of Open MPI.
! Indeed, this mpif.h is incompatible with the mpif.f of other
! implementations of MPI. Using this mpif.h with other implementations
! of MPI, or with other versions of Open MPI will result in undefined
! behavior (to include incorrect results, segmentation faults,
! unexplainable "hanging" in your application, etc.). Always use the
! -I command line option instead (or let mpifort do it for you).
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
include 'mpif-config.h'
include 'mpif-constants.h'
include 'mpif-handles.h'
include 'mpif-io-constants.h'
include 'mpif-io-handles.h'
include 'mpif-externals.h'
include 'mpif-sentinels.h'
include 'mpif-sizeof.h'

View File

@@ -0,0 +1,24 @@
/*
* Copyright (c) 2004-2009 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
*/
#define OMPI_AFFINITY_STRING_MAX 1024
typedef enum ompi_affinity_fmt {
OMPI_AFFINITY_RSRC_STRING_FMT,
OMPI_AFFINITY_LAYOUT_FMT
} ompi_affinity_fmt_t;
OMPI_DECLSPEC int OMPI_Affinity_str(ompi_affinity_fmt_t fmt_type,
char ompi_bound[OMPI_AFFINITY_STRING_MAX],
char current_binding[OMPI_AFFINITY_STRING_MAX],
char exists[OMPI_AFFINITY_STRING_MAX]);

View File

@@ -0,0 +1,17 @@
/* ompi/mpiext/cuda/c/mpiext_cuda_c.h. Generated from mpiext_cuda_c.h.in by configure. */
/*
* Copyright (c) 2004-2009 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015 NVIDIA, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
*/
#define MPIX_CUDA_AWARE_SUPPORT 0
OMPI_DECLSPEC int MPIX_Query_cuda_support(void);

View File

@@ -0,0 +1,62 @@
/*
* Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
*/
OMPI_DECLSPEC int MPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
/*
* Profiling MPI API
*/
OMPI_DECLSPEC int PMPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);

View File

@@ -0,0 +1,62 @@
/*
* Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
*/
OMPI_DECLSPEC int MPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
/*
* Profiling MPI API
*/
OMPI_DECLSPEC int PMPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);

Binary file not shown.

View File

@@ -0,0 +1 @@
libmpi.40.dylib

View File

@@ -0,0 +1,41 @@
# libmpi.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libmpi.40.dylib'
# Names of this library.
library_names='libmpi.40.dylib libmpi.dylib'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' '
# Libraries that this one depends upon.
dependency_libs=' /Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/libopen-rte.la /Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/libopen-pal.la -lm -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libmpi.
current=60
age=20
revision=1
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib'

Binary file not shown.

View File

@@ -0,0 +1 @@
libompitrace.40.dylib

View File

@@ -0,0 +1,41 @@
# libompitrace.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libompitrace.40.dylib'
# Names of this library.
library_names='libompitrace.40.dylib libompitrace.dylib'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' '
# Libraries that this one depends upon.
dependency_libs=' -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libompitrace.
current=60
age=20
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib'

Binary file not shown.

View File

@@ -0,0 +1 @@
libopen-pal.40.dylib

View File

@@ -0,0 +1,41 @@
# libopen-pal.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libopen-pal.40.dylib'
# Names of this library.
library_names='libopen-pal.40.dylib libopen-pal.dylib'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' '
# Libraries that this one depends upon.
dependency_libs=' -lm -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libopen-pal.
current=60
age=20
revision=1
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib'

Binary file not shown.

View File

@@ -0,0 +1 @@
libopen-rte.40.dylib

View File

@@ -0,0 +1,41 @@
# libopen-rte.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libopen-rte.40.dylib'
# Names of this library.
library_names='libopen-rte.40.dylib libopen-rte.dylib'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' '
# Libraries that this one depends upon.
dependency_libs=' /Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/libopen-pal.la -lm -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libopen-rte.
current=60
age=20
revision=1
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib'

View File

@@ -0,0 +1,41 @@
# libompi_dbg_msgq.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libompi_dbg_msgq.so'
# Names of this library.
library_names='libompi_dbg_msgq.so libompi_dbg_msgq.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' '
# Libraries that this one depends upon.
dependency_libs=' -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libompi_dbg_msgq.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/openmpi'

Binary file not shown.

View File

@@ -0,0 +1,22 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved.
#
Name: Open MPI
Description: Portable high-performance MPI implementation
Version: 4.0.1
URL: http://www.open-mpi.org/
#
prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
pkgincludedir=${includedir}/openmpi
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} -lmpi
Libs.private: -lopen-rte -lopen-pal -lm -lz
#
Cflags: -I${includedir}

View File

@@ -0,0 +1,22 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved.
#
Name: Open MPI
Description: Portable high-performance MPI implementation
Version: 4.0.1
URL: http://www.open-mpi.org/
#
prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
pkgincludedir=${includedir}/openmpi
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} -lmpi
Libs.private: -lopen-rte -lopen-pal -lm -lz
#
Cflags: -I${includedir}

View File

@@ -0,0 +1 @@
ompi-fort.pc

View File

@@ -0,0 +1 @@
ompi-fort.pc

View File

@@ -0,0 +1,21 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved.
#
Name: Open MPI
Description: Portable high-performance MPI implementation
Version: 4.0.1
URL: http://www.open-mpi.org/
#
prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
pkgincludedir=${includedir}/openmpi
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} -lmpi_mpifh -lmpi
Libs.private: -lopen-rte -lopen-pal -lm -lz
Cflags: -I${includedir}

View File

@@ -0,0 +1,22 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved.
#
Name: Open MPI
Description: Portable high-performance MPI implementation
Version: 4.0.1
URL: http://www.open-mpi.org/
#
prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
pkgincludedir=${includedir}/openmpi
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} -lmpi
Libs.private: -lm -lz
#
Cflags: -I${includedir}

View File

@@ -0,0 +1,25 @@
# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
#
Name: Open MPI Run-Time Environment (ORTE)
Description: Open MPI's run-time environment functionality
Version: 4.0.1
URL: http://www.open-mpi.org/
#
prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
pkgincludedir=${includedir}/openmpi
#
# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when
# static linking (they're pulled in by libopen-rte.so's implicit
# dependencies), so only list these in Libs.private.
#
Libs: -L${libdir} -lopen-rte
Libs.private: -lopen-pal -lm -lz
#
# It is safe to hard-wire the -I before the EXTRA_INCLUDES because we
# will not be installing this .pc file unless --enable-devel-headers is
# selected, meaning that there will definitely be a value in EXTRA_INCLUDES.
#
Cflags: -I${includedir}

View File

@@ -0,0 +1,265 @@
.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
.TH mpic++ 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.
.SH NAME
mpic++ -- Open MPI C++ wrapper compiler
.
.SH SYNTAX
mpic++ [-showme|-showme:compile|-showme:link] ...
.
.SH OPTIONS
.TP
--showme
This option comes in several different variants (see below). None of
the variants invokes the underlying compiler; they all provide
information on how the underlying compiler would have been invoked had
.I --showme
not been used.
The basic
.I --showme
option outputs the command line that would be executed to compile the
program. \fBNOTE:\fR If a non-filename argument is passed on the
command line, the \fI-showme\fR option will \fInot\fR display any
additional flags. For example, both "mpic++ --showme" and
"mpic++ --showme my_source.c" will show all the wrapper-supplied
flags. But "mpic++ --showme -v" will only show the underlying
compiler name and "-v".
.TP
--showme:compile
Output the compiler flags that would have been supplied to the
C++ compiler.
.TP
--showme:link
Output the linker flags that would have been supplied to the
C++ compiler.
.TP
--showme:command
Outputs the underlying C++ compiler command (which may be one
or more tokens).
.TP
--showme:incdirs
Outputs a space-delimited (but otherwise undecorated) list of
directories that the wrapper compiler would have provided to the
underlying C++ compiler to indicate where relevant header files
are located.
.TP
--showme:libdirs
Outputs a space-delimited (but otherwise undecorated) list of
directories that the wrapper compiler would have provided to the
underlying linker to indicate where relevant libraries are located.
.TP
--showme:libs
Outputs a space-delimited (but otherwise undecorated) list of library
names that the wrapper compiler would have used to link an
application. For example: "mpi open-rte open-pal util".
.TP
--showme:version
Outputs the version number of Open MPI.
.TP
--showme:help
Output a brief usage help message.
.PP
See the man page for your underlying C++ compiler for other
options that can be passed through mpic++.
.
.
.SH DESCRIPTION
.PP
Conceptually, the role of these commands is quite simple:
transparently add relevant compiler and linker flags to the user's
command line that are necessary to compile / link Open MPI
programs, and then invoke the underlying compiler to actually perform
the command.
.
.PP
As such, these commands are frequently referred to as "wrapper"
compilers because they do not actually compile or link applications
themselves; they only add in command line flags and invoke the
back-end compiler.
.
.
.SS Background
Open MPI is comprised of three software layers: OPAL (Open Portable
Access Layer), ORTE (Open Run-Time Environment), and OMPI (Open MPI).
There are wrapper compilers for each layer; each layer's wrapper only
links in the libraries relevant for that layer. Specifically, each
layer provides the following wrapper compilers:
.
.TP 4
OPAL
\fIopalcc\fR and \fIopalc++\fR
.
.TP
ORTE
\fIortecc\fR and \fIortec++\fR
.
.TP
OMPI
\fImpicc\fR, \fImpic++\fR, \fImpicxx\fR, \fImpiCC\fR (only on systems with
case-senstive file systems), and \fImpifort\fR (and its legacy/deprecated
names \fImpif77\fR and \fImpif90\fR). Note
that \fImpic++\fR, \fImpicxx\fR, and \fImpiCC\fR all invoke the same
underlying C++ compiler with the same options. All are provided as
compatibility with other MPI implementations.
.
.
.SS Fortran Notes
.PP
The Fortran wrapper compiler for MPI (\fImpifort\fR, and its
legacy/deprecated names \fImpif77\fR and \fImpif90\fR) can compile and
link MPI applications that use any/all of the MPI Fortran bindings:
.IR mpif.h ,
the
.I mpi
module, and the
.I mpi_f08
module (assuming Open MPI was installed with support for each of these
Fortran bindings). Specifically: it is no longer necessary to use
different wrapper compilers for applications that use
.I mpif.h
vs. applications that use the
.I mpi
module -- just use
.I mpifort
for all Fortran MPI applications.
.
.PP
Note, however, that the Fortran compiler may require additional
command-line options to enforce a specific Fortran dialect. For
example, in some versions of the IBM XLF compiler, if xlf90 is the
underlying Fortran compiler,
.IR -qfixed
may be necessary to compile fixed-format Fortran source files.
.
.PP
Finally, note that
.I mpifort
will be inoperative and will return an error on use if Fortran support
was not built into the MP Ilayer.
.
.
.SS Overview
\fImpic++\fR is a convenience wrappers for the underlying
C++ compiler. Translation of an Open MPI program requires the
linkage of the Open MPI-specific libraries which may not reside in
one of the standard search directories of ld(1). It also often
requires the inclusion of header files what may also not be found in a
standard location.
.
.PP
\fImpic++\fR passes its arguments to the underlying C++
compiler along with the -I, -L and -l options required by Open MPI
programs.
.
.PP
The Open MPI Team \fIstrongly\fR encourages using the wrapper
compilers instead of attempting to link to the Open MPI libraries
manually. This allows the specific implementation of Open MPI to
change without forcing changes to linker directives in users'
Makefiles. Indeed, the specific set of flags and libraries used by
the wrapper compilers depends on how Open MPI was configured and
built; the values can change between different installations of the
same version of Open MPI.
.
.PP
Indeed, since the wrappers are simply thin shells on top of an
underlying compiler, there are very, very few compelling reasons
\fInot\fR to use \fImpic++\fR. When it is not possible to use the
wrappers directly, the \fI-showme:compile\fR and \fI-showme:link\fR
options should be used to determine what flags the wrappers would have
used. For example:
.
.PP
shell$ cc -c file1.c `mpicc -showme:compile`
.
.PP
shell$ cc -c file2.c `mpicc -showme:compile`
.
.PP
shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program
.
.
.SH NOTES
.PP
It is possible to make the wrapper compilers multi-lib aware. That
is, the libraries and includes specified may differ based on the
compiler flags specified (for example, with the GNU compilers on
Linux, a different library path may be used if -m32 is seen versus
-m64 being seen). This is not the default behavior in a standard
build, but can be activated (for example, in a binary package
providing both 32 and 64 bit support). More information can be found
at:
.PP
https://github.com/open-mpi/ompi/wiki/compilerwrapper3264
.
.
.SH FILES
.PP
The string that the wrapper compilers insert into the command line
before invoking the underlying compiler are stored in a text file
created by Open MPI and installed to
\fI$pkgdata/mpic++-wrapper-data.txt\fR, where \fI$pkgdata\fR
is typically \fI$prefix/share/openmpi\fR, and \fI$prefix\fR is the top
installation directory of Open MPI.
.
.PP
It is rarely necessary to edit this file, but it can be examined to
gain insight into what flags the wrappers are placing on the command
line.
.
.
.SH ENVIRONMENT VARIABLES
.PP
By default, the wrappers use the compilers that were selected when
Open MPI was configured. These compilers were either found
automatically by Open MPI's "configure" script, or were selected by
the user in the CC, CXX, F77, and/or FC environment variables
before "configure" was invoked. Additionally, other arguments
specific to the compiler may have been selected by configure.
.
.PP
These values can be selectively overridden by either editing the text
files containing this configuration information (see the \fBFILES\fR
section), or by setting selected environment variables of the
form "OMPI_value".
.
.PP
Valid value names are:
.
.TP
CPPFLAGS
Flags added when invoking the preprocessor (C or C++)
.
.TP
LDFLAGS
Flags added when invoking the linker (C, C++, or Fortran)
.
.TP
LIBS
Libraries added when invoking the linker (C, C++, or Fortran)
.
.TP
CC
C compiler
.
.TP
CFLAGS
C compiler flags
.
.TP
CXX
C++ compiler
.
.TP
CXXFLAGS
C++ compiler flags
.
.
.TP
FC
Fortran compiler
.
.TP
FCFLAGS
Fortran compiler flags

View File

@@ -0,0 +1,265 @@
.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
.TH mpicc 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.
.SH NAME
mpicc -- Open MPI C wrapper compiler
.
.SH SYNTAX
mpicc [-showme|-showme:compile|-showme:link] ...
.
.SH OPTIONS
.TP
--showme
This option comes in several different variants (see below). None of
the variants invokes the underlying compiler; they all provide
information on how the underlying compiler would have been invoked had
.I --showme
not been used.
The basic
.I --showme
option outputs the command line that would be executed to compile the
program. \fBNOTE:\fR If a non-filename argument is passed on the
command line, the \fI-showme\fR option will \fInot\fR display any
additional flags. For example, both "mpicc --showme" and
"mpicc --showme my_source.c" will show all the wrapper-supplied
flags. But "mpicc --showme -v" will only show the underlying
compiler name and "-v".
.TP
--showme:compile
Output the compiler flags that would have been supplied to the
C compiler.
.TP
--showme:link
Output the linker flags that would have been supplied to the
C compiler.
.TP
--showme:command
Outputs the underlying C compiler command (which may be one
or more tokens).
.TP
--showme:incdirs
Outputs a space-delimited (but otherwise undecorated) list of
directories that the wrapper compiler would have provided to the
underlying C compiler to indicate where relevant header files
are located.
.TP
--showme:libdirs
Outputs a space-delimited (but otherwise undecorated) list of
directories that the wrapper compiler would have provided to the
underlying linker to indicate where relevant libraries are located.
.TP
--showme:libs
Outputs a space-delimited (but otherwise undecorated) list of library
names that the wrapper compiler would have used to link an
application. For example: "mpi open-rte open-pal util".
.TP
--showme:version
Outputs the version number of Open MPI.
.TP
--showme:help
Output a brief usage help message.
.PP
See the man page for your underlying C compiler for other
options that can be passed through mpicc.
.
.
.SH DESCRIPTION
.PP
Conceptually, the role of these commands is quite simple:
transparently add relevant compiler and linker flags to the user's
command line that are necessary to compile / link Open MPI
programs, and then invoke the underlying compiler to actually perform
the command.
.
.PP
As such, these commands are frequently referred to as "wrapper"
compilers because they do not actually compile or link applications
themselves; they only add in command line flags and invoke the
back-end compiler.
.
.
.SS Background
Open MPI is comprised of three software layers: OPAL (Open Portable
Access Layer), ORTE (Open Run-Time Environment), and OMPI (Open MPI).
There are wrapper compilers for each layer; each layer's wrapper only
links in the libraries relevant for that layer. Specifically, each
layer provides the following wrapper compilers:
.
.TP 4
OPAL
\fIopalcc\fR and \fIopalc++\fR
.
.TP
ORTE
\fIortecc\fR and \fIortec++\fR
.
.TP
OMPI
\fImpicc\fR, \fImpic++\fR, \fImpicxx\fR, \fImpiCC\fR (only on systems with
case-senstive file systems), and \fImpifort\fR (and its legacy/deprecated
names \fImpif77\fR and \fImpif90\fR). Note
that \fImpic++\fR, \fImpicxx\fR, and \fImpiCC\fR all invoke the same
underlying C++ compiler with the same options. All are provided as
compatibility with other MPI implementations.
.
.
.SS Fortran Notes
.PP
The Fortran wrapper compiler for MPI (\fImpifort\fR, and its
legacy/deprecated names \fImpif77\fR and \fImpif90\fR) can compile and
link MPI applications that use any/all of the MPI Fortran bindings:
.IR mpif.h ,
the
.I mpi
module, and the
.I mpi_f08
module (assuming Open MPI was installed with support for each of these
Fortran bindings). Specifically: it is no longer necessary to use
different wrapper compilers for applications that use
.I mpif.h
vs. applications that use the
.I mpi
module -- just use
.I mpifort
for all Fortran MPI applications.
.
.PP
Note, however, that the Fortran compiler may require additional
command-line options to enforce a specific Fortran dialect. For
example, in some versions of the IBM XLF compiler, if xlf90 is the
underlying Fortran compiler,
.IR -qfixed
may be necessary to compile fixed-format Fortran source files.
.
.PP
Finally, note that
.I mpifort
will be inoperative and will return an error on use if Fortran support
was not built into the MP Ilayer.
.
.
.SS Overview
\fImpicc\fR is a convenience wrappers for the underlying
C compiler. Translation of an Open MPI program requires the
linkage of the Open MPI-specific libraries which may not reside in
one of the standard search directories of ld(1). It also often
requires the inclusion of header files what may also not be found in a
standard location.
.
.PP
\fImpicc\fR passes its arguments to the underlying C
compiler along with the -I, -L and -l options required by Open MPI
programs.
.
.PP
The Open MPI Team \fIstrongly\fR encourages using the wrapper
compilers instead of attempting to link to the Open MPI libraries
manually. This allows the specific implementation of Open MPI to
change without forcing changes to linker directives in users'
Makefiles. Indeed, the specific set of flags and libraries used by
the wrapper compilers depends on how Open MPI was configured and
built; the values can change between different installations of the
same version of Open MPI.
.
.PP
Indeed, since the wrappers are simply thin shells on top of an
underlying compiler, there are very, very few compelling reasons
\fInot\fR to use \fImpicc\fR. When it is not possible to use the
wrappers directly, the \fI-showme:compile\fR and \fI-showme:link\fR
options should be used to determine what flags the wrappers would have
used. For example:
.
.PP
shell$ cc -c file1.c `mpicc -showme:compile`
.
.PP
shell$ cc -c file2.c `mpicc -showme:compile`
.
.PP
shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program
.
.
.SH NOTES
.PP
It is possible to make the wrapper compilers multi-lib aware. That
is, the libraries and includes specified may differ based on the
compiler flags specified (for example, with the GNU compilers on
Linux, a different library path may be used if -m32 is seen versus
-m64 being seen). This is not the default behavior in a standard
build, but can be activated (for example, in a binary package
providing both 32 and 64 bit support). More information can be found
at:
.PP
https://github.com/open-mpi/ompi/wiki/compilerwrapper3264
.
.
.SH FILES
.PP
The string that the wrapper compilers insert into the command line
before invoking the underlying compiler are stored in a text file
created by Open MPI and installed to
\fI$pkgdata/mpicc-wrapper-data.txt\fR, where \fI$pkgdata\fR
is typically \fI$prefix/share/openmpi\fR, and \fI$prefix\fR is the top
installation directory of Open MPI.
.
.PP
It is rarely necessary to edit this file, but it can be examined to
gain insight into what flags the wrappers are placing on the command
line.
.
.
.SH ENVIRONMENT VARIABLES
.PP
By default, the wrappers use the compilers that were selected when
Open MPI was configured. These compilers were either found
automatically by Open MPI's "configure" script, or were selected by
the user in the CC, CXX, F77, and/or FC environment variables
before "configure" was invoked. Additionally, other arguments
specific to the compiler may have been selected by configure.
.
.PP
These values can be selectively overridden by either editing the text
files containing this configuration information (see the \fBFILES\fR
section), or by setting selected environment variables of the
form "OMPI_value".
.
.PP
Valid value names are:
.
.TP
CPPFLAGS
Flags added when invoking the preprocessor (C or C++)
.
.TP
LDFLAGS
Flags added when invoking the linker (C, C++, or Fortran)
.
.TP
LIBS
Libraries added when invoking the linker (C, C++, or Fortran)
.
.TP
CC
C compiler
.
.TP
CFLAGS
C compiler flags
.
.TP
CXX
C++ compiler
.
.TP
CXXFLAGS
C++ compiler flags
.
.
.TP
FC
Fortran compiler
.
.TP
FCFLAGS
Fortran compiler flags

View File

@@ -0,0 +1,265 @@
.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
.TH mpicxx 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.
.SH NAME
mpicxx -- Open MPI C++ wrapper compiler
.
.SH SYNTAX
mpicxx [-showme|-showme:compile|-showme:link] ...
.
.SH OPTIONS
.TP
--showme
This option comes in several different variants (see below). None of
the variants invokes the underlying compiler; they all provide
information on how the underlying compiler would have been invoked had
.I --showme
not been used.
The basic
.I --showme
option outputs the command line that would be executed to compile the
program. \fBNOTE:\fR If a non-filename argument is passed on the
command line, the \fI-showme\fR option will \fInot\fR display any
additional flags. For example, both "mpicxx --showme" and
"mpicxx --showme my_source.c" will show all the wrapper-supplied
flags. But "mpicxx --showme -v" will only show the underlying
compiler name and "-v".
.TP
--showme:compile
Output the compiler flags that would have been supplied to the
C++ compiler.
.TP
--showme:link
Output the linker flags that would have been supplied to the
C++ compiler.
.TP
--showme:command
Outputs the underlying C++ compiler command (which may be one
or more tokens).
.TP
--showme:incdirs
Outputs a space-delimited (but otherwise undecorated) list of
directories that the wrapper compiler would have provided to the
underlying C++ compiler to indicate where relevant header files
are located.
.TP
--showme:libdirs
Outputs a space-delimited (but otherwise undecorated) list of
directories that the wrapper compiler would have provided to the
underlying linker to indicate where relevant libraries are located.
.TP
--showme:libs
Outputs a space-delimited (but otherwise undecorated) list of library
names that the wrapper compiler would have used to link an
application. For example: "mpi open-rte open-pal util".
.TP
--showme:version
Outputs the version number of Open MPI.
.TP
--showme:help
Output a brief usage help message.
.PP
See the man page for your underlying C++ compiler for other
options that can be passed through mpicxx.
.
.
.SH DESCRIPTION
.PP
Conceptually, the role of these commands is quite simple:
transparently add relevant compiler and linker flags to the user's
command line that are necessary to compile / link Open MPI
programs, and then invoke the underlying compiler to actually perform
the command.
.
.PP
As such, these commands are frequently referred to as "wrapper"
compilers because they do not actually compile or link applications
themselves; they only add in command line flags and invoke the
back-end compiler.
.
.
.SS Background
Open MPI is comprised of three software layers: OPAL (Open Portable
Access Layer), ORTE (Open Run-Time Environment), and OMPI (Open MPI).
There are wrapper compilers for each layer; each layer's wrapper only
links in the libraries relevant for that layer. Specifically, each
layer provides the following wrapper compilers:
.
.TP 4
OPAL
\fIopalcc\fR and \fIopalc++\fR
.
.TP
ORTE
\fIortecc\fR and \fIortec++\fR
.
.TP
OMPI
\fImpicc\fR, \fImpic++\fR, \fImpicxx\fR, \fImpiCC\fR (only on systems with
case-senstive file systems), and \fImpifort\fR (and its legacy/deprecated
names \fImpif77\fR and \fImpif90\fR). Note
that \fImpic++\fR, \fImpicxx\fR, and \fImpiCC\fR all invoke the same
underlying C++ compiler with the same options. All are provided as
compatibility with other MPI implementations.
.
.
.SS Fortran Notes
.PP
The Fortran wrapper compiler for MPI (\fImpifort\fR, and its
legacy/deprecated names \fImpif77\fR and \fImpif90\fR) can compile and
link MPI applications that use any/all of the MPI Fortran bindings:
.IR mpif.h ,
the
.I mpi
module, and the
.I mpi_f08
module (assuming Open MPI was installed with support for each of these
Fortran bindings). Specifically: it is no longer necessary to use
different wrapper compilers for applications that use
.I mpif.h
vs. applications that use the
.I mpi
module -- just use
.I mpifort
for all Fortran MPI applications.
.
.PP
Note, however, that the Fortran compiler may require additional
command-line options to enforce a specific Fortran dialect. For
example, in some versions of the IBM XLF compiler, if xlf90 is the
underlying Fortran compiler,
.IR -qfixed
may be necessary to compile fixed-format Fortran source files.
.
.PP
Finally, note that
.I mpifort
will be inoperative and will return an error on use if Fortran support
was not built into the MP Ilayer.
.
.
.SS Overview
\fImpicxx\fR is a convenience wrappers for the underlying
C++ compiler. Translation of an Open MPI program requires the
linkage of the Open MPI-specific libraries which may not reside in
one of the standard search directories of ld(1). It also often
requires the inclusion of header files what may also not be found in a
standard location.
.
.PP
\fImpicxx\fR passes its arguments to the underlying C++
compiler along with the -I, -L and -l options required by Open MPI
programs.
.
.PP
The Open MPI Team \fIstrongly\fR encourages using the wrapper
compilers instead of attempting to link to the Open MPI libraries
manually. This allows the specific implementation of Open MPI to
change without forcing changes to linker directives in users'
Makefiles. Indeed, the specific set of flags and libraries used by
the wrapper compilers depends on how Open MPI was configured and
built; the values can change between different installations of the
same version of Open MPI.
.
.PP
Indeed, since the wrappers are simply thin shells on top of an
underlying compiler, there are very, very few compelling reasons
\fInot\fR to use \fImpicxx\fR. When it is not possible to use the
wrappers directly, the \fI-showme:compile\fR and \fI-showme:link\fR
options should be used to determine what flags the wrappers would have
used. For example:
.
.PP
shell$ cc -c file1.c `mpicc -showme:compile`
.
.PP
shell$ cc -c file2.c `mpicc -showme:compile`
.
.PP
shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program
.
.
.SH NOTES
.PP
It is possible to make the wrapper compilers multi-lib aware. That
is, the libraries and includes specified may differ based on the
compiler flags specified (for example, with the GNU compilers on
Linux, a different library path may be used if -m32 is seen versus
-m64 being seen). This is not the default behavior in a standard
build, but can be activated (for example, in a binary package
providing both 32 and 64 bit support). More information can be found
at:
.PP
https://github.com/open-mpi/ompi/wiki/compilerwrapper3264
.
.
.SH FILES
.PP
The string that the wrapper compilers insert into the command line
before invoking the underlying compiler are stored in a text file
created by Open MPI and installed to
\fI$pkgdata/mpicxx-wrapper-data.txt\fR, where \fI$pkgdata\fR
is typically \fI$prefix/share/openmpi\fR, and \fI$prefix\fR is the top
installation directory of Open MPI.
.
.PP
It is rarely necessary to edit this file, but it can be examined to
gain insight into what flags the wrappers are placing on the command
line.
.
.
.SH ENVIRONMENT VARIABLES
.PP
By default, the wrappers use the compilers that were selected when
Open MPI was configured. These compilers were either found
automatically by Open MPI's "configure" script, or were selected by
the user in the CC, CXX, F77, and/or FC environment variables
before "configure" was invoked. Additionally, other arguments
specific to the compiler may have been selected by configure.
.
.PP
These values can be selectively overridden by either editing the text
files containing this configuration information (see the \fBFILES\fR
section), or by setting selected environment variables of the
form "OMPI_value".
.
.PP
Valid value names are:
.
.TP
CPPFLAGS
Flags added when invoking the preprocessor (C or C++)
.
.TP
LDFLAGS
Flags added when invoking the linker (C, C++, or Fortran)
.
.TP
LIBS
Libraries added when invoking the linker (C, C++, or Fortran)
.
.TP
CC
C compiler
.
.TP
CFLAGS
C compiler flags
.
.TP
CXX
C++ compiler
.
.TP
CXXFLAGS
C++ compiler flags
.
.
.TP
FC
Fortran compiler
.
.TP
FCFLAGS
Fortran compiler flags

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,48 @@
.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
.TH "mpif77,mpif90" 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.
.SH NAME
mpif77, mpif90 -- Deprecated Open MPI Fortran wrapper compilers
.
.SH SYNTAX
mpif90 ...
.
.\" **************************
.\" Description Section
.\" **************************
.
.SH DESCRIPTION
.PP
The
.I mpif77
and
.I mpif90
wrapper compiler names are deprecated, and will disappear in a future
version of Open MPI. You should use the
.I mpifort
wrapper compiler, instead. While they are deprecated,
.I mpif77
and
.I mpif90
accept all the same parameters as
.IR mpifort ,
and behaves the same as
.IR mpifort .
.
.PP
With
.IR mpifort ,
you can compile any Fortran program that uses the "mpif.h", "use mpi",
and/or "use mpi_f08" MPI Fortran interfaces.
.
.PP
See mpifort(1) for more details.
.
.\" **************************
.\" See Also Section
.\" **************************
.
.SH SEE ALSO
mpifort(1)
.

View File

@@ -0,0 +1,48 @@
.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
.TH "mpif77,mpif90" 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.
.SH NAME
mpif77, mpif90 -- Deprecated Open MPI Fortran wrapper compilers
.
.SH SYNTAX
mpif90 ...
.
.\" **************************
.\" Description Section
.\" **************************
.
.SH DESCRIPTION
.PP
The
.I mpif77
and
.I mpif90
wrapper compiler names are deprecated, and will disappear in a future
version of Open MPI. You should use the
.I mpifort
wrapper compiler, instead. While they are deprecated,
.I mpif77
and
.I mpif90
accept all the same parameters as
.IR mpifort ,
and behaves the same as
.IR mpifort .
.
.PP
With
.IR mpifort ,
you can compile any Fortran program that uses the "mpif.h", "use mpi",
and/or "use mpi_f08" MPI Fortran interfaces.
.
.PP
See mpifort(1) for more details.
.
.\" **************************
.\" See Also Section
.\" **************************
.
.SH SEE ALSO
mpifort(1)
.

View File

@@ -0,0 +1,265 @@
.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved.
.TH mpifort 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.
.SH NAME
mpifort -- Open MPI Fortran wrapper compiler
.
.SH SYNTAX
mpifort [-showme|-showme:compile|-showme:link] ...
.
.SH OPTIONS
.TP
--showme
This option comes in several different variants (see below). None of
the variants invokes the underlying compiler; they all provide
information on how the underlying compiler would have been invoked had
.I --showme
not been used.
The basic
.I --showme
option outputs the command line that would be executed to compile the
program. \fBNOTE:\fR If a non-filename argument is passed on the
command line, the \fI-showme\fR option will \fInot\fR display any
additional flags. For example, both "mpifort --showme" and
"mpifort --showme my_source.c" will show all the wrapper-supplied
flags. But "mpifort --showme -v" will only show the underlying
compiler name and "-v".
.TP
--showme:compile
Output the compiler flags that would have been supplied to the
Fortran compiler.
.TP
--showme:link
Output the linker flags that would have been supplied to the
Fortran compiler.
.TP
--showme:command
Outputs the underlying Fortran compiler command (which may be one
or more tokens).
.TP
--showme:incdirs
Outputs a space-delimited (but otherwise undecorated) list of
directories that the wrapper compiler would have provided to the
underlying Fortran compiler to indicate where relevant header files
are located.
.TP
--showme:libdirs
Outputs a space-delimited (but otherwise undecorated) list of
directories that the wrapper compiler would have provided to the
underlying linker to indicate where relevant libraries are located.
.TP
--showme:libs
Outputs a space-delimited (but otherwise undecorated) list of library
names that the wrapper compiler would have used to link an
application. For example: "mpi open-rte open-pal util".
.TP
--showme:version
Outputs the version number of Open MPI.
.TP
--showme:help
Output a brief usage help message.
.PP
See the man page for your underlying Fortran compiler for other
options that can be passed through mpifort.
.
.
.SH DESCRIPTION
.PP
Conceptually, the role of these commands is quite simple:
transparently add relevant compiler and linker flags to the user's
command line that are necessary to compile / link Open MPI
programs, and then invoke the underlying compiler to actually perform
the command.
.
.PP
As such, these commands are frequently referred to as "wrapper"
compilers because they do not actually compile or link applications
themselves; they only add in command line flags and invoke the
back-end compiler.
.
.
.SS Background
Open MPI is comprised of three software layers: OPAL (Open Portable
Access Layer), ORTE (Open Run-Time Environment), and OMPI (Open MPI).
There are wrapper compilers for each layer; each layer's wrapper only
links in the libraries relevant for that layer. Specifically, each
layer provides the following wrapper compilers:
.
.TP 4
OPAL
\fIopalcc\fR and \fIopalc++\fR
.
.TP
ORTE
\fIortecc\fR and \fIortec++\fR
.
.TP
OMPI
\fImpicc\fR, \fImpic++\fR, \fImpicxx\fR, \fImpiCC\fR (only on systems with
case-senstive file systems), and \fImpifort\fR (and its legacy/deprecated
names \fImpif77\fR and \fImpif90\fR). Note
that \fImpic++\fR, \fImpicxx\fR, and \fImpiCC\fR all invoke the same
underlying C++ compiler with the same options. All are provided as
compatibility with other MPI implementations.
.
.
.SS Fortran Notes
.PP
The Fortran wrapper compiler for MPI (\fImpifort\fR, and its
legacy/deprecated names \fImpif77\fR and \fImpif90\fR) can compile and
link MPI applications that use any/all of the MPI Fortran bindings:
.IR mpif.h ,
the
.I mpi
module, and the
.I mpi_f08
module (assuming Open MPI was installed with support for each of these
Fortran bindings). Specifically: it is no longer necessary to use
different wrapper compilers for applications that use
.I mpif.h
vs. applications that use the
.I mpi
module -- just use
.I mpifort
for all Fortran MPI applications.
.
.PP
Note, however, that the Fortran compiler may require additional
command-line options to enforce a specific Fortran dialect. For
example, in some versions of the IBM XLF compiler, if xlf90 is the
underlying Fortran compiler,
.IR -qfixed
may be necessary to compile fixed-format Fortran source files.
.
.PP
Finally, note that
.I mpifort
will be inoperative and will return an error on use if Fortran support
was not built into the MP Ilayer.
.
.
.SS Overview
\fImpifort\fR is a convenience wrappers for the underlying
Fortran compiler. Translation of an Open MPI program requires the
linkage of the Open MPI-specific libraries which may not reside in
one of the standard search directories of ld(1). It also often
requires the inclusion of header files what may also not be found in a
standard location.
.
.PP
\fImpifort\fR passes its arguments to the underlying Fortran
compiler along with the -I, -L and -l options required by Open MPI
programs.
.
.PP
The Open MPI Team \fIstrongly\fR encourages using the wrapper
compilers instead of attempting to link to the Open MPI libraries
manually. This allows the specific implementation of Open MPI to
change without forcing changes to linker directives in users'
Makefiles. Indeed, the specific set of flags and libraries used by
the wrapper compilers depends on how Open MPI was configured and
built; the values can change between different installations of the
same version of Open MPI.
.
.PP
Indeed, since the wrappers are simply thin shells on top of an
underlying compiler, there are very, very few compelling reasons
\fInot\fR to use \fImpifort\fR. When it is not possible to use the
wrappers directly, the \fI-showme:compile\fR and \fI-showme:link\fR
options should be used to determine what flags the wrappers would have
used. For example:
.
.PP
shell$ cc -c file1.c `mpicc -showme:compile`
.
.PP
shell$ cc -c file2.c `mpicc -showme:compile`
.
.PP
shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program
.
.
.SH NOTES
.PP
It is possible to make the wrapper compilers multi-lib aware. That
is, the libraries and includes specified may differ based on the
compiler flags specified (for example, with the GNU compilers on
Linux, a different library path may be used if -m32 is seen versus
-m64 being seen). This is not the default behavior in a standard
build, but can be activated (for example, in a binary package
providing both 32 and 64 bit support). More information can be found
at:
.PP
https://github.com/open-mpi/ompi/wiki/compilerwrapper3264
.
.
.SH FILES
.PP
The string that the wrapper compilers insert into the command line
before invoking the underlying compiler are stored in a text file
created by Open MPI and installed to
\fI$pkgdata/mpifort-wrapper-data.txt\fR, where \fI$pkgdata\fR
is typically \fI$prefix/share/openmpi\fR, and \fI$prefix\fR is the top
installation directory of Open MPI.
.
.PP
It is rarely necessary to edit this file, but it can be examined to
gain insight into what flags the wrappers are placing on the command
line.
.
.
.SH ENVIRONMENT VARIABLES
.PP
By default, the wrappers use the compilers that were selected when
Open MPI was configured. These compilers were either found
automatically by Open MPI's "configure" script, or were selected by
the user in the CC, CXX, F77, and/or FC environment variables
before "configure" was invoked. Additionally, other arguments
specific to the compiler may have been selected by configure.
.
.PP
These values can be selectively overridden by either editing the text
files containing this configuration information (see the \fBFILES\fR
section), or by setting selected environment variables of the
form "OMPI_value".
.
.PP
Valid value names are:
.
.TP
CPPFLAGS
Flags added when invoking the preprocessor (C or C++)
.
.TP
LDFLAGS
Flags added when invoking the linker (C, C++, or Fortran)
.
.TP
LIBS
Libraries added when invoking the linker (C, C++, or Fortran)
.
.TP
CC
C compiler
.
.TP
CFLAGS
C compiler flags
.
.TP
CXX
C++ compiler
.
.TP
CXXFLAGS
C++ compiler flags
.
.
.TP
FC
Fortran compiler
.
.TP
FCFLAGS
Fortran compiler flags

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,120 @@
.\"
.\" Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
.\" University Research and Technology
.\" Corporation. All rights reserved.
.\" Copyright 2007-2008 Sun Microsystems, Inc.
.\"
.TH orte-clean 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
\fBorte-clean\fP - Cleans up any stale processes and files leftover
from Open MPI jobs.
.sp
.\" **************************
.\" Synopsis Section
.\" **************************
.SH SYNOPSIS
.ft R
.nf
orte-clean [--verbose]
.br
mpirun --pernode [--host | --hostfile \fIfile\fP] orte-clean [--verbose]
.fi
.sp
.\" **************************
.\" Options Section
.\" **************************
.SH OPTIONS
.ft R
[-v | --verbose] This argument will run the command in verbose
mode and print out the universes that are getting cleaned up
as well as processes that are being killed.
.sp
.\" **************************
.\" Description Section
.\" **************************
.SH DESCRIPTION
.ft R
\fIorte-clean\fR attempts to clean up any processes and files
left over from Open MPI jobs that were run in the past as well as any
currently running jobs. This includes OMPI infrastructure and helper
commands, any processes that were spawned as part of the job, and any
temporary files. orte-clean will only act upon processes and files
that belong to the user running the orte-clean command. If run as
root, it will kill off processes belonging to any users.
.sp
When run from the command line, orte-clean will attempt to clean up
the local node it is run from. When launched via mpirun, it will
clean up the nodes selected by mpirun.
.sp
.\" **************************
.\" Examples Section
.\" **************************
.SH EXAMPLES
.ft R
Example 1: Clean up local node only.
.sp
.nf
example% orte-clean
.fi
.sp
Example 2: To clean up on a specific set of nodes specified on
command line, it is recommended to use the pernode option. This
will run one orte-clean for each node.
.sp
.nf
example% mpirun --pernode --host node1,node2,node3 orte-clean
.fi
.sp
To clean up on a specific set of nodes from a file.
.sp
.nf
example% mpirun --pernode --hostfile nodes_file orte-clean
.fi
.sp
Example 3: Within a resource managed environment like N1GE,
SLURM, or Torque. The following example is from N1GE.
.sp
First, we see that we have two nodes with two CPUs each.
.sp
.nf
example% qsh -pe orte 4
.br
example% mpirun -np 4 hostname
.br
node1
.br
node1
.br
node2
.br
node2
.fi
.sp
Clean up all the nodes in the cluster.
.sp
.nf
example% mpirun --pernode orte-clean
.fi
.sp
Clean up a subset of the nodes in the cluster.
.sp
.nf
example% mpirun --pernode --host node1 orte-clean
.fi
.sp
.\" **************************
.\" See Also Section
.\" **************************
.
.SH SEE ALSO
.ft R
orterun(1), orte-ps(1)
.sp

View File

@@ -0,0 +1,72 @@
.\"
.\" Copyright (c) 2007 Los Alamos National Security, LLC
.\" All rights reserved.
.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved.
.\"
.\" Man page for OMPI's ompi-server command
.\"
.\" .TH name section center-footer left-footer center-header
.TH OMPI-SERVER 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.\" **************************
.\" Name Section
.\" **************************
.SH NAME
.
ompi-server \- Server for supporting name publish/lookup operations.
.
.PP
.
.\" **************************
.\" Synopsis Section
.\" **************************
.SH SYNOPSIS
.
.BR ompi-server " [ options ]"
.
.\" **************************
.\" Options Section
.\" **************************
.SH Options
.
\fIompi-server\fR acts as a data server for Open MPI jobs to exchange
contact information in support of MPI-2's Publish_name and Lookup_name
functions.
.
.TP 10
.B -h | --help
Display help for this command
.
.
.TP
.B -d | --debug
Enable verbose output for debugging
.
.
.TP
.B -r | --report-uri \fR<value>\fP
Report the Open MPI contact information for the server. This information is
required for MPI jobs to use the data server. Three parameter values are supported:
(a) '-', indicating that the uri is to be printed to stdout; (b) '+', indicating that
the uri is to be printed to stderr; and (c) "file:path-to-file", indicating that
the uri is to be printed to the specified file. The "path-to-file" can be either
absolute or relative, but must be in a location where the user has write
permissions. Please note that the resulting file must be read-accessible to
expected users of the server.
.
.
.\" **************************
.\" Description Section
.\" **************************
.SH DESCRIPTION
.
.PP
\fIompi-server\fR acts as a data server for Open MPI jobs to exchange
contact information in support of MPI-2's Publish_name and Lookup_name
functions.
.
.\" **************************
.\" See Also Section
.\" **************************
.
.SH SEE ALSO
.

View File

@@ -0,0 +1,287 @@
.\" Man page contributed by Dirk Eddelbuettel <edd@debian.org>
.\" and released under the BSD license
.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
.\" Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
.TH OMPI_INFO 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
ompi_info - Display information about the Open MPI installation
.
.\" **************************
.\" Synopsis Section
.\" **************************
.SH SYNOPSIS
.B ompi_info [options]
.
.\" **************************
.\" Description Section
.\" **************************
.SH DESCRIPTION
.PP
.B ompi_info
provides detailed information about the Open MPI installation. It can
be useful for at least three common scenarios:
.PP
1. Checking local configuration and seeing how Open MPI was installed.
.PP
2. Submitting bug reports / help requests to the Open MPI community
(see
.IR http://www.open-mpi.org/community/help/ )
.PP
3. Seeing a list of installed Open MPI plugins and querying what
MCA parameters they support.
.PP
.B NOTE:
.B ompi_info
defaults to only showing a few MCA parameters by default (i.e., level
1 parameters). Use the
.B --level
option to enable showing more options (see the LEVELS section for more
information).
.
.\" **************************
.\" Options Section
.\" **************************
.SH OPTIONS
.B ompi_info
accepts the following options:
.TP 8
.I \-a|\-\-all
Show all configuration options and MCA parameters. Also changes the
default MCA parameter level to 9, unless
.I --level
is also specified.
.TP 8
.I \-\-arch
Show architecture on which Open MPI was compiled.
.TP 8
.I \-c|\-\-config
Show configuration options
.TP 8
.I \-gmca|\-\-gmca <param> <value>
Pass global MCA parameters that are applicable to all contexts.
.TP 8
.I \-h|\-\-help
Shows help / usage message.
.TP 8
.I \-\-hostname
Show the hostname on which Open MPI was configured and built.
.TP 8
.I \-\-internal
Show internal MCA parameters (not meant to be modified by users).
.TP 8
.I \-\-level <level>
Show only variables with at most this level (1-9). The default is 1 unless
\-\-all is specified without \-\-level, in which case the default is 9. See
the LEVELS section for more information.
.TP 8
.I \-mca|\-\-mca <param> <value>
Pass context-specific MCA parameters; they are considered global if --gmca is
not used and only one context is specified.
.TP 8
.I \-\-param <type> <component>
Show MCA parameters. The first parameter is the type of the component
to display; the second parameter is the specific component to display
(or the keyword "all", meaning "display all components of this type").
.TP 8
.I \-t|\-\-type
Show MCA parameters of the type specified in the parameter. Accepts the
following parameters: unsigned_int, unsigned_long, unsigned_long_long,
size_t, string, version_string, bool, double. By default level
is 1 unless it is specified with \-\-level.
.TP 8
.I \-\-parsable
When used in conjunction with other parameters, the output is
displayed in a machine-parsable format
.I \-\-parseable
Synonym for --parsable
.TP 8
.I \-\-path <type>
Show paths that Open MPI was configured with. Accepts the following
parameters: prefix, bindir, libdir, incdir, pkglibdir, sysconfdir.
.TP 8
.I \-\-pretty
When used in conjunction with other parameters, the output is
displayed in 'prettyprint' format (default)
.TP 8
.I \-\-selected-only
Show only variables from selected components.
.TP 8
.I \-V|\-\-version
Show version of Open MPI.
.
.\" **************************
.\" Levels Section
.\" **************************
.SH LEVELS
Open MPI has many, many run-time tunable parameters (called "MCA
parameters"), and usually only a handfull of them are useful to a
given user.
.
.
.PP
As such, Open MPI has divided these parameters up into nine distinct
levels, broken down into three categories, each with three
sub-categories.
.
.
.PP
Note that since each MCA parameter is accessible through the MPI_T
control variable API (introduced in MPI-3.0), these levels exactly
correspond to the nine MPI_T cvar levels.
.
.
.PP
The three categories are:
.TP 4
.B End user
Generally, these are parameters that are required for correctness,
meaning that a user may need to set these just to get their MPI
application to run correctly. For example, BTL "if_include" and
"if_exclude" parameters fit into this category.
.
.TP
.B Application tuner
Generally, these are parameters that can be used to tweak MPI
application performance. This even includes parameters that control
resource exhaustion levels (e.g., number of free list entries, size of
buffers, etc.), and could be considered "correctness" parameters if
they're set too low. But, really -- they're tuning parameters.
.
.TP
.B Open MPI developer
Parameters in this category either don't fit in the other two, or are
specifically intended for debugging / development of Open MPI itself.
.
.
.PP
And within each category, there are three sub-categories:
.TP 4
.B Basic
This sub-category is for parameters that everyone in this category
will want to see -- even less-advanced end users, application tuners,
and new OMPI developers.
.
.TP
.B Detailed
This sub-category is for parameters that are generally useful, but
users probably won't need to change them often.
.
.TP
.B All
This sub-category is for all other parameters. Such parameters are
likely fairly esoteric.
.
.
.PP
Combining the categories and sub-categories, here's how Open MPI
defines all nine levels:
.TP 4
1
Basic information of interest to end users.
.TP
2
Detailed information of interest to end users.
.TP
3
All remaining information of interest to end users.
.TP
4
Basic information required for application tuners.
.TP
5
Detailed information required for application tuners.
.TP
6
All remaining information required for application tuners.
.TP
7
Basic information for Open MPI implementors.
.TP
8
Detailed information for Open MPI implementors.
.TP
9
All remaining information for Open MPI implementors.
.
.
.PP
By default,
.B ompi_info
only shows level 1 MCA parameters. To see more MCA parameters, use
the
.B --level
command line option.
.
.
.PP
.\" **************************
.\" Examples Section
.\" **************************
.SH EXAMPLES
.TP 4
ompi_info
Show the default output of options and listing of installed
components in a human-readable / prettyprint format.
.
.
.TP
ompi_info --parsable
Show the default output of options and listing of installed
components in a machine-parsable format.
.
.
.TP
ompi_info --param btl tcp
Show the level 1 MCA parameters of the "tcp" BTL component in a
human-readable / prettyprint format.
.
.
.TP
ompi_info --param btl tcp --level 6
Show the level 1 through level 6 MCA parameters of the "tcp" BTL
component in a human-readable / prettyprint format.
.
.
.TP
ompi_info --param btl tcp --parsable
Show the level 1 MCA parameters of the "tcp" BTL component in a
machine-parsable format.
.
.
.TP
ompi_info --type string --pretty-print --level 3
Show the level 3 MCA parameters of string type in a human-readable /
prettyprint format.
.
.
.TP
ompi_info --path bindir
Show the "bindir" that Open MPI was configured with.
.
.
.TP
ompi_info --version
Show the version of Open MPI version numbers in a prettyprint format.
.
.
.TP
ompi_info --all
Show
.I all
information about the Open MPI installation, including all components
that can be found, all the MCA parameters that they support (i.e.,
levels 1 through 9), versions of Open MPI and the components, etc.
.
.
.\" **************************
.\" Authors Section
.\" **************************
.SH AUTHORS
The Open MPI maintainers -- see
.I http://www.openmpi.org/
or the file
.IR AUTHORS .
.PP
This manual page was originally contributed by Dirk Eddelbuettel
<edd@debian.org>, one of the Debian GNU/Linux maintainers for Open
MPI, and may be used by others.

View File

@@ -0,0 +1,78 @@
.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
.\" Man page contributed by Dirk Eddelbuettel <edd@debian.org>
.\" and released under the BSD license
.TH OPAL_WRAPPER 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
opal_wrapper - Back-end Open MPI wrapper command
.SH SYNOPSIS
.B opal_wrapper [options]
.SH DESCRIPTION
.PP
.B opal_wrapper
is not meant to be called directly by end users. It is automatically
invoked as the back-end by the Open MPI wrapper commands such as:
.BR mpicc ,
.BR mpiCC ,
.BR mpic++ ,
and
.BR mpifort
(and its legacy/deprecated names
.BR mpif77
and
.BR mpif90 ).
.PP
Some Open MPI installations may have additional wrapper commands,
and/or have renamed the wrapper compilers listed above to avoid
executable name conflicts with other MPI implementations. Hence, you
may also have wrapper compilers installed including the following
names:
.BR mpifort.openmpi
(and the legacy/deprecated names
.BR mpif90.openmpi
and
.BR mpif77.openmpi ),
.BR mpicxx.openmpi ,
.BR mpiCC.openmpi ,
.BR mpicc.openmpi ,
.BR mpic++.openmpi ,
.BR opalcc ,
.BR opalc++ ,
.BR ortecc ,
and
.BR ortec++ ,
.
.
.\" **************************
.\" See Also Section
.\" **************************
.SH SEE ALSO
The following may exist depending on your particular Open MPI
installation:
.BR mpicc (1),
.BR mpiCC (1),
.BR mpic++ (1),
.BR mpifort (1),
.BR mpifort.openmpi (1),
.BR mpicxx.openmpi (1),
.BR mpiCC.openmpi (1),
.BR mpicc.openmpi (1),
.BR mpic++.openmpi (1),
.BR ortecc (1),
.BR ortec++ (1),
.BR opalccc (1),
and the website at
.IR http://www.openmpi.org/ .
.
.
.\" **************************
.\" Authors Section
.\" **************************
.SH AUTHORS
The Open MPI maintainers -- see
.I http://www.openmpi.org/
or the file
.IR AUTHORS .
.PP
This manual page was originally contributed by Dirk Eddelbuettel
<edd@debian.org>, one of the Debian GNU/Linux maintainers for Open
MPI, and may be used by others.

View File

@@ -0,0 +1,120 @@
.\"
.\" Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
.\" University Research and Technology
.\" Corporation. All rights reserved.
.\" Copyright 2007-2008 Sun Microsystems, Inc.
.\"
.TH orte-clean 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
\fBorte-clean\fP - Cleans up any stale processes and files leftover
from Open MPI jobs.
.sp
.\" **************************
.\" Synopsis Section
.\" **************************
.SH SYNOPSIS
.ft R
.nf
orte-clean [--verbose]
.br
mpirun --pernode [--host | --hostfile \fIfile\fP] orte-clean [--verbose]
.fi
.sp
.\" **************************
.\" Options Section
.\" **************************
.SH OPTIONS
.ft R
[-v | --verbose] This argument will run the command in verbose
mode and print out the universes that are getting cleaned up
as well as processes that are being killed.
.sp
.\" **************************
.\" Description Section
.\" **************************
.SH DESCRIPTION
.ft R
\fIorte-clean\fR attempts to clean up any processes and files
left over from Open MPI jobs that were run in the past as well as any
currently running jobs. This includes OMPI infrastructure and helper
commands, any processes that were spawned as part of the job, and any
temporary files. orte-clean will only act upon processes and files
that belong to the user running the orte-clean command. If run as
root, it will kill off processes belonging to any users.
.sp
When run from the command line, orte-clean will attempt to clean up
the local node it is run from. When launched via mpirun, it will
clean up the nodes selected by mpirun.
.sp
.\" **************************
.\" Examples Section
.\" **************************
.SH EXAMPLES
.ft R
Example 1: Clean up local node only.
.sp
.nf
example% orte-clean
.fi
.sp
Example 2: To clean up on a specific set of nodes specified on
command line, it is recommended to use the pernode option. This
will run one orte-clean for each node.
.sp
.nf
example% mpirun --pernode --host node1,node2,node3 orte-clean
.fi
.sp
To clean up on a specific set of nodes from a file.
.sp
.nf
example% mpirun --pernode --hostfile nodes_file orte-clean
.fi
.sp
Example 3: Within a resource managed environment like N1GE,
SLURM, or Torque. The following example is from N1GE.
.sp
First, we see that we have two nodes with two CPUs each.
.sp
.nf
example% qsh -pe orte 4
.br
example% mpirun -np 4 hostname
.br
node1
.br
node1
.br
node2
.br
node2
.fi
.sp
Clean up all the nodes in the cluster.
.sp
.nf
example% mpirun --pernode orte-clean
.fi
.sp
Clean up a subset of the nodes in the cluster.
.sp
.nf
example% mpirun --pernode --host node1 orte-clean
.fi
.sp
.\" **************************
.\" See Also Section
.\" **************************
.
.SH SEE ALSO
.ft R
orterun(1), orte-ps(1)
.sp

View File

@@ -0,0 +1,162 @@
.\" Man page contributed by Dirk Eddelbuettel <edd@debian.org>
.\" and released under the BSD license
.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
.TH orte-info 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
orte-info - Display information about the ORTE installation
.
.\" **************************
.\" Synopsis Section
.\" **************************
.SH SYNOPSIS
.B orte-info [options]
.
.\" **************************
.\" Description Section
.\" **************************
.SH DESCRIPTION
.PP
.B orte-info
provides detailed information about the ORTE installation. It can
be useful for at least three common scenarios:
.PP
1. Checking local configuration and seeing how ORTE was installed.
.PP
2. Submitting bug reports / help requests to the ORTE community
(see
.IR http://www.open-mpi.org/community/help/ )
.PP
3. Seeing a list of installed ORTE plugins and querying what
MCA parameters they support.
.
.\" **************************
.\" Options Section
.\" **************************
.SH OPTIONS
.B orte-info
accepts the following options:
.TP 8
.I \-a|\-\-all
Show all configuration options and MCA parameters
.TP 8
.I \-\-arch
Show architecture ORTE was compiled on
.TP 8
.I \-c|\-\-config
Show configuration options
.TP 8
.I \-gmca|\-\-gmca <param> <value>
Pass global MCA parameters that are applicable to all contexts.
.TP 8
.I \-h|\-\-help
Shows help / usage message
.TP 8
.I \-\-hostname
Show the hostname that ORTE was configured and built on
.TP 8
.I \-\-internal
Show internal MCA parameters (not meant to be modified by users)
.TP 8
.I \-mca|\-\-mca <param> <value>
Pass context-specific MCA parameters; they are considered global if --gmca is
not used and only one context is specified.
.TP 8
.I \-\-param <type> <component>
Show MCA parameters. The first parameter is the type of the component
to display; the second parameter is the specific component to display
(or the keyword "all", meaning "display all components of this type").
.TP 8
.I \-\-parsable
When used in conjunction with other parameters, the output is
displayed in a machine-parsable format
.I \-\-parseable
Synonym for --parsable
.TP 8
.I \-\-path <type>
Show paths that ORTE was configured with. Accepts the following
parameters: prefix, bindir, libdir, incdir, pkglibdir, sysconfdir.
.TP 8
.I \-\-pretty
When used in conjunction with other parameters, the output is
displayed in 'prettyprint' format (default)
.TP 8
.I \-v|\-\-version <component> <scope>
Show version of ORTE or a component. <component> can be the
keywords "ompi" or "all", the name of a framework (e.g., "coll" shows
all components in the coll framework), or the name of a specific
component (e.g., "pls:rsh" shows the information from the rsh PLS
component). <scope> can be one of: full, major, minor, release,
greek, svn.
.
.\" **************************
.\" Examples Section
.\" **************************
.SH EXAMPLES
.TP 4
orte-info
Show the default output of options and listing of installed
components in a human-readable / prettyprint format.
.
.
.TP
orte-info --parsable
Show the default output of options and listing of installed
components in a machine-parsable format.
.
.
.TP
orte-info --param rmcast udp
Show the MCA parameters of the "udp" RMCAST component in a
human-readable / prettyprint format.
.
.
.TP
orte-info --param rmcast udp --parsable
Show the MCA parameters of the "udp" RMCAST component in a
machine-parsable format.
.
.
.TP
orte-info --path bindir
Show the "bindir" that ORTE was configured with.
.
.
.TP
orte-info --version orte full --parsable
Show the full version numbers of ORTE (including the OPAL
version number) in a machine-readable format.
.
.
.TP
orte-info --version rmcast major
Show the major version number of all RMCAST components in a prettyprint
format.
.
.
.TP
orte-info --version rmcast:tcp minor
Show the minor version number of the TCP RMCAST component in a
prettyprint format.
.
.
.TP
orte-info --all
Show
.I all
information about the ORTE installation, including all components
that can be found, the MCA parameters that they support, versions of
ORTE and the components, etc.
.
.
.\" **************************
.\" Authors Section
.\" **************************
.SH AUTHORS
The ORTE maintainers -- see
.I http://www.openmpi.org/
or the file
.IR AUTHORS .
.PP
This manual page was originally contributed by Dirk Eddelbuettel
<edd@debian.org>, one of the Debian GNU/Linux maintainers for Open
MPI, and may be used by others.

View File

@@ -0,0 +1,72 @@
.\"
.\" Copyright (c) 2007 Los Alamos National Security, LLC
.\" All rights reserved.
.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved.
.\"
.\" Man page for OMPI's ompi-server command
.\"
.\" .TH name section center-footer left-footer center-header
.TH OMPI-SERVER 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.\" **************************
.\" Name Section
.\" **************************
.SH NAME
.
ompi-server \- Server for supporting name publish/lookup operations.
.
.PP
.
.\" **************************
.\" Synopsis Section
.\" **************************
.SH SYNOPSIS
.
.BR ompi-server " [ options ]"
.
.\" **************************
.\" Options Section
.\" **************************
.SH Options
.
\fIompi-server\fR acts as a data server for Open MPI jobs to exchange
contact information in support of MPI-2's Publish_name and Lookup_name
functions.
.
.TP 10
.B -h | --help
Display help for this command
.
.
.TP
.B -d | --debug
Enable verbose output for debugging
.
.
.TP
.B -r | --report-uri \fR<value>\fP
Report the Open MPI contact information for the server. This information is
required for MPI jobs to use the data server. Three parameter values are supported:
(a) '-', indicating that the uri is to be printed to stdout; (b) '+', indicating that
the uri is to be printed to stderr; and (c) "file:path-to-file", indicating that
the uri is to be printed to the specified file. The "path-to-file" can be either
absolute or relative, but must be in a location where the user has write
permissions. Please note that the resulting file must be read-accessible to
expected users of the server.
.
.
.\" **************************
.\" Description Section
.\" **************************
.SH DESCRIPTION
.
.PP
\fIompi-server\fR acts as a data server for Open MPI jobs to exchange
contact information in support of MPI-2's Publish_name and Lookup_name
functions.
.
.\" **************************
.\" See Also Section
.\" **************************
.
.SH SEE ALSO
.

View File

@@ -0,0 +1,46 @@
.\" Man page contributed by Dirk Eddelbuettel <edd@debian.org>
.\" and released under the BSD license.
.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
.TH ORTED 1 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
orted - Start an Open RTE User-Level Daemon
.SH SYNOPSIS
.B orted [options]
.SH DESCRIPTION
.PP
.B orted
starts an Open RTE daemon for the Open MPI system.
.SH NOTE
The
.B orted
command is
.I not intended to be manually invoked by end users.
.
It is part of the Open MPI architecture and is invoked automatically
as necessary. This man page is mainly intended for those adventerous
end users and system administrators who have noticed an "orted"
process and wondered what it is.
.PP
As such, the command line options accepted by the
.B orted
are not listed below because they are considered internal and are
therefore subject to change between versions without warning.
Running
.B orted
with the
.I --help
command line option will show all available options.
.
.
.\" **************************
.\" Authors Section
.\" **************************
.SH AUTHORS
The Open MPI maintainers -- see
.I http://www.openmpi.org/
or the file
.IR AUTHORS .
.PP
This manual page was originally contributed by Dirk Eddelbuettel
<edd@debian.org>, one of the Debian GNU/Linux maintainers for Open
MPI, and may be used by others.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,194 @@
.\" -*- nroff -*-
.\" Copyright 2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" $COPYRIGHT$
.TH MPI 3 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
MPI \- General information Open MPI 4.0.1.
.SH MPI
.ft R
Open MPI is an open source implementation of MPI (message-passing
interface), the industry-standard specification for writing
message-passing programs. Message passing is a programming model that
gives the programmer explicit control over interprocess communication.
.sp
The MPI specification was developed by the MPI Forum, a group of
software developers, computer vendors, academics, and computer-science
researchers whose goal was to develop a standard for writing
message-passing programs that would be efficient, flexible, and
portable.
.sp
The outcome, known as the MPI Standard, was first published in 1993;
its most recent version (MPI-2) was published in July 1997. Open MPI
1.2 includes all MPI 1.2-compliant and MPI 2-compliant routines.
.sp
For more information about Open MPI, see the following URL:
.nf
http://www.open-mpi.org
.fi
.sp
The MPI standards are available at the following URL:
.nf
http://www.mpi-forum.org
.fi
.SH MAN PAGE SYNTAX
.ft R
Man pages for Open MPI and Open MPI I/O routines are named according to C syntax, that is, they begin with the prefix "MPI_", all in uppercase, and the first letter following the "MPI_" prefix is also uppercase. The rest of the letters in the routine are all lowercase, for example, "MPI_Comm_get_attr".
.SH ENVIRONMENT
.ft R
To fine-tune your Open MPI environment, you can either use arguments to the \fImpirun\fP, \fIorterun\fP, or \fImpiexec\fP commands, or you can use MCA parameters.
.sp
For more information on arguments, see the orterun.1 man page.
.sp
For a complete listing of MCA parameters and their descriptions, issue the command \fIompi_info -h\fP or \fIompi_info -param all all\fP. This information also appears in the FAQ on the Open MPI web site at:
.nf
http://www.open-mpi.org/faq/?category=tuning#mca-params
.fi
.SH ERRORS
.ft R
All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN
may be used to cause error values to be returned.
Note that MPI does not guarantee that an MPI program can continue past
an error.
.sp
For more information on Open MPI error codes, see \fImpi.h\fP in the \fIinclude\fP directory.
.sp
Standard error return classes for Open MPI:
.sp
.nf
MPI_SUCCESS 0 Successful return code.
MPI_ERR_BUFFER 1 Invalid buffer pointer.
MPI_ERR_COUNT 2 Invalid count argument.
MPI_ERR_TYPE 3 Invalid datatype argument.
MPI_ERR_TAG 4 Invalid tag argument.
MPI_ERR_COMM 5 Invalid communicator.
MPI_ERR_RANK 6 Invalid rank.
MPI_ERR_REQUEST 7 Invalid MPI_Request handle.
MPI_ERR_ROOT 8 Invalid root.
MPI_ERR_GROUP 9 Null group passed to function.
MPI_ERR_OP 10 Invalid operation.
MPI_ERR_TOPOLOGY 11 Invalid topology.
MPI_ERR_DIMS 12 Illegal dimension argument.
MPI_ERR_ARG 13 Invalid argument.
MPI_ERR_UNKNOWN 14 Unknown error.
MPI_ERR_TRUNCATE 15 Message truncated on receive.
MPI_ERR_OTHER 16 Other error; use Error_string.
MPI_ERR_INTERN 17 Internal error code.
MPI_ERR_IN_STATUS 18 Look in status for error value.
MPI_ERR_PENDING 19 Pending request.
MPI_ERR_ACCESS 20 Permission denied.
MPI_ERR_AMODE 21 Unsupported amode passed to open.
MPI_ERR_ASSERT 22 Invalid assert.
MPI_ERR_BAD_FILE 23 Invalid file name (for example,
path name too long).
MPI_ERR_BASE 24 Invalid base.
MPI_ERR_CONVERSION 25 An error occurred in a user-supplied
data-conversion function.
MPI_ERR_DISP 26 Invalid displacement.
MPI_ERR_DUP_DATAREP 27 Conversion functions could not
be registered because a data
representation identifier that was
already defined was passed to
MPI_REGISTER_DATAREP.
MPI_ERR_FILE_EXISTS 28 File exists.
MPI_ERR_FILE_IN_USE 29 File operation could not be
completed, as the file is currently
open by some process.
MPI_ERR_FILE 30 Invalid file handle.
MPI_ERR_INFO_KEY 31 Illegal info key.
MPI_ERR_INFO_NOKEY 32 No such key.
MPI_ERR_INFO_VALUE 33 Illegal info value.
MPI_ERR_INFO 34 Invalid info object.
MPI_ERR_IO 35 I/O error.
MPI_ERR_KEYVAL 36 Illegal key value.
MPI_ERR_LOCKTYPE 37 Invalid locktype.
MPI_ERR_NAME 38 Name not found.
MPI_ERR_NO_MEM 39 Memory exhausted.
MPI_ERR_NOT_SAME 40 Collective argument not identical
on all processes, or collective
routines called in a different order
by different processes.
MPI_ERR_NO_SPACE 41 Not enough space.
MPI_ERR_NO_SUCH_FILE 42 File (or directory) does not exist.
MPI_ERR_PORT 43 Invalid port.
MPI_ERR_QUOTA 44 Quota exceeded.
MPI_ERR_READ_ONLY 45 Read-only file system.
MPI_ERR_RMA_CONFLICT 46 Conflicting accesses to window.
MPI_ERR_RMA_SYNC 47 Erroneous RMA synchronization.
MPI_ERR_SERVICE 48 Invalid publish/unpublish.
MPI_ERR_SIZE 49 Invalid size.
MPI_ERR_SPAWN 50 Error spawning.
MPI_ERR_UNSUPPORTED_DATAREP
51 Unsupported datarep passed to
MPI_File_set_view.
MPI_ERR_UNSUPPORTED_OPERATION
52 Unsupported operation, such as
seeking on a file that supports
only sequential access.
MPI_ERR_WIN 53 Invalid window.
MPI_T_ERR_MEMORY 54 Out of memory.
MPI_T_ERR_NOT_INITIALIZED 55 Interface not initialized.
MPI_T_ERR_CANNOT_INIT 56 Interface not in the state to be
initialized.
MPI_T_ERR_INVALID_INDEX 57 The enumeration index is invalid.
MPI_T_ERR_INVALID_ITEM 58 The item index queried is out of
range.
MPI_T_ERR_INVALID_HANDLE 59 The handle is invalid.
MPI_T_ERR_OUT_OF_HANDLES 60 No more handles available.
MPI_T_ERR_OUT_OF_SESSIONS 61 No more sessions available.
MPI_T_ERR_INVALID_SESSION 62 Session argument is not a valid
session.
MPI_T_ERR_CVAR_SET_NOT_NOW
63 Variable cannot be set at this
moment.
MPI_T_ERR_CVAR_SET_NEVER 64 Variable cannot be set until end of
execution.
MPI_T_ERR_PVAR_NO_STARTSTOP
65 Variable cannot be started or stopped.
MPI_T_ERR_PVAR_NO_WRITE 66 Variable cannot be written or reset.
MPI_T_ERR_PVAR_NO_ATOMIC 67 Variable cannot be read and written
atomically.
MPI_ERR_RMA_RANGE 68 Target memory is not part of the
window (in the case of a window
created with MPI_WIN_CREATE_DYNAMIC,
target memory is not attached).
MPI_ERR_RMA_ATTACH 69 Memory cannot be attached (e.g.,
because of resource exhaustion).
MPI_ERR_RMA_FLAVOR 70 Passed window has the wrong flavor
for the called function.
MPI_ERR_RMA_SHARED 71 Memory cannot be shared (e.g., some
process in the group of the specified
communicator cannot expose shared
memory).
MPI_T_ERR_INVALID 72 Invalid use of the interface or bad
parameter values(s).
MPI_T_ERR_INVALID_NAME 73 The variable or category name is
invalid.
MPI_ERR_LASTCODE 93 Last error code.
.fi

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1,156 @@
.\" -*- nroff -*-
.\" Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
.\" $COPYRIGHT$
.TH MPIX_Barrier_init 3 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
\fBMPIX_Allgather_init, MPIX_Allgatherv_init, MPIX_Allreduce_init, MPIX_Alltoall_init, MPIX_Alltoallv_init, MPIX_Alltoallw_init, MPIX_Barrier_init, MPIX_Bcast_init, MPIX_Exscan_init, MPIX_Gather_init, MPIX_Gatherv_init, MPIX_Reduce_init, MPIX_Reduce_scatter_init, MPIX_Reduce_scatter_block_init, MPIX_Scan_init, MPIX_Scatter_init, MPIX_Scatterv_init, MPIX_Neighbor_allgather_init, MPIX_Neighbor_allgatherv_init, MPIX_Neighbor_alltoall_init, MPIX_Neighbor_alltoallv_init, MPIX_Neighbor_alltoallw_init\fP \- Builds a handle for a collective communication or neighborhood collective communication
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
#include <mpi-ext.h>
int MPIX_Allgather_init(const void *\fIsendbuf\fP, int \fIsendcount\fP,
MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP,
MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Allgatherv_init(const void *\fIsendbuf\fP, int \fIsendcount\fP,
MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[],
const int \fIdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP,
MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP)
int MPIX_Allreduce_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP,
MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Alltoall_init(const void *\fIsendbuf\fP, int \fIsendcount\fP,
MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP,
MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Alltoallv_init(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[],
const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP,
const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP,
MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP)
int MPIX_Alltoallw_init(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[],
const int \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], void *\fIrecvbuf\fP,
const int \fIrecvcounts\fP[], const int \fIrdispls\fP[],
const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Barrier_init(MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Bcast_init(void *\fIbuffer\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP,
int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP)
int MPIX_Exscan_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP,
MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Gather_init(const void *\fIsendbuf\fP, int \fIsendcount\fP,
MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP,
MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Gatherv_init(const void *\fIsendbuf\fP, int \fIsendcount\fP,
MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[],
const int \fIdispls\fP[], MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP,
MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP)
int MPIX_Reduce_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP,
MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP,
MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP)
int MPIX_Reduce_scatter_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP,
const int \fIrecvcounts\fP[], MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP,
MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP)
int MPIX_Reduce_scatter_block_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP,
int \fIrecvcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP,
MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP)
int MPIX_Scan_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP,
MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Scatter_init(const void *\fIsendbuf\fP, int \fIsendcount\fP,
MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP,
MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Scatterv_init(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[],
const int \fIdispls\fP[], MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP,
int \fIrecvcount\fP, MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP,
MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP)
int MPIX_Neighbor_allgather_init(const void *\fIsendbuf\fP, int \fIsendcount\fP,
MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP,
MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Neighbor_allgatherv_init(const void *\fIsendbuf\fP, int \fIsendcount\fP,
MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[],
const int \fIdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP,
MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP)
int MPIX_Neighbor_alltoall_init(const void *\fIsendbuf\fP, int \fIsendcount\fP,
MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP,
MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Neighbor_alltoallv_init(const void *\fIsendbuf\fP,
const int \fIsendcounts\fP[], const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP,
void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const int \fIrdispls\fP[],
MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
int MPIX_Neighbor_alltoallw_init(const void *\fIsendbuf\fP,
const int \fIsendcounts\fP[], const MPI_Aint \fIsdispls\fP[],
const MPI_Datatype \fIsendtypes\fP[], void *\fIrecvbuf\fP,
const int \fIrecvcounts\fP[], const MPI_Aint \fIrdispls\fP[],
const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP,
MPI_Request *\fIrequest\fP)
.fi
.SH DESCRIPTION
.ft R
Creates a persistent communication request for a collective operation or neighborhood collective operation.
As of Nov. 2018, the feature of persistent collective communication operations and persistent collective neighborhood communication operations is planned to be included in the next MPI Standard after MPI-3.1.
.nf
https://github.com/mpi-forum/mpi-issues/issues/25
.fi
Open MPI implements 2018 Draft Specification of the MPI standard shown in the following URL.
.nf
https://www.mpi-forum.org/docs/drafts/mpi-2018-draft-report.pdf
.fi
The interface may still change in the standard. Therefore the prefix \fIMPIX_\fP is used instead of \fIMPI_\fP for these request creation routines. To start, complete, and free the created request, usual MPI routines (\fIMPI_Start\fP etc.) can be used.
Future versions of Open MPI will switch to the \fIMPI_\fP prefix and will not require the C header file \fImpi-ext.h\fP, the Fortran modules \fImpi_ext\fP and \fImpi_f08_ext\fP, and the Fortran header file \fImpif-ext.h\fP once the MPI Standard which includes this feature is published.
.SH EXAMPLE
.nf
MPI_Request req;
MPIX_Barrier_init(MPI_COMM_WORLD, MPI_INFO_NULL, &req);
MPI_Start(&req);
MPI_Wait(&req, MPI_STATUS_IGNORE);
MPI_Request_free(&req);
.fi
.SH SEE ALSO
.ft R
.sp
MPI_Start
.br
MPI_Startall
.br
MPI_Request_free

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1,28 @@
.\" Copyright 2007-2010 Oracle and/or its affiliates. All rights reserved.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright (c) 2015 NVIDIA, Inc. All rights reserved.
.TH MPIx_CUDA_SUPPORT 3 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
\fBMPIX_Query_cuda_support\fP \- Returns 1 if there is CUDA aware support and 0 if there is not.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
#include <mpi-ext.h>
int MPIX_Query_cuda_support(void)
.fi
.SH DESCRIPTION
.ft R
.SH Examples
.ft R
.SH See Also
.ft R
.nf
.fi

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1 @@
.so man3/MPIX_Barrier_init.3

View File

@@ -0,0 +1,51 @@
.\" -*- nroff -*-
.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" $COPYRIGHT$
.TH MPI_Abort 3 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
\fBMPI_Abort\fP \- Terminates MPI execution environment.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Abort(MPI_Comm \fIcomm\fP, int\fI errorcode\fP)
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
comm
Communicator of tasks to abort.
.TP 1i
errorcode
Error code to return to invoking environment.
.SH OUTPUT PARAMETER
.ft R
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
This routine makes a "best attempt" to abort all tasks in the group of
comm. This function does not require that the invoking environment take any
action with the error code. However, a UNIX or POSIX
environment should handle this as a return errorcode from the main program
or an abort (errorcode).
.sp
The long-term goal of the Open MPI implementation is to terminate all processes in all tasks that contain a process in \fIcomm\fP, and the error code is not returned to the invoking environment. At the moment, this isn't fully implemented and MPI_Abort will terminate the entire job.
.sp
Note: All associated processes are sent a SIGTERM.
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object.
.sp
Before the error value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler
may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error.

View File

@@ -0,0 +1,119 @@
.\" -*- nroff -*-
.\" Copyright 2013-2014 Los Alamos National Security, LLC. All rights reserved.
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" $COPYRIGHT$
.TH MPI_Accumulate 3 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
\fBMPI_Accumulate\fP, \fBMPI_Raccumulate\fP \- Combines the contents of the origin buffer with that of a target buffer.
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Accumulate(const void *\fIorigin_addr\fP, int \fIorigin_count\fP,
MPI_Datatype \fIorigin_datatype\fP, int \fItarget_rank\fP,
MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP,
MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP)
int MPI_Raccumulate(const void *\fIorigin_addr\fP, int \fIorigin_count\fP,
MPI_Datatype \fIorigin_datatype\fP, int \fItarget_rank\fP,
MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP,
MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP,
MPI_Request *\fIrequest\fP)
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1i
origin_addr
Initial address of buffer (choice).
.ft R
.TP 1i
origin_count
Number of entries in buffer (nonnegative integer).
.ft R
.TP 1i
origin_datatype
Data type of each buffer entry (handle).
.ft R
.TP 1i
target_rank
Rank of target (nonnegative integer).
.ft R
.TP 1i
target_disp
Displacement from start of window to beginning of target buffer (nonnegative integer).
.ft R
.TP 1i
target_count
Number of entries in target buffer (nonnegative integer).
.ft R
.TP 1i
target_datatype
Data type of each entry in target buffer (handle).
.ft R
.TP 1i
op
Reduce operation (handle).
.ft R
.TP 1i
win
Window object (handle).
.SH OUTPUT PARAMETER
.ft R
.TP 1i
MPI_Raccumulate: RMA request
.TP 1i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
\fBMPI_Accumulate\fP is a function used for one-sided MPI communication that adds the contents of the origin buffer (as defined by \fIorigin_addr\fP, \fIorigin_count\fP, and \fIorigin_datatype\fP) to the buffer specified by the arguments \fItarget_count\fP and \fItarget_datatype\fP, at offset \fItarget_disp\fP, in the target window specified by \fItarget_rank\fP and \fIwin\fP, using the operation \fIop\fP. The target window can only be accessed by processes within the same node. This is similar to MPI_Put, except that data is combined into the target area instead of overwriting it.
.sp
Any of the predefined operations for MPI_Reduce can be used. User-defined functions cannot be used. For example, if \fIop\fP is MPI_SUM, each element of the origin buffer is added to the corresponding element in the target, replacing the former value in the target.
.sp
Each datatype argument must be a predefined data type or a derived data type, where all basic components are of the same predefined data type. Both datatype arguments must be constructed from the same predefined data type. The operation \fIop\fP applies to elements of that predefined type. The \fItarget_datatype\fP argument must not specify overlapping entries, and the target buffer must fit in the target window.
.sp
A new predefined operation, MPI_REPLACE, is defined. It corresponds to the associative function f(a, b) =b; that is, the current value in the target memory is replaced by the value supplied by the origin.
.sp
\fBMPI_Raccumulate\fP is similar to \fBMPI_Accumulate\fP, except that it allocates a communication request object and associates it with the request handle (the argument \fIrequest\fP) that can be used to wait or test for completion. The completion of an \fBMPI_Raccumulate\fP operation indicates that the \fIorigin_addr\fP buffer is free to be updated. It does not indicate that the operation has completed at the target window.
.SH FORTRAN 77 NOTES
.ft R
The MPI standard prescribes portable Fortran syntax for
the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77
users may use the non-portable syntax
.sp
.nf
INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP
.fi
.sp
where MPI_ADDRESS_KIND is a constant defined in mpif.h
and gives the length of the declared integer in bytes.
.SH NOTES
MPI_Put is a special case of \fBMPI_Accumulate\fP, with the operation MPI_REPLACE. Note, however, that MPI_Put and \fBMPI_Accumulate\fP have different constraints on concurrent updates.
.sp
It is the user's responsibility to guarantee that, when
using the accumulate functions, the target displacement argument is such
that accesses to the window are properly aligned according to the data
type arguments in the call to the \fBMPI_Accumulate\fP function.
.SH ERRORS
Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object.
.sp
Before the error value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler
may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error.
.SH SEE ALSO
.ft R
.sp
MPI_Put
MPI_Get_accumulate
MPI_Reduce

View File

@@ -0,0 +1,77 @@
.\" -*- nroff -*-
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" $COPYRIGHT$
.TH MPI_Add_error_class 3 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
.nf
\fBMPI_Add_error_class\fP \- Creates a new error class and returns its value
.fi
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Add_error_class(int *\fIerrorclass\fP)
.fi
.SH OUTPUT PARAMETERS
.ft R
.TP 1.4i
errorclass
New error class (integer).
.ft R
.TP 1.4i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
The function MPI_Add_error_class creates a new, local error
class.
.SH NOTES
.ft R
Because this function is local, the same value of \fIerrorclass\fP may
not be returned on all processes that make this call, even if they
call the function concurrently. Thus, same error on different
processes may not cause the same value of \fIerrorclass\fP to be
returned. To reduce the potential for confusion, MPI_Add_error_string
may be used on multiple processes to associate the same error string
with the newly created \fIerrorclass\fP. Even though \fIerrorclass\fP
may not be consistent across processes, using MPI_Add_error_string
will ensure the error string associated with it will be the same
everywhere.
.sp
No function is provided to free error classes, as it is not expected
that an application will create them in significant numbers.
.sp
The value returned is always greater than or equal to MPI_ERR_LASTCODE.
.SH ERRORS
.ft R
Almost all MPI routines return an error value; C routines as
the value of the function and Fortran routines in the last argument. C++
functions do not return errors. If the default error handler is set to
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
will be used to throw an MPI::Exception object.
.sp
Before the error value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job, except for
I/O function errors. The error handler may be changed with
MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN
may be used to cause error values to be returned. Note that MPI does not
guarantee that an MPI program can continue past an error.
.SH SEE ALSO
.ft R
.nf
MPI_Add_error_code
MPI_Add_error_string
MPI_Error_class
MPI_Error_string

View File

@@ -0,0 +1,69 @@
.\" -*- nroff -*-
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" $COPYRIGHT$
.TH MPI_Add_error_code 3 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
\fBMPI_Add_error_code\fP \- Creates a new error code associated
with \fIerrorclass\fP
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Add_error_code(int \fIerrorclass\fP, int *\fIerrorcode\fP)
.fi
.SH INPUT PARAMETER
.ft R
.TP 1.4i
errorclass
MPI error class (integer).
.SH OUTPUT PARAMETERS
.ft R
.TP 1.4i
errorcode
Error code returned by an MPI routine or an MPI error class (integer).
.ft R
.TP 1.4i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
Creates a new error code associated with \fIerrorclass\fP and returns
its value in \fIerrorcode\fP.
.SH NOTES
.ft R
No function is provided to free error codes, as it is not expected
that an application will create them in significant numbers.
.sp
The value returned is always greater than or equal to MPI_ERR_LASTCODE.
.SH ERRORS
.ft R
Almost all MPI routines return an error value; C routines as
the value of the function and Fortran routines in the last argument. C++
functions do not return errors. If the default error handler is set to
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
will be used to throw an MPI::Exception object.
.sp
Before the error value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job, except for
I/O function errors. The error handler may be changed with
MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN
may be used to cause error values to be returned. Note that MPI does not
guarantee that an MPI program can continue past an error.
.SH SEE ALSO
.ft R
.nf
MPI_Add_error_class
MPI_Error_class

View File

@@ -0,0 +1,72 @@
.\" -*- nroff -*-
.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved.
.\" Copyright 2010 Cisco Systems, Inc. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" $COPYRIGHT$
.TH MPI_Add_error_string 3 "Mar 26, 2019" "4.0.1" "Open MPI"
.SH NAME
.nf
\fBMPI_Add_error_string\fP \- Associates a string with an error code or class
.fi
.SH SYNTAX
.ft R
.SH C Syntax
.nf
#include <mpi.h>
int MPI_Add_error_string(int \fIerrorcode\fP, const char *\fIstring\fP)
.fi
.SH INPUT PARAMETERS
.ft R
.TP 1.4i
errorcode
MPI error class, or an error code returned by an MPI routine (integer).
.ft R
.TP 1.4i
string
Text that corresponds to the error code or class (string).
.SH OUTPUT PARAMETER
.ft R
.TP 1.4i
IERROR
Fortran only: Error status (integer).
.SH DESCRIPTION
.ft R
This routine associates an error string with an error code or
class. Calling MPI_Add_error_string for an error code or class that
already has an associated error string will replace the old string
with the new one. It is erroneous to call MPI_Add_error_string for an
error value not generated via MPI_Add_error_class or
MPI_Add_error_code (e.g., an error code or class with a value not
greater than MPI_LAST_ERRCODE).
.SH ERRORS
.ft R
Almost all MPI routines return an error value; C routines as
the value of the function and Fortran routines in the last argument. C++
functions do not return errors. If the default error handler is set to
MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
will be used to throw an MPI::Exception object.
.sp
Before the error value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job, except for
I/O function errors. The error handler may be changed with
MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN
may be used to cause error values to be returned. Note that MPI does not
guarantee that an MPI program can continue past an error.
.SH SEE ALSO
.ft R
.nf
MPI_Add_error_class
MPI_Add_error_code
MPI_Error_class
MPI_Error_string

Some files were not shown because too many files have changed in this diff Show More