Skip to content

Portals Build Instructions

David Ozog edited this page Jul 22, 2020 · 4 revisions

The Portals build of SOS simulates the behavior of a Portals 4 network using InfiniBand Verbs. If your network does not support InfiniBand Verbs, we recommend following the OFI Build Instructions. Please note that the Portals build does not use a direct mapping to Verbs and, for this reason, it encounters additional overheads.

The following dependencies are required:

Building and installing dependencies

In the following, we show how to build using InfiniBand Verbs support in Portals 4. More advanced users may wish to customize the Portals build to better leverage their system's hardware.

Portals 4 is currently downloaded by cloning the git repository:

$ git clone --depth 10 https://github.com/Portals4/portals4.git

After downloading, the following commands should be run within the portals4 directory:

$ ./autogen.sh
$ ./configure --prefix=$HOME/sos --with-ev=<libev install dir> --enable-transport-ib --enable-zero-mrs --disable-pmi-from-portals
$ make
$ make install

Libev and Hydra are both fairly easy to build. After downloading and uncompressing the source code, the following sequence of commands should be run in both the libev and hydra source directories. If the configure script is already present, the first command, autogen.sh, may be skipped.

$ ./autogen.sh
$ ./configure --prefix=$HOME/sos
$ make
$ make install

Building Sandia OpenSHMEM

The following sequence of steps is suitable for most users. Please refer to the README file or run ./configure --help for a complete listing of build options.

$ ./autogen.sh
$ ./configure --prefix=$HOME/sos --with-portals4=$HOME/sos --disable-fortran --enable-pmi-simple --enable-error-checking
$ make
$ make install

Testing the build

First, ensure that Hydra is in your path by running:

$ export PATH=$HOME/sos/bin:$PATH

The SOS test suite can be compiled and run by running $ make check. The NPROCS and TEST_RUNNER make variables can be used to change the number of processes used and the launcher command, respectively. The tests can be built without running them using the command $ make check TESTS=.

Compiling and running OpenSHMEM programs

The SOS build and Hydra process manager should be added to your path. If you used the build instructions posted here, this is done by running the following command:

$ export PATH=$HOME/sos/bin:$PATH

Once SOS is in your path, you can use the compiler wrapper oshcc to compile your application and the launcher wrapper oshrun to run it.