Skip to content

Latest commit

 

History

History
47 lines (32 loc) · 1.64 KB

README.md

File metadata and controls

47 lines (32 loc) · 1.64 KB

mpicd

Implements custom datatype API for MPI.

Dependencies

Required dependencies:

Make sure to set PKG_CONFIG_PATH properly for the UCX and PMIx installs, since both the CMake build and Rust builds rely on this.

Building

You should be able to build this with the standard cmake build process, assuming all dependencies are installed correctly:

mkdir build; cd build
cmake -DCMAKE_BUILD_TYPE=ReleaseWithDebInfoOptFull -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX ..
make install

This should install the library and mpicc/mpicxx scripts in $INSTALL_PREFIX/bin.

Linking errors

If you run into linking errors related to UCX or PMIx, then you may need to set the rpath manually with the RUSTFLAGS environment variable when running make: RUSTFLAGS="-C link-args=-Wl,-rpath,$UCX_OR_PMIX_INSTALL_PATH/lib" make install.

Running the examples

The examples can be run with Open MPI's mpirun with a maximum of two ranks (these don't have to be on the same node).

Rust benchmarks

The Rust benchmarks must be built directly with cargo, by running cargo build --release. The binaries will be placed in target/release/.