Implementation of a cool communication layer.
- @danghvu (danghvu@gmail.com)
- @omor1
- @JiakunYan (jiakunyan1998@gmail.com)
- @snirmarc
cmake .
make
make install
CMAKE_INSTALL_PREFIX=/path/to/install
: Where to install LCI- This is the same across all the cmake projects.
LCI_DEBUG=ON/OFF
: Enable/disable the debug mode (more assertions and logs). The default value isOFF
.LCI_SERVER=ibv/ofi
: Hint to which network backend to use. If bothibv
andofi
are found, LCI will use the one indicated by this variable. The default value isibv
. Typically, you don't need to modify this variable as iflibibverbs
presents, it is likely to be the recommended one to use.ibv
: libibverbs, typically for infiniband.ofi
: libfabrics, for all other networks (slingshot-11, ethernet, shared memory).
LCI_FORCE_SERVER=ON/OFF
: Default value isOFF
. If it is set toON
,LCI_SERVER
will not be treated as a hint but a requirement.
We use the same mechanisms as MPI to launch LCI processes, so you can use the same way
you run MPI applications to run LCI applications. Typically, it would be mpirun
or
srun
. For example,
mpirun -n 2 ./hello_world
or
srun -n 2 ./hello_world
See examples
and tests
for some example code.
See src/api/lci.h
for public APIs.
doxygen
for a full documentation.
See LICENSE file.