- Update to v1.9.0 (jsc#SLE-15163)
- Features:
- Added a new class of communication APIs '*_nbx' that enable API extendability while
- preserving ABI backward compatibility
- Added asynchronous event support to UCT/IB/DEVX
- Added support for latest CUDA library version
- Added NAK-based reliability protocol for UCT/IB/UD to optimize resends
- Added new tests for ROCm
- Added new configuration parameters for protocol selection
- Added performance optimization for Fujitsu A64FX with InfiniBand
- Added performance optimization for clear cache code aarch64
- Added support for relaxed-order PCIe access in IB RDMA transports
- Added new TCP connection manager
- Added support for UCT/IB PKey with partial membership in IB transports
- Added support for RoCE LAG
- Added support for ROCm 3.7 and above
- Added flow control for RDMA read operations
- Improved endpoint flush implementation for UCT/IB
- Improved UD timer to avoid interrupting the main thread when not in use
- Improved latency estimation for network path with CUDA
- Improved error reporting messages
- Improved performance in active message flow (removed malloc call)
- Improved performance in ptr_array flow
- Improved performance in UCT/SM progress engine flow
- Improved I/O demo code
- Improved rendezvous protocol for CUDA
- Updated examples code
- Bugfixes:
- Fixes for most resent versions of GCC, CLANG, ARMCLANG, PGI
- Fixes in UCT/IB for strict order keys
OBS-URL: https://build.opensuse.org/request/show/840386
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openucx?expand=0&rev=42
- Update to v1.8.0
- Features:
- Improved detection for DEVX support
- Improved TCP scalability
- Added support for ROCM to perftest
- Added support for different source and target memory types to perftest
- Added optimized memcpy for ROCM devices
- Added hardware tag-matching for CUDA buffers
- Added support for CUDA and ROCM managed memories
- Added support for client/server disconnect protocol over rdma connection manager
- Added support for striding receive queue for hardware tag-matching
- Added XPMEM-based rendezvous protocol for shared memory
- Added support shared memory communication between containers on same machine
- Added support for multi-threaded RDMA memory registration for large regions
- Added new test cases to Azure CI
- Added support for multiple listening transports
- Added UCT socket-based connection manager transport
- Updated API for UCT component management
- Added API to retrieve the listening port
- Added UCP active message API
- Removed deprecated API for querying UCT memory domains
- Refactored server/client examples
- Added support for dlopen interception in UCM
- Added support for PCIe atomics
- Updated Java API: added support for most of UCP layer operations
- Updated support for Mellanox DevX API
- Added multiple UCT/TCP transport performance optimizations
- Optimized memcpy() for Intel platforms
- Added protection from non-UCX socket based app connections
- Improved search time for PKEY object
- Enabled gtest over IPv6 interfaces
- Updated Mellanox and Bull device IDs
- Added support for CUDA_VISIBLE_DEVICES
- Increased limits for CUDA IPC registration
- Bugfixes:
- Multiple fixes in JUCX
- Fixes in UCP thread safety
- Fixes for most recent versions GCC, PGI, and ICC
- Fixes for CPU affinity on Azure instances
- Fixes in XPMEM support on PPC64
- Performance fixes in CUDA IPC
- Fixes in RDMA CM flows
- Multiple fixes in TCP transport
- Multiple fixes in documentation
- Fixes in transport lane selection logic
- Fixes in Java jar build
- Fixes in socket connection manager for Nvidia DGX-2 platform
- Multiple fixes in UCP, UCT, UCM libraries
- Multiple fixes for BSD and Mac OS systems
- Fixes for Clang compiler
- Fix CPU optimization configuration options
- Fix JUCX build on GPU nodes
- Fix in Azure release pipeline flow
- Fix in CUDA memory hooks management
- Fix in GPU memory peer direct gtest
- Fix in TCP connection establishment flow
- Fix in GPU IPC check
- Fix in CUDA Jenkins test flow
- Multiple fixes in CUDA IPC flow
- Fix adding missing header files
- Fix to prevent failures in presence of VPN enabled Ethernet interfaces
- Refresh openucx-s390x-support.patch against new version
OBS-URL: https://build.opensuse.org/request/show/811684
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openucx?expand=0&rev=37
- Update to v1.6.0
- Features:
- Modular architecture for UCT transports
- ROCm transport re-design: support for managed memory, direct copy, ROCm GDR
- Random scheduling policy for DC transport
- Optimized out-of-box settings for multi-rail
- Added support for OmniPath (using Verbs)
- Support for PCI atomics with IB transports
- Reduced UCP address size for homogeneous environments
- Bugfixes:
- Multiple stability and performance improvements in TCP transport
- Multiple stability fixed in Verbs and MLX5 transports
- Multiple stability fixes in UCM memory hooks
- Multiple stability fixes in UGNI transport
- RPM Spec file cleanup
- Fixing compilation issues with most recent clang and gcc compilers
- Fixing the wrong name of aliases
- Fix data race in UCP wireup
- Fix segfault when libuct.so is reloaded - issue #3558
- Include Java sources in distribution
- Handle EADDRNOTAVAIL in rdma_cm connection manager
- Disable ibcm on RHEL7+ by default
- Fix data race in UCP proxy endpoint
- Static checker fixes
- Fallback to ibv_create_cq() if ibv_create_cq_ex() returns ENOSYS
- Fix malloc hooks test
- Fix checking return status in ucp_client_server example
- Fix gdrcopy libdir config value
- Fix printing atomic capabilities in ucx_info
- Fix perftest warmup iterations to be non-zero
OBS-URL: https://build.opensuse.org/request/show/733589
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openucx?expand=0&rev=33
- Update openucx-s390x-support.patch to fix support of 1.5.0 on s390x
- Add baselibs.conf for ppc
- Update to v1.5.0 (bsc#1121267)
* Features:
* New emulation mode enabling full UCX functionality (Atomic, Put, Get)
* over TCP and RDMA-CORE interconnects which don't implement full RDMA semantics
* Non-blocking API for all one-sided operations. All blocking communication APIs marked
* as deprecated
* New client/server connection establishment API, which allows connected handover between workers
* Support for rdma-core direct-verbs (DEVX) and DC with mlx5 transports
* GPU - Support for stream API and receive side pipelining
* Malloc hooks using binary instrumentation instead of symbol override
* Statistics for UCT tag API
* GPU-to-Infiniband HCA affinity support based on locality/distance (PCIe)
* Bugfixes:
* Fix overflow in RC/DC flush operations
* Update description in SPEC file and README
* Fix RoCE source port for dc_mlx5 flow control
* Improve ucx_info help message
* Fix segfault in UCP, due to int truncation in count_one_bits()
* Multiple other bugfixes (full list on github)
* Tested configurations:
* InfiniBand: MLNX_OFED 4.4-4.5, distribution inbox drivers, rdma-core
* CUDA: gdrcopy 1.2, cuda 9.1.85
* XPMEM: 2.6.2
* KNEM: 1.1.2
OBS-URL: https://build.opensuse.org/request/show/678966
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openucx?expand=0&rev=27
- Update to v1.4.0 (bsc#1103494)
- Features:
- Improved support for installation with latest ROCm
- Improved support for latest rdma-core
- Adding support for CUDA IPC for intra-node GPU
- Added support for CUDA memory allocation cache for mem-type detection
- Added support for latest Mellanox devices
- Added support for Nvidia GPU managed memory
- Added support for multiple connections between the same pair of workers
- Added support large worker address for client/server connection establishment
and INADDR_ANY
- Added support for bitwise atomics operations
- Bugfixes:
- Performance fixes for rendezvous protocol
- Memory hook fixes
- Clang support fixes
- Self tl multi-rail fix
- Thread safety fixes in IB/RDMA transport
- Compilation fixes with upstream rdma-core
- Multiple minor bugfixes (full list on github)
- Segfault fix for a code generated by armclang compiler
- UCP memory-domain index fix for zero-copy active messages
- Update to v1.3.1 (fate#325996)
OBS-URL: https://build.opensuse.org/request/show/646571
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openucx?expand=0&rev=24
- Update to v1.3.0 (bsc#1104159)
- Added stream-based communication API to UCP
- Added support for GPU platforms: Nvidia CUDA and AMD ROCM software stacks
- Added API for client/server based connection establishment
- Added support for TCP transport
- Support for InfiniBand tag-matching offload for DC and accelerated transports
- Multi-rail support for eager and rendezvous protocols
- Added support for tag-matching communications with CUDA buffers
- Added ucp_rkey_ptr() to obtain pointer for shared memory region
- Avoid progress overhead on unused transports
- Improved scalability of software tag-matching by using a hash table
- Added transparent huge-pages allocator
- Added non-blocking flush and disconnect for UCP
- Support fixed-address memory allocation via ucp_mem_map()
- Added ucp_tag_send_nbr() API to avoid send request allocation
- Support global addressing in all IB transports
- Add support for external epoll fd and edge-triggered events
- Added registration cache for knem
- Initial support for Java bindings
- Multiple bugfixes (full list on github)
- Drop UCT-UD-fixed-compilation-by-gcc8.patch as it was fixed upstream
- Refresh openucx-s390x-support.patch against latest sources
OBS-URL: https://build.opensuse.org/request/show/628372
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openucx?expand=0&rev=21
- Update to 1.2.2
- Support including UCX API headers from C++ code
- UD transport to handle unicast flood on RoCE fabric
- Compilation fixes for gcc 7.1.1, clang 3.6, clang 5
- When UD transport is used with RoCE, packets intended for other peers may
arrive on different adapters (as a result of unicast flooding).
- This change adds packet filtering based on destination GIDs. Now the packet
is silently dropped, if its destination GID does not match the local GID.
- Added a new device ID for InfiniBand HCA
OBS-URL: https://build.opensuse.org/request/show/567622
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openucx?expand=0&rev=13
- Switch to version 1.2.1
Previous 1.3+ version was based on a development branch.
Supported platforms
- Shared memory: KNEM, CMA, XPMEM, SYSV, Posix
- VERBs over InfiniBand and RoCE.
VERBS over other RDMA interconnects (iWarp, OmniPath, etc.) is available
for community evaluation and has not been tested in context of this release
- Cray Gemini and Aries
- Architectures: x86_64, ARMv8 (64bit), Power64
Features:
- Added support for InfiniBand DC and UD transports, including accelerated verbs for Mellanox devices
- Full support for PGAS/SHMEM interfaces, blocking and non-blocking APIs
- Support for MPI tag matching, both in software and offload mode
- Zero copy protocols and rendezvous, registration cache
- Handling transport errors
- Flow control for DC/RC
- Dataypes support: contiguous, IOV, generic
- Multi-threading support
- Support for ARMv8 64bit architecture
- A new API for efficient memory polling
- Support for malloc-hooks and memory registration caching
OBS-URL: https://build.opensuse.org/request/show/527297
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openucx?expand=0&rev=7