Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laekov/UCWO
UCX Wrapper for One-sideds
https://github.com/laekov/UCWO
Last synced: 2 months ago
JSON representation
UCX Wrapper for One-sideds
- Host: GitHub
- URL: https://github.com/laekov/UCWO
- Owner: laekov
- License: apache-2.0
- Created: 2022-11-23T08:48:36.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-06-09T09:17:50.000Z (over 1 year ago)
- Last Synced: 2024-11-09T02:55:43.141Z (2 months ago)
- Language: C++
- Size: 31.3 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# UCWO: UCX Wrapper for One-sideds
A CPP wrapper based on MPI and UCX to conveniently conduct one-sided communication.
## Terms
A **block** of local memory on each process can be exposed so that it can be accessed remotely from another process.
On each process, blocks are sequentially numbered according to the order when they are exposed.
Other processes are able to visit these blocks using the index.## Usage
* A `World` is a thread-safe base class to provide connection and memory mapping. It is binded to an MPI comm.
* A `World` can `expose` multiple memory blocks.
* Multiple `Worker` instances are created by a `World` to conduct parallel communication.
* Each worker independently initiate `put`, `get`, or `flush` operations.## Notes
* A worker itself is not thread-safe.
* `newWorker` routine of `World` is a collective operation that involves all processes to involve. Only workers in the same `newWorker` call are connected. (Maybe optimize this in the future)