Skip to content

heasterday/ucx

 
 

Repository files navigation

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

Compile:

$ ./autogen.sh  
$ ./contrib/configure-release --prefix=$PWD/install
$ make

Start server:

$ ./src/tools/perf/ucx_perftest -c 0

Connect client:

$ ./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.

Packages

No packages published

Languages

  • C 59.9%
  • C++ 37.3%
  • M4 1.5%
  • Shell 0.5%
  • Makefile 0.5%
  • Java 0.2%
  • Other 0.1%