|
Packit |
857059 |
Copyright (c) 2017, Intel Corporation
|
|
Packit |
857059 |
All rights reserved.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Redistribution and use in source and binary forms, with or without modification,
|
|
Packit |
857059 |
are permitted provided that the following conditions are met:
|
|
Packit |
857059 |
- Redistributions of source code must retain the above copyright notice,
|
|
Packit |
857059 |
this list of conditions and the following disclaimer.
|
|
Packit |
857059 |
- Redistributions in binary form must reproduce the above copyright notice,
|
|
Packit |
857059 |
this list of conditions and the following disclaimer in the documentation
|
|
Packit |
857059 |
and/or other materials provided with the distribution.
|
|
Packit |
857059 |
- Neither the name of Intel Corporation nor the names of its contributors may
|
|
Packit |
857059 |
be used to endorse or promote products derived from this software without
|
|
Packit |
857059 |
specific prior written permission.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
Packit |
857059 |
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
Packit |
857059 |
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
Packit |
857059 |
ARE DISCLAIMED. IN NO EVENT SHALL INTEL, THE COPYRIGHT OWNER OR CONTRIBUTORS
|
|
Packit |
857059 |
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
Packit |
857059 |
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
Packit |
857059 |
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
Packit |
857059 |
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
Packit |
857059 |
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
Packit |
857059 |
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
Packit |
857059 |
POSSIBILITY OF SUCH DAMAGE.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF YOUR
|
|
Packit |
857059 |
JURISDICTION. It is licensee's responsibility to comply with any export
|
|
Packit |
857059 |
regulations applicable in licensee's jurisdiction. Under CURRENT (May 2000)
|
|
Packit |
857059 |
U.S. export regulations this software is eligible for export from the U.S.
|
|
Packit |
857059 |
and can be downloaded by or otherwise exported or reexported worldwide EXCEPT
|
|
Packit |
857059 |
to U.S. embargoed destinations which include Cuba, Iraq, Libya, North Korea,
|
|
Packit |
857059 |
Iran, Syria, Sudan, Afghanistan and any other country to which the U.S. has
|
|
Packit |
857059 |
embargoed goods and services.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
This package contains SHMEM applications and packages for testing and
|
|
Packit |
857059 |
evaluation.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
MPICH_PREFIX ENVIRONMENT VARIABLE:
|
|
Packit |
857059 |
----------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
The SHMEM samples require an MPI implementation to run. Sandia
|
|
Packit |
857059 |
OpenSHMEM requires a Hydra* based MPI to run. The select_mpi script
|
|
Packit |
857059 |
will look for MVAPICH2 directories matching either
|
|
Packit |
857059 |
mvapich2*hfi (first) or mvapich* (second).
|
|
Packit |
857059 |
|
|
Packit |
857059 |
If desired the MPICH_PREFIX may be exported to control the selection.
|
|
Packit |
857059 |
Alternatively, a .prefix file can be created in this directory with the
|
|
Packit |
857059 |
preferred selection.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
SHMEM_PREFIX ENVIRONMENT VARIABLE:
|
|
Packit |
857059 |
----------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
By default, Make will build these programs with Sandia OpenSHMEM installed
|
|
Packit |
857059 |
by RPM sandia-openshmem_gcc_hfi-devel. SHMEM_PREFIX is also used by the
|
|
Packit |
857059 |
run_* scripts to define where bin/oshrun is found.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
You can override this by setting SHMEM_PREFIX in your environment. For
|
|
Packit |
857059 |
example:
|
|
Packit |
857059 |
|
|
Packit |
857059 |
export SHMEM_PREFIX=/my/copy_of_shmem
|
|
Packit |
857059 |
|
|
Packit |
857059 |
The run_* sample runner scripts set SHMEM_PREFIX from a file
|
|
Packit |
857059 |
.shmem_prefix in the current working directory if that
|
|
Packit |
857059 |
SHMEM_PREFIX is not already set.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
USING THESE TOOLS WITH MPI-SELECTOR:
|
|
Packit |
857059 |
------------------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
SHMEM applications are started using the mpirun from an MPI
|
|
Packit |
857059 |
implementation such mvapich2.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
In OFED (and Intel IFS), the normal method of selecting an MPI is to
|
|
Packit |
857059 |
use the mpi-selector commands (type "man mpi-selector-menu" and "man
|
|
Packit |
857059 |
mpi-selector" for details on those commands).
|
|
Packit |
857059 |
|
|
Packit |
857059 |
To use mpi-selector with these scripts, add this line to your .bashrc
|
|
Packit |
857059 |
file:
|
|
Packit |
857059 |
|
|
Packit |
857059 |
source /usr/src/opa/mpi_apps/get_selected_mpi.sh
|
|
Packit |
857059 |
|
|
Packit |
857059 |
COMPILING THE TEST PROGRAMS:
|
|
Packit |
857059 |
----------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
The top level Makefile will build a simple SHMEM hello_worl application,
|
|
Packit |
857059 |
using the default (described above) or the value of SHMEM_PREFIX (also
|
|
Packit |
857059 |
described above).
|
|
Packit |
857059 |
|
|
Packit |
857059 |
RUNNING THE TEST PROGRAMS:
|
|
Packit |
857059 |
--------------------------
|
|
Packit |
857059 |
|
|
Packit |
857059 |
A "run_*" script is provided for the applications/benchmark. These
|
|
Packit |
857059 |
scripts assume the existence of a local "shmem_hosts" file [alternate name can be
|
|
Packit |
857059 |
exported in MPI_HOSTS if desired] (in mpirun mode)
|
|
Packit |
857059 |
and that mpd is already running (if you're using mvapich2 in mpd mode).
|
|
Packit |
857059 |
For example, to run the barrier test, simply type:
|
|
Packit |
857059 |
|
|
Packit |
857059 |
# ./run_barrier 2
|
|
Packit |
857059 |
|
|
Packit |
857059 |
The scripts log the output of the SHMEM programs to the
|
|
Packit |
857059 |
/usr/src/opa/shmem_apps/logs directory.
|