Skip to content

OFI Build Instructions

David Ozog edited this page Apr 2, 2018 · 1 revision

The OFI build is the easiest and most portable way to build SOS. The following dependencies are required:

Building and installing dependencies

The dependencies are fairly easy to build. In the following, we show how to build using an automatically detected network (e.g. sockets) using libfabric. More advanced users may wish to customize the libfabric build to better leverage their system's hardware.

The instructions for libfabric and hydra are the same. After downloading the source code, the following sequence of commands should be run in the libfabric 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-ofi=$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.