1
1

fortran: revert Absoft-based fixes

Rever r32246, r32254, and 32255 -- they were fixing side-effects of
the real bug.  Real fix coming after this one.

This commit was SVN r32286.

The following SVN revision numbers were found above:
  r32246 --> open-mpi/ompi@08d2a1a48d
  r32254 --> open-mpi/ompi@232d4dbb7b
Этот коммит содержится в:
Jeff Squyres 2014-07-22 21:49:22 +00:00
родитель ac2621debf
Коммит 4da3c85b54
7 изменённых файлов: 19 добавлений и 237 удалений

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

@ -1,101 +0,0 @@
dnl -*- shell-script -*-
dnl
dnl Copyright (c) 2014 Research Organization for Information Science
dnl and Technology (RIST). All rights reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
dnl
dnl $HEADER$
dnl
# Check whether or not the Fortran compiler supports subroutines with
# the BIND(C, NAME="name") parameter and optional arguments or not,
# and we (generally) don't need wrapper subroutines.
# OMPI_FORTRAN_CHECK_BIND_C_WITH_OPTIONAL_ARGS([action if found],
# [action if not found])
# ----------------------------------------------------
AC_DEFUN([OMPI_FORTRAN_CHECK_BIND_C_WITH_OPTIONAL_ARGS],[
unset happy
OPAL_VAR_SCOPE_PUSH([happy ompi_conftest_h])
AC_CACHE_CHECK(
[if Fortran compiler supports BIND(C, NAME="name") subroutine with optional arguments],
[ompi_cv_fortran_bind_c_with_optional_args],
[ompi_cv_fortran_bind_c_with_optional_args=no
cat > conftestf.f90 <<EOF
program check_for_bind_c_with_optional
use, intrinsic :: iso_c_binding
interface
subroutine check_op(i, ierror) BIND(C, name="check_op")
integer, intent(in), value :: i
integer, intent(out), optional :: ierror
end subroutine check_op
end interface
integer :: ierror
call check_op(0)
call check_op(1, ierror)
end program
EOF
# C module
if test -f conftest.h; then
ompi_conftest_h="#include \"conftest.h\""
else
ompi_conftest_h=""
fi
cat > conftest.c <<EOF
#include <stdio.h>
#include <stdlib.h>
$ompi_conftest_h
#ifdef __cplusplus
extern "C" {
#endif
void check_op(int, int *);
void check_op(int has_op, int *ierror)
{
/* Force a segv if the conditions are wrong */
char *bogus = 0;
if (0 == has_op) {
/* won't have optional argument */
if (NULL != ierror) *bogus= 13;
} else {
/* will have optional argument */
if (NULL == ierror) *bogus= 13;
*ierror = 33;
}
}
#ifdef __cplusplus
}
#endif
EOF
OPAL_LOG_COMMAND([$CC $CFLAGS -I. -c conftest.c],
[OPAL_LOG_COMMAND([$FC $FCFLAGS conftestf.f90 conftest.o -o conftest $LDFLAGS $LIBS],
[happy="yes"], [happy="no"])],
[happy="c_fail"])
AS_IF([test "$happy" = "c_fail"],
[AC_MSG_RESULT([error])
AC_MSG_ERROR([This error should not happen -- contact the Open MPI developers])
])
AS_IF([test "$cross_compiling" = "yes"],
[AC_MSG_RESULT([cross-compiling])
AC_MSG_ERROR([Cannot determine if Fortran compiler supports optional arguments when cross-compiling])],
[OPAL_LOG_COMMAND([./conftest],
[ompi_cv_fortran_bind_c_with_optional_args=yes])
])
rm -f conftest*
])dnl
AS_VAR_COPY([happy], [ompi_cv_fortran_bind_c_with_optional_args])
AS_IF([test "$happy" = "yes"], [$1], [$2])
OPAL_VAR_SCOPE_POP
])

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

