UCX is a communication library implementing a high-performance messaging layer for MPI, PGAS, and RPC frameworks.
Running internal unit tests
$ ./autogen.sh $ ./contrib/configure-devel $ make $ make -C test/gtest test
Running UCX hello-world
$ ./autogen.sh $ ./contrib/configure-release --prefix=$PWD/install $ make
$ ./src/tools/perf/ucx_perftest -c 0
$ ./src/tools/perf/ucx_perftest <server-hostname> -t tag_lat -c 0
UCX high-level layout
- UCX - Unified Communication X
- UCP - UCX Protocol. Implements high-level abstractions such as tag-matching, streams, connection negotiation and establishment, multi-rail, and handling different memory types.
- UCT - UCX Transport. Implements low-level communication primitives such as active messages, remote memory access, and atomic operations.
- UCS - UCX Services. A collection of data structures, algorithms, and system utilities for common use.
- UCM - UCX Memory. Intercepts memory allocation and release events, used by memory registration cache.