petro-rudenko / ucx

Unified Communication X (mailing list - https://elist.ornl.gov/mailman/listinfo/ucx-group):

Home Page:http://www.openucx.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Unified Communication X (mailing list - https://elist.ornl.gov/mailman/listinfo/ucx-group):

http://www.openucx.org

License:Other


Languages

Language:C 58.8%Language:C++ 38.4%Language:M4 1.5%Language:Shell 0.5%Language:Makefile 0.5%Language:Java 0.2%Language:Python 0.1%Language:Objective-C 0.0%Language:Emacs Lisp 0.0%Language:Vim Script 0.0%