Skip to content

UCX Build Instructions

David Ozog edited this page Nov 8, 2021 · 1 revision

The UCX build of SOS is considered experimental, but tends to pass all unit tests. The following dependencies are required:

Building and installing UCX

$ git clone --depth 10 https://github.com/openucx/ucx.git

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

$ ./autogen.sh
$ ./configure --prefix=$HOME/sos --enable-mt --disable-numa --without-java
$ make
$ make install

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