@ -15,8 +15,6 @@
# Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights # Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights
# reserved. # reserved.
# Copyright (c) 2009 Oak Ridge National Labs. All rights reserved. # Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
# Copyright (c) 2014 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$ # $COPYRIGHT$
# #
# Additional copyrights may follow # Additional copyrights may follow
@ -38,7 +36,6 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
OMPI_FORTRAN_HAVE_IGNORE_TKR=0 OMPI_FORTRAN_HAVE_IGNORE_TKR=0
OMPI_FORTRAN_HAVE_OPTIONAL_ARGS=0 OMPI_FORTRAN_HAVE_OPTIONAL_ARGS=0
OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS=0
OMPI_FORTRAN_HAVE_BIND_C=0 OMPI_FORTRAN_HAVE_BIND_C=0
OMPI_FORTRAN_HAVE_ISO_C_BINDING=0 OMPI_FORTRAN_HAVE_ISO_C_BINDING=0
OMPI_FORTRAN_HAVE_BIND_C_SUB=0 OMPI_FORTRAN_HAVE_BIND_C_SUB=0
@ -388,16 +385,6 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
[OMPI_FORTRAN_HAVE_OPTIONAL_ARGS=0 [OMPI_FORTRAN_HAVE_OPTIONAL_ARGS=0
OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS=0])]) OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS=0])])
OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS=0
AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 -a \
$OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS -eq 1 -a \
$OMPI_FORTRAN_HAVE_BIND_C_TYPE_NAME -eq 1 -a \
$OMPI_FORTRAN_HAVE_OPTIONAL_ARGS -eq 1],
[ # Does the compiler have optional arguments?
OMPI_FORTRAN_CHECK_BIND_C_WITH_OPTIONAL_ARGS(
[OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS=1],
[OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS=0])])
OMPI_FORTRAN_HAVE_PRIVATE=0 OMPI_FORTRAN_HAVE_PRIVATE=0
AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 -a \ AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 -a \
$OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS -eq 1], $OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS -eq 1],
@ -661,9 +648,6 @@ end type test_mpi_handle],
AC_DEFINE_UNQUOTED([OMPI_FORTRAN_HAVE_OPTIONAL_ARGS], AC_DEFINE_UNQUOTED([OMPI_FORTRAN_HAVE_OPTIONAL_ARGS],
[$OMPI_FORTRAN_HAVE_OPTIONAL_ARGS], [$OMPI_FORTRAN_HAVE_OPTIONAL_ARGS],
[For ompi_info: whether the Fortran compiler supports optional arguments or not]) [For ompi_info: whether the Fortran compiler supports optional arguments or not])
AC_DEFINE_UNQUOTED([OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS],
[$OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS],
[For ompi_info: whether the Fortran compiler supports BIND(C, NAME="name") subroutine with optional arguments or not])
# For configure-fortran-output.h, mpi-f08-types.F90 (and ompi_info) # For configure-fortran-output.h, mpi-f08-types.F90 (and ompi_info)
AC_SUBST([OMPI_FORTRAN_HAVE_PRIVATE]) AC_SUBST([OMPI_FORTRAN_HAVE_PRIVATE])
@ -700,10 +684,6 @@ end type test_mpi_handle],
# For configure-fortran-output.h # For configure-fortran-output.h
AC_SUBST(OMPI_FORTRAN_HAVE_BIND_C) AC_SUBST(OMPI_FORTRAN_HAVE_BIND_C)
# For configure-fortran-output.h, various files in
# ompi/mpi/fortran/use-mpi-f08/*.F90 and *.h files (and ompi_info)
AC_SUBST(OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS)
# Somewhat redundant because ompi/Makefile.am won't traverse into # Somewhat redundant because ompi/Makefile.am won't traverse into
# ompi/mpi/fortran/use-mpi-f08 if it's not to be built, but we # ompi/mpi/fortran/use-mpi-f08 if it's not to be built, but we

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

