- Core
- hmem/cuda: Adding more robust libgdrapi libpaths
- Update bindings/rust/README.md to reflect the recommended build process.
- Update build.rs to support both cargo build & cargo publish work directories.
- Update Cargo.toml in preparation for crates.io publishing.
- configure: Fix sanitizer detection logic
- Introduce a lightweight Rust bindings for Libfabric, using bindgen.
- include/ofi_indexer: introduce new ofi_array_at_max function
- man/fi_cxi: fixup info for FI_CXI_RDZV_GET_MIN
- man/fi_getinfo: Update the capabilities with mode bits requirements
- man/fi_cq: Document `FI_GETWAITOBJ` for `fi_control`
- man/fi_fabric: Update `fi_tostr()` datatypes
- CXI
- Bump provider support up to libfabric 2.4
- Add domain rx match mode override
- Set rendezvous eager size default to 2K
- Change cuda dmabuf default to enabled
- Do not abort if MR match count do not reconcile
- Allow CP for triggered CQ to remap to Best Effort
- Fix sl-driver path for testing
- Set max domain TX CQs to 14
- Use cxil_alloc_trig_cp to distinguish trig and tx cmdqs
- Add FI_EBUSY debug messages
- Fix validation of service id
- Fix criterion test_sw tap files
- Cxip_cmdq_cp_modify fix
- Fix RNR protocol send byte/error counting
- Release TX credit when pending RNR retry
- Update rocr test fine grained flags
- Fix DEVICE in fi_info_test
- Introduce non-debug tracing
- Reset timer on rx of ARM packet
- Fix performance issue with close_mc()
- Increase vni range in auth_key tests
- Support auth_key ranges
- Fix use of hw_cps and memory leak
- EFA
- Fix cq data size in efa-rdm pkt post
- fix test_efa_rdm_mr_reg_cuda_memory unit test
- adjust the memory barrier positions
- Optimize RTW packet sending by replacing efa_rdm_ope_post_send
- Adjust logging level for txe releases
- Add tracepoints for handshake
- Add flags to MR logs
- Grow efa_tx_pkt_pool and ope_pool during rdm ep creation
- Do not use rdma write when unsolicited recv support is inconsistent
- Determine whether using device rdma based on p2p
- Introduce pke generation counter for protocol path
- Enable data path direct for efa-rdm
- Update the function signature for efa_data_path_direct_cq_initialize
- Move efa_cq_open_ibv_cq to efa_cq.c
- Do not track rx pkt pool for non-debug build
- Temporarily disable FI_OPT_EFA_SENDRECV_IN_ORDER_ALIGNED_128_BYTES support for efa protocol
- do not ignore local read completion
- Add missing lttng tps in efa_post_send
- Fix the remote cq data flags for zcpy recv
- Optimize the WQE post in data path direct
- fix typos in error messages
- Only show help message for OPE warn logs
- configure: replace no-brake space with regular space character
- Remove unused function declarations
- Acquire CQ's `ep_list_lock` during counter progress
- Add asserts to detect erroneous CQE dereferences
- Ignore rma completion to a removed peer
- Remove the incorrect check for device max_msg_size
- Fix function signature mismatch
- Set FI_RX_CQ_DATA for efa direct with NULL hints
- Do not fail fi_getinfo for the wrong fabric
- Log warnings only for internal OPE failures or if CQ error entry not written
- Add unit tests for LRU AH eviction
- Evict AH with no explicit AV entries when AH limit reached
- Add locking assertions and update unit tests
- Remove efa_conn_release unsafe
- Require FI_RX_CQ_DATA on devices without unsolicited write recv
- Add LLTng tracepoints for direct data path operations
- Don't warn users about non-EFA devices
- Support FI_RX_CQ_DATA for efa-direct
- Fix deadlocks in AV insert/remove/close and CQ read paths
- Don't try to release a lock that is not taken
- set RUNPATH if custom rdma-core provided
- Remove rx_msg_flags from efa_rdm_msg_recv/efa_rdm_msg_recvv
- Update tracepoints in the receive path
- Slide recv-win on RTM/RTA error
- Insert read and write packets to tx debug list
- LNX
- remove force setting DEVICE_ONLY flag
- set core hints proto to UNSPEC
- remove iov count failures
- add wait object implementation
- OPX
- Don't fail configure when OPX unhappy
- Add note to FI_OPX_SDMA_MIN_PAYLOAD_BYTES doc
- Simplify uapi configuration
- Unionize 9B and 16B packet SCB models in endpoint structs.
- Support shared contexts in hfisvc bts
- Fix replays for multi-packet eager
- Don't retry forever in send rendezvous.
- Don't ACK packets that were never received
- Segfault in opx_hfi_rdma_context_open() on 2nd endpoint opened
- Fix seg fault in finalize
- Fix SDMA writev error when RDMA core functions are being used.
- Add back accidentally removed opx_domain_hfisvc_poll()
- Add missing function pointers for HFI service
- Check uapi for hfisvc/HFI1 direct verbs
- Rename hfisvc to opx-hfisvc
- Move submodule to rdma core
- Remove stx/srx support in OPX
- Register MRs with HFI service
- Ensure SDMA packet lengths are 8-byte multiples
- Use HFI service by default if enabled in the driver.
- fixup goto labels that need statements
- Update hfisvc_client to 64-bit atomics
- HFISVC: Fix replay payload
- Disable HFI Service by default.
- Disable use of HFI service when driver does not support it.
- Update hfisvc_client to latest patch
- Only open IPC cache if HMEM initialized and IPC enabled
- Handle extended rx bits in common 9B code
- Add IPC to 16B header path
- Make sriov-alpha limitations CN5000-only
- Remove cmake build for hfisvc_client library
- Handle completion errors from HFI service
- Fix setting of rc in deferred recv rts
- Additional HFI Service support changes
- HFI Service initial support
- Asynchronous HMEM memcopy for IPC
Signed-off-by: Nicolas Morey <nmorey@suse.com>
- Core
- configure: Improve the restricted-dl help text
- ofi_list: Introduce dlist_entry_in_list
- man/fi_peer: Fix `FI_ADDR_NOTAVAIL` typo
- common: Make common runtime parameters working for DL providers
- configure.ac: Move cuda cppflag set before DMABUF check
- Add address format FI_SOCKADDR_IP
- include/fi_peer.h: remove fi_peer_rx_entry dlist fields
- configure: Fix clang checking
- hmem/neuron: Implement put_dmabuf_fd op
- man/fi_endpoint: Clarify rx_attr->caps usage
- EFA
- Decrement rx_pkts_posted before efa_rdm_pke_release_rx
- Enable direct data path by default
- Bypass rdma-core in blocking cq read path
- Add traces for RX/TX completions
- Fix the unsolicited write recv check
- Refactor efa_base_ep_create_qp
- Add generic function to process queued op entries
- Deduce queued packet list from op entry
- Add generic utility for fetching RDM packet type
- Create abstraction for IBV CQ polling sequence
- Bypass rdma-core in data path.
- Refactor ibv_cq_ex open call
- Fix stale links in docs/overview.md
- Initialize nevents in efa_domain_cq_open_ext
- Fix conflicting types for efa_mock_efa_ibv_cq_wc_read_opcode_return_mock
- Remove duplicate mock function declarations
- Use efa specific cq trywait
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=120
- Core
- log: Fix buffer overrun when accessing the 'log_levels' array
- man/fi_mr: Clarify fi_close behavior
- rdma/fabric.h: Add new FI_RESCAN flag to fi_getinfo()
- hmem/cuda: Add fallback for dmabuf flag with CUDA_ERROR_NOT_SUPPORTED
- hmem/cuda: Add runtime fallback for unsupported dmabuf flag
- hmem/cuda: Add a flag for exporting dmabuf fd on GB200
- man: Clarify fi_close behavior on FI_ENDPOINT
- av: introduce FI_FIREWALL_ADDR flag for insert operations
- common: ofi_ifname_toaddr check ifa->ifa_addr for null
- man/fi_mr: Add note that requested_key may be ignored w/o remote access
- CXI
- Fix alt_read unit test to use rdzv_threshold
- Adjust cxi environment variable defaults
- Fix regression which could cause deadlock
- Support libfabric 2.2 API
- Set cq_data in peer unexpected message
- Fix locking on the SRX path
- Allow for passing opaque 64-bit data in ctrl_msg
- Fix cxi driver paths for CI
- Fix use of alt_read rget restricted TC type
- Fix compile warnings associated with new dlopen of curl/json
- Fix curl CXIP_WARN that included extra parameter
- Decouple existence CXI_MAP_IOVA_ALLOC for build
- New conf opt for binding of json symbols
- New conf opt for binding of curl symbols
- Pad struct to address hash mismatch bug
- Consistency for initialization of cxip_addr structure
- Fix uninitialized padding in cxip_addr structure causing hash mismatches
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=116
- Core
- man/fi_domain: Define resource mgmt unreachable EP
- man/fi_domain: Update connectionless EP disable
- hmem: Fix missing rocr dlopen function assignments
- Fix data race on log_prefix
- hmem: Define ofi_hmem_put_dmabuf_fd and add support for cuda and rocr
- Fix a few minor man page issues
- CXI
- Fix ss_plugin_auth_key_priority test
- Bump internal CXI version to support 2.1
- Fix possible cq_open segfault
- Fix peer CQ support
- Added collectives logical operators
- Fix bug in constrained LE test cases in test.sh and test_sw.sh
- Fix unit test missing pthread initialization
- Add FI_WAIT_YIELD EQ support
- Make string setup of FI_CXI_CURL_LIB_PATH safe
- Add FI_CXI_CURL_LIB_PATH #define from autoconf
- Test CUDA with DMA buf FD recycling
- Test ROCR with DMA buf FD recycling
- Test ROCR with DMA buf offset
- Integrate with ofi_hmem_put_dmabuf_fd
- Test monitor unsubscribe
- Fix fi_cq_strerror
- Cxi EQ do not support wait objects
- Fix CQ wait FD logic
- Disable retry logic for experimental collectives
- Ignore drop count during init
- Remove CXI_MAP_IOVA_ALLOC flag.
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=114
- Update to v2.0.0 (jsc#PED-9661, jsc#PED-10668)
- Core
- hmem/cuda: avoid stub loading at runtime
- Makefile.am: Keep using libfabric.so.1 as the soname
- xpmem: Cleanup xpmem before monitors
- Remove redundant windows.h
- hmem/cuda: Add env variable to enable/disable CUDA DMABUF
- Update ofi_vrb_speed
- xpmem: Fix compilation warning
- Change the xpmem log level to info
- Clarify FI_HMEM support of inject calls
- Introduce Sub-MR
- Define capbility for directed receive without wildcard src_addr
- Define capability for tagged message only directed recv
- Define capability bit for tagged multi receive
- Define flag for single use MR
- Move flags only used for memory registration calls to fi_domain.h
- windows/osd.h: fix and refactor logical operations on complex numbers
- man/fi_peer: update peer fid initialization language
- Remove CURRENT_SYMVER() macro
- 1.8 ABI compat
- hmem/ze: Fix mistmatched library name in an error message
- Add FI_PEER as a capability
- Add missing FI_AV_USER_ID to cap tostr
- Update and clarify peer SRX API flow
- Prefix public xpmem symbols with ofi
- Add rbmap foreach node utility function
- ofi_mem: Add release bufpool validity check
- hmem/rocr: Don't attempt to get device info when pointer type is unknown.
- hmem: Added handle field to close_handle
OBS-URL: https://build.opensuse.org/request/show/1231350
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=110
- Update to v2.0.0 (jsc#PED-9661, jsc#PED-10668)
- Core
- hmem/cuda: avoid stub loading at runtime
- Makefile.am: Keep using libfabric.so.1 as the soname
- xpmem: Cleanup xpmem before monitors
- Remove redundant windows.h
- hmem/cuda: Add env variable to enable/disable CUDA DMABUF
- Update ofi_vrb_speed
- xpmem: Fix compilation warning
- Change the xpmem log level to info
- Clarify FI_HMEM support of inject calls
- Introduce Sub-MR
- Define capbility for directed receive without wildcard src_addr
- Define capability for tagged message only directed recv
- Define capability bit for tagged multi receive
- Define flag for single use MR
- Move flags only used for memory registration calls to fi_domain.h
- windows/osd.h: fix and refactor logical operations on complex numbers
- man/fi_peer: update peer fid initialization language
- Remove CURRENT_SYMVER() macro
- 1.8 ABI compat
- hmem/ze: Fix mistmatched library name in an error message
- Add FI_PEER as a capability
- Add missing FI_AV_USER_ID to cap tostr
- Update and clarify peer SRX API flow
- Prefix public xpmem symbols with ofi
- Add rbmap foreach node utility function
- ofi_mem: Add release bufpool validity check
- hmem/rocr: Don't attempt to get device info when pointer type is unknown.
- hmem: Added handle field to close_handle
OBS-URL: https://build.opensuse.org/request/show/1231350
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=110
- Completely remove building for AVX/AVX2 in PSM3 (bsc#1213538, bsc#1233356, bsc#1234014)
Runtime detection before initializing the provider is not enough as
PSM3 uses constructors which may include AVX insctruction.
Only requires SSE4.2 as it does make a large performance impact
in calculatin packet hashes.
- Remove psm3-fix-SIGILL-on-system-not-supporting-AVX.patch
- Add psm3-prevent-code-from-building-using-AVX-AVX2.patch
- Add _constraints to mark SSE4.2 as required
OBS-URL: https://build.opensuse.org/request/show/1227697
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=108
Runtime detection before initializing the provider is not enough as
PSM3 uses constructors which may include AVX insctruction.
Only requires SSE4.2 as it does make a large performance impact
in calculatin packet hashes.
- Remove psm3-fix-SIGILL-on-system-not-supporting-AVX.patch
- Add psm3-prevent-code-from-building-using-AVX-AVX2.patch
- Add _constraints to mark SSE4.2 as required
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=108
- Enable ucx and new efa provider on 64b architectures.
- Use a single changes file for libfabric and fabtests.
- Update to 1.21.0
- Core
- Various update and fixed in man pages
- Fix xpmem memory corruption
- Extend FI_PROVIDER_PATH to allow setting preferred DL provider
- Add a SECURITY.md file
- Document preferred threading model for scalable endpoints
- Move FI_PRIORITY to internal flag
- Remove FI_PROV_SPECIFIC
- Remove unimplemented or unused features
- Support cntr byte counting
- configure: Do not check for xpmem if disabled
- Add FI_PROGRESS_CONTROL_UNIFIED
- hmem/cuda: Get multiple attributes at once in cuda_is_addr_valid
- configure: Add -pipe by default to CFLAGS
- Selectively generate warnings on failed loading of DL providers
- hmem: introduce ofi_dev_reg_copy_*_iov ops
- Print provider path on fabric creation
- Introduce FI_OPT_SHARED_MEMORY_PERMITTED
- README.md: Add badge for openssf scorecard
- man: Regulate the fi_setopt call sequence.
- man: Clarify the usage of FI_RMOTE_CQ_DATA flag
- man: Add ucx provider to the fi_provider man page
- configure.ac: add extra check for 128 bit atomic support
- include/osd: align atomic complex definitions
- hmem/synapseai: Refine the error handling and warning
- Specify C11 standard for Visual Studio builds
- configure: Do not check for xpmem if disabled
OBS-URL: https://build.opensuse.org/request/show/1164368
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=101
- Update to 1.20.1
- Core
- hmem/ze: Change the library name passed to dlopen
- hmem/ze: map device id to physical device
- hmem/ze: skip duplicate initialization
- hmem/ze: dynamically allocate device resources based on number of devices
- hmem/ze: fix hmem_ze_copy_engine variable look up
- hmem/ze: Increase ZE_MAX_DEVICES to 32
- man: Fix typo in fi_getinfo man page
- Fix compiler warning when compiling with ICX
- man: Fix fi_rxm.7 and fi_collective.3 man pages
- man: Update EFA docs for FI_EFA_INTER_MIN_READ_WRITE_SIZE
- EFA
- efa_rdm_ep_record_tx_op_submitted() rm peer lookup
- Remove peer lookup from efa_rdm_pke_sendv()
- Make handshake response use txe
- test: Only close SHM if SHM peer is Created
- Handshake code allocs txe via efa util
- Initialize txe.rma_iov_count to 0
- Switch fi_addr to efa_rdm_peer in trigger_handshake
- Downgrade EFA Endpoint Creation WARN to INFO
- Init srx_ctx before use
- Clean up generic_send path
- Pass in efa_rdm_ep to efa_rdm_msg_generic_recv()
- Make recv path slightly more efficient
- re-org rma write to avoid duplicate checks
- Add missing sync_memops call to writedata
- use peer pointer from txe in read, write and send
- Pass in peer pointer to txe
- Get rid of noop instruction from empty #define
OBS-URL: https://build.opensuse.org/request/show/1161331
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=99
- Update to 1.19.0
- Core
- General code cleanup and restructuring
- Add ofi_hmem_any_ipc_enabled()
- ofi_consume_iov allows 0-byte consume
- ofi_consume_iov consistency
- ofi_indexer: return error code when iterating
- getinfo: Add post filters for domain and fabric names
- Filter loopback device if iface is specified
- bsock: Fix error checking for -EAGAIN
- windows/osd: Remove unneeded check to silence coverity
- windows/osd: Move variable declaration to silence coverity
- Introduce gdrcopy awareness to hmem copy
- mr/cache: Fix fi_mr_info initialization
- hmem_cuda: remove gdrcopy from cuda hmem copy path
- iouring: Fix wrong indent in ofi_sockapi_accept_uring()
- Implement ofi_sockctx_uring_poll_add()
- hmem: introduce gdrcopy from/to cuda iov functions
- hmem: Deprecate `FI_HMEM_CUDA_ENABLE_XFER`
- hmem_cuda: Restrict CUDA IPC based on peer accessibility
- hmem_cuda: Log number of CUDA devices detected
- hmem_cuda: Refactor global variables
- tostr: Remove the extra dir "shared/" from "include/" and "src/" .
- hmem_ze: fix ZE is valid check
- hmem_rocr: fix offset calculation
- hmem_rocr: use ofi spinlock functions
- hmem_rocr: minor fixes
- hmem_neuron: convert warn to info for nrt_get_dmabuf_fd not found
- hmem_neuron: check existance of neuron devices during initialization
- tostr: Moved Windows functions in shared/ofi_str.c to windows/osd.h
OBS-URL: https://build.opensuse.org/request/show/1108986
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=93
- Update to 1.18.1
- Core
- Fix build warning for ofi_dynpoll_get_fd
- EFA
- Handle 0-byte writes
- Apply byte_in_order_128_byte for all memory type
- Increase default shm_av_size to 256
- Force handshake before selecting rtm for non-system ifaces.
- Only select readbase_rtm when both sides support rdma-read
- Bugfix for initializing SHM offload
- Correct CPPFLAGS during configure
- Make setopt support sendrecv aligned 128 bytes
- Make data size to be 128 byte multiples for in-order aligned send/recv
- prepare local read pkt entry for in-order aligned send/recv.
- Disable gdrcopy and cudamemcpy for in-order aligned recv.
- Increase the pad size in rxr_pkt_entry
- Make readcopy pkt pool 128 byte aligned
- Introduce alignment to support in order aligned ops
- Fix a bug when calling ibv_query_qp_data_in_order
- RMA operations will ensure FI_ATOMIC cap
- RMA operations will ensure FI_RMA cap
- Unittest atomics without FI_ATOMIC cap.
- Unittest RMA without FI_RMA cap.
- Refactor pkt_entry assignment in poll_ibv loop
- Fixes for RDMA Write and Writedata
- RXM
- Revert rxm util peer CQ support
- Fix credit size parameter for flow ctrl
- SHM
- Fix DSA enable
OBS-URL: https://build.opensuse.org/request/show/1096631
OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=89