@ -3,8 +3,6 @@
! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. ! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC. ! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved. ! All rights reserved.
! Copyright (c) 2014 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! !
! $COPYRIGHT$ ! $COPYRIGHT$
! !
@ -43,9 +41,6 @@
! Whether we are building the MPI F08 bindings with subarray support or not ! Whether we are building the MPI F08 bindings with subarray support or not
#define OMPI_FORTRAN_SUBARRAYS_SUPPORTED @OMPI_FORTRAN_SUBARRAYS_SUPPORTED@ #define OMPI_FORTRAN_SUBARRAYS_SUPPORTED @OMPI_FORTRAN_SUBARRAYS_SUPPORTED@
! Whether we have BIND(C, NAME="name") subroutine with optional parameters or not
#define OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS @OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS@
! Line 1 of the ignore TKR syntax ! Line 1 of the ignore TKR syntax
! ...JMS not figured out yet... ! ...JMS not figured out yet...

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

@ -7,8 +7,6 @@
! of Tennessee Research Foundation. All rights ! of Tennessee Research Foundation. All rights
! reserved. ! reserved.
! Copyright (c) 2012 Inria. All rights reserved. ! Copyright (c) 2012 Inria. All rights reserved.
! Copyright (c) 2014 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$ ! $COPYRIGHT$
! !
! This file provides the interface specifications for the MPI Fortran ! This file provides the interface specifications for the MPI Fortran
@ -2428,7 +2426,6 @@ subroutine ompi_win_post_f(group,assert,win,ierror) &
INTEGER, INTENT(OUT) :: ierror INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_win_post_f end subroutine ompi_win_post_f
#if OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS
subroutine ompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,& subroutine ompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
ierror) BIND(C, name="ompi_win_shared_query_f") ierror) BIND(C, name="ompi_win_shared_query_f")
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
@ -2440,31 +2437,6 @@ subroutine ompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
TYPE(C_PTR), INTENT(OUT) :: baseptr TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, OPTIONAL, INTENT(OUT) :: ierror INTEGER, OPTIONAL, INTENT(OUT) :: ierror
end subroutine ompi_win_shared_query_f end subroutine ompi_win_shared_query_f
#else
subroutine ompi_win_shared_query_f_error(win, rank, size, disp_unit, baseptr,&
ierror) BIND(C, name="ompi_win_shared_query_f")
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(IN) :: rank
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: size
INTEGER, INTENT(OUT) :: disp_unit
TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, INTENT(OUT) :: ierror
end subroutine ompi_win_shared_query_f_error
subroutine ompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
ierror)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
implicit none
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(IN) :: rank
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: size
INTEGER, INTENT(OUT) :: disp_unit
TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
end subroutine ompi_win_shared_query_f
#endif
subroutine ompi_win_start_f(group,assert,win,ierror) & subroutine ompi_win_start_f(group,assert,win,ierror) &
BIND(C, name="ompi_win_start_f") BIND(C, name="ompi_win_start_f")

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

@ -13,8 +13,6 @@
! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. ! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC. ! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved. ! All rights reserved.
! Copyright (c) 2014 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$ ! $COPYRIGHT$
! !
! Additional copyrights may follow ! Additional copyrights may follow
@ -47,39 +45,3 @@ module mpi_f08
include "conversion-fn-null-f08-interface.h" include "conversion-fn-null-f08-interface.h"
end module mpi_f08 end module mpi_f08
#if ! OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS
subroutine ompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
ierror)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
use :: mpi_f08, only : ompi_win_shared_query_f_error
implicit none
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(IN) :: rank
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: size
INTEGER, INTENT(OUT) :: disp_unit
TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
INTEGER :: cerror
call ompi_win_shared_query_f_error(win, rank, size, disp_unit, baseptr, cerror)
if (present(ierror)) ierror = cerror
end subroutine ompi_win_shared_query_f
subroutine pompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
ierror)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
use :: mpi_f08, only : pompi_win_shared_query_f_error
implicit none
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(IN) :: rank
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: size
INTEGER, INTENT(OUT) :: disp_unit
TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
INTEGER :: cerror
call pompi_win_shared_query_f_error(win, rank, size, disp_unit, baseptr, cerror)
if (present(ierror)) ierror = cerror
end subroutine pompi_win_shared_query_f
#endif

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

@ -7,8 +7,6 @@
! of Tennessee Research Foundation. All rights ! of Tennessee Research Foundation. All rights
! reserved. ! reserved.
! Copyright (c) 2012 Inria. All rights reserved. ! Copyright (c) 2012 Inria. All rights reserved.
! Copyright (c) 2014 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
! $COPYRIGHT$ ! $COPYRIGHT$
! !
! This file provides the interface specifications for the MPI Fortran ! This file provides the interface specifications for the MPI Fortran
@ -2265,9 +2263,8 @@ subroutine pompi_win_post_f(group,assert,win,ierror) &
INTEGER, INTENT(OUT) :: ierror INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_post_f end subroutine pompi_win_post_f
#if OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS
subroutine pompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,& subroutine pompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
ierror) BIND(C, name="pompi_win_shared_query_f") ierror) BIND(C, name="ompi_win_shared_query_f")
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
use :: mpi_f08_types, only : MPI_ADDRESS_KIND use :: mpi_f08_types, only : MPI_ADDRESS_KIND
INTEGER, INTENT(IN) :: win INTEGER, INTENT(IN) :: win
@ -2277,31 +2274,6 @@ subroutine pompi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
TYPE(C_PTR), INTENT(OUT) :: baseptr TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, OPTIONAL, INTENT(OUT) :: ierror INTEGER, OPTIONAL, INTENT(OUT) :: ierror
end subroutine pompi_win_shared_query_f end subroutine pompi_win_shared_query_f
#else
subroutine pompi_win_shared_query_f_error(win, rank, size, disp_unit, baseptr,&
ierror) BIND(C, name="ompi_win_shared_query_f")
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(IN) :: rank
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: size
INTEGER, INTENT(OUT) :: disp_unit
TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, INTENT(OUT) :: ierror
end subroutine pompi_win_shared_query_f_error
subroutine pmpi_win_shared_query_f(win, rank, size, disp_unit, baseptr,&
ierror)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
use :: mpi_f08_types, only : MPI_ADDRESS_KIND
INTEGER, INTENT(IN) :: win
INTEGER, INTENT(IN) :: rank
INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: size
INTEGER, INTENT(OUT) :: disp_unit
TYPE(C_PTR), INTENT(OUT) :: baseptr
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
end subroutine pmpi_win_shared_query_f
#endif
subroutine pompi_win_start_f(group,assert,win,ierror) & subroutine pompi_win_start_f(group,assert,win,ierror) &
BIND(C, name="pompi_win_start_f") BIND(C, name="pompi_win_start_f")

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

@ -857,50 +857,51 @@ were placed to begin with.
. .
.PP .PP
To bind processes, one must first associate them with the resources To bind processes, one must first associate them with the resources
on which they should run. For example, the \fI-bycore\fP option on which they should run. For example, the \fI--map-by core\fP option
associates the processes on a node with successive cores. Or, associates the processes on a node with successive cores. Or,
\fI-bysocket\fP associates the processes with successive processor sockets, \fI--map-by socket\fP associates the processes with successive processor sockets,
cycling through the sockets in a round-robin fashion if necessary. cycling through the sockets in a round-robin fashion if necessary.
And \fI-cpus-per-proc\fP indicates how many cores to bind per process. And \fI-cpus-per-proc\fP indicates how many cores to bind per process.
. .
.PP .PP
But, such association is meaningless unless the processes are actually But, such association is meaningless unless the processes are actually
bound to those resources. The binding option specifies the granularity bound to those resources. The binding option specifies the granularity
of binding -- say, with \fI-bind-to-core\fP or \fI-bind-to-socket\fP. of binding -- say, with \fI-bind-to core\fP or \fI-bind-to socket\fP.
One can also turn binding off with \fI-bind-to-none\fP, which is One can also turn binding off with \fI-bind-to none\fP, which is
typically the default. typically the default.
.\" JMS ^^ THE ABOVE STATEMENT IS NO LONGER TRUE.
. .
.PP .PP
Finally, \fI-report-bindings\fP can be used to report bindings. Finally, \fI--report-bindings\fP can be used to report bindings.
. .
.PP .PP
As an example, consider a node with two processor sockets, each comprising As an example, consider a node with two processor sockets, each comprising
four cores. We run \fImpirun\fP with \fI-np 4 -report-bindings\fP and four cores. We run \fImpirun\fP with \fI-np 4 --report-bindings\fP and
the following additional options: the following additional options:
. .
% mpirun ... -bycore -bind-to-core % mpirun ... --map-by core --bind-to core
[...] ... binding child [...,0] to cpus 0001 [...] ... binding child [...,0] to cpus 0001
[...] ... binding child [...,1] to cpus 0002 [...] ... binding child [...,1] to cpus 0002
[...] ... binding child [...,2] to cpus 0004 [...] ... binding child [...,2] to cpus 0004
[...] ... binding child [...,3] to cpus 0008 [...] ... binding child [...,3] to cpus 0008
% mpirun ... -bysocket -bind-to-socket % mpirun ... --map-by socket -0bind-to socket
[...] ... binding child [...,0] to socket 0 cpus 000f [...] ... binding child [...,0] to socket 0 cpus 000f
[...] ... binding child [...,1] to socket 1 cpus 00f0 [...] ... binding child [...,1] to socket 1 cpus 00f0
[...] ... binding child [...,2] to socket 0 cpus 000f [...] ... binding child [...,2] to socket 0 cpus 000f
[...] ... binding child [...,3] to socket 1 cpus 00f0 [...] ... binding child [...,3] to socket 1 cpus 00f0
% mpirun ... -cpus-per-proc 2 -bind-to-core % mpirun ... --map-by core:PE=2 -bind-to core
[...] ... binding child [...,0] to cpus 0003 [...] ... binding child [...,0] to cpus 0003
[...] ... binding child [...,1] to cpus 000c [...] ... binding child [...,1] to cpus 000c
[...] ... binding child [...,2] to cpus 0030 [...] ... binding child [...,2] to cpus 0030
[...] ... binding child [...,3] to cpus 00c0 [...] ... binding child [...,3] to cpus 00c0
% mpirun ... -bind-to-none % mpirun ... --bind-to none
. .
.PP .PP
Here, \fI-report-bindings\fP shows the binding of each process as a mask. Here, \fI--report-bindings\fP shows the binding of each process as a mask.
In the first case, the processes bind to successive cores as indicated by In the first case, the processes bind to successive cores as indicated by
the masks 0001, 0002, 0004, and 0008. In the second case, processes bind the masks 0001, 0002, 0004, and 0008. In the second case, processes bind
to all cores on successive sockets as indicated by the masks 000f and 00f0. to all cores on successive sockets as indicated by the masks 000f and 00f0.
@ -925,11 +926,12 @@ The correspondences are:
mpirun option MCA parameter key value mpirun option MCA parameter key value
-bycore rmaps_base_schedule_policy core --map-by core rmaps_base_schedule_policy core
-bysocket rmaps_base_schedule_policy socket --map-by socket rmaps_base_schedule_policy socket
-bind-to-core orte_process_binding core --bind-to core orte_process_binding core
-bind-to-socket orte_process_binding socket --bind-to socket orte_process_binding socket
-bind-to-none orte_process_binding none --bind-to none orte_process_binding none
.\" JMS I DON'T KNOW IF THESE ARE STILL THE RIGHT MCA PARAM NAMES
. .
.PP .PP
The \fIorte_process_binding\fP value can also take on the The \fIorte_process_binding\fP value can also take on the