Skip to content

Commit 4a7d3ad

Browse files
author
Sean Hefty
committed
v1.17.0
Signed-off-by: Sean Hefty <[email protected]>
1 parent d2676e7 commit 4a7d3ad

File tree

6 files changed

+130
-74
lines changed

6 files changed

+130
-74
lines changed

NEWS.md

Lines changed: 114 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,52 +6,153 @@ bug fixes (and other actions) for each version of Libfabric since
66
version 1.0. New major releases include all fixes from minor
77
releases with earlier release dates.
88

9-
v1.17.0, Fri Dec 9, 2022
10-
========================
9+
v1.17.0, Fri Dec 16, 2022
10+
=========================
1111

1212
## Core
1313

14-
- TODO
14+
- Add IFF_RUNNING check to indicate iface is up and running
15+
- General code cleanups
16+
- Add abstraction for common io_uring operations
17+
- Support ROCR get_base_addr
18+
- Add a 'flags' parameter to fi_barrier()
19+
- Introduce new calls for opening domain and endpoint with flags
20+
- Add ability to re-sort the fi_info list
21+
- Allowing layering of rxm over net provider
22+
- General cleanup of provider filtering functions
23+
- Add io_uring operations to be used by sockapi
24+
- Modify internal handling of async socket operations
25+
- Sockets operations are moved to a common sockapi abstraction
26+
- Add support for Ze host register/unregister
27+
- Add new offload provider type
28+
- Rename fi_prov_context and simplify its use
29+
- Convert interface prefix string checks to exact checks
1530

1631
## EFA
1732

18-
- TODO
33+
- Code cleanups and various bug fixes
34+
- Improved debug logging and warnings and assertions
35+
- Do not ignore hints->domain_attr->name
36+
- Fix the calculation of REQ header size for a packet entry
37+
- Fix default value for host memory's max_medium_msg_size
38+
- Add tracepoints to send/recv/read ops
39+
- Simplified emulated read protocol
40+
- Set use_device_rdma according to efa device id
41+
- Fix shm initialization path on error
42+
- Fix Implementation of FI_EFA_INTER_MIN_READ_MESSAGE_SIZE
43+
- Do not enable rdma_read if rxr_env.use_device_rdma is false
44+
- Remove de-allocated CUDA memory region during registration
45+
- Fix the error handling path of efa_mr_reg_impl()
46+
- Fix rxr_ep unit tests involving ibv_cq_ex
47+
- Add check of rdma-read capability for synapseai
48+
- Report correct default for runt_size parameter
49+
- Toggle cuda sync memops via environment variable.
1950

2051
## Net
2152

22-
- TODO
53+
- Continued fork of tcp provider, will eventually merge changes back
54+
- Fix inject support
55+
- Fix memory leak in peek/claim path
56+
- General code cleanups and bug fixes from initial fork
57+
- Allow looking ahead in tcp stream to handle out-of-order messages
58+
- Add message tracing ability
59+
- Fetch correct ep when posting to a loopback connection
60+
- Release lock in case of error in rdm_close
61+
- Fix error path in xnet_enable_rdm
62+
- Add missing progress lock in srx cleanup
63+
- Code restructuring and enhancements with longer term goal of supporting io_uring
64+
- Disable the progress thread in most situations
65+
- Rename DL from libxnet-fi to libnet-fi
66+
- Add missing initialization calls for DL provider
67+
- Add support for FI_PEEK, FI_CLAIM, and FI_DISCARD
68+
- Include source address with CQ entry
69+
- Fix support for FI_MULTI_RECV
2370

2471
## OPX
2572

26-
- TODO
73+
- Bug fixes and general code cleanup
74+
- Fix progress checks and default domain
75+
- Allow atomic fetch ops to use SDMA for sufficiently large counts
76+
- Cleaned up FI_LOG_LEVEL=warn output
77+
- Reset default progress to FI_PROGRESS_MANUAL
78+
- Fixed GCC 10 build error with Auto Progress
79+
- Add support for FI_PROGRESS_AUTO
80+
- Use max allowed packet size in SDMA path when expected TID is turned off
81+
- Expected receive (TID) rendezvous
82+
- RMA Read/Write operations over SDMA
83+
- Remove origin_rs from cts and dput packet header.
84+
- Fix for hang - unable to match inbound packets with receive
85+
context->src_addr (DAOS CART tests)
86+
- Use single IOV for bounce buffer in SDMA requests.
87+
- Check for FI_MULTI_RECV with bitwise OR instead of AND
88+
- Fix for intermittent intra-node deadlock hang (DAOS CART tests)
89+
- Fix to RPC transport error failure (DAOS CART tests)
90+
- Fix for context->buf set to NULL
91+
- Fix bad asserts
92+
- Ensure atomicity of atomic ops
93+
- fi_opx_cq_poll_inline count and head check fix
94+
- Fix intermittent intra-node hang causing RPC timeouts (DAOS CART tests)
95+
- Temporarily reduce SDMA queue ring size for possible driver bug workaround
96+
- Fix alignment issue and asserts
97+
- Enable more parallel SDMA operations
2798

2899
## PSM3
29100

30-
- TODO
101+
- Synced to IEFS 11.4.0.0.198
102+
- Tech Preview Ubuntu 22.04 Support
103+
- Tech Preview Intel DSA Support
104+
- Improved Intel GPU Support
105+
- Various performance improvements
106+
- Various bug fixes
31107

32108
## RxM
33109

34-
- TODO
110+
- Always use rendezvous protocol for ZE device memory send
111+
- Code cleanup
112+
- Add option to free resources on AV removal
35113

36114
## SHM
37115

38-
- TODO
116+
- Fix user_id support
117+
- Write tx err comp to correct cq
118+
- Fix index when setting FI_ADDR_USER_ID
119+
- Remove extraneous ofi_cirque_next() call
120+
- Add support for FI_AV_USER_ID
121+
- Fix multi_recv messaging
122+
- General code restructuring for maintainability
123+
- Implement shared completion queues
124+
- Decouple error processing from cq completion path to avoid switch
125+
- Fix incorrect op passed into recv cancel operation
126+
- Enhanced SHM implementation with DSA offload
127+
- Use multiple SAR buffers per copy operation
128+
- Fix ZE IPC race condition on startup
39129

40130
## TCP
41131

42-
- TODO
132+
- Minor updates in preparation for io_uring support (via net provider)
43133

44134
## Util
45135

46-
- TODO
136+
- Add option to free resources on AV removal
137+
- Add 'flags' parameter to new fi_barrier2() call
138+
- Add debugging in ofi_mr_map_verify
139+
- Rename internal bitmask struct to include ofi prefix
47140

48141
## Verbs
49142

50-
- TODO
143+
- Add option to disable dmabuf support
144+
- FI_SOCKADDR includes support of FI_SOCKADDR_IB
51145

52146
## Fabtests
53147

54-
- TODO
148+
- shared: Expand hmem support
149+
- fi_loopback: Add support for tagged messages
150+
- fi_mr_test: add support of hmem
151+
- fi_rdm_atomic: Fix hmem support
152+
- fi_rdm_tagged_peek: Read messages in order, code cleanup and fixes
153+
- fi_multinode: Add performance and runtime control options, cleanups
154+
- benchmarks: Add data verification to some bw tests
155+
- fi_multi_recv: Fix possible crash in cleanup
55156

56157
v1.16.1, Fri Oct 7, 2022
57158
========================

README.md

Lines changed: 5 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -158,25 +158,6 @@ PSM2 on the host software stack, leading to better overall performance.
158158
See the `fi_opx(7)` man page for more details. See [Cornelis Customer
159159
Center](https://customercenter.cornelisnetworks.com/) for support information.
160160

161-
### psm
162-
163-
***
164-
165-
The `psm` provider runs over the PSM 1.x interface that is currently supported
166-
by the Intel TrueScale Fabric. PSM provides tag-matching message queue
167-
functions that are optimized for MPI implementations. PSM also has limited
168-
Active Message support, which is not officially published but is quite stable
169-
and well documented in the source code (part of the OFED release). The `psm`
170-
provider makes use of both the tag-matching message queue functions and the
171-
Active Message functions to support various libfabric data transfer APIs,
172-
including tagged message queue, message queue, RMA, and atomic
173-
operations.
174-
175-
The `psm` provider can work with the `psm2-compat` library, which exposes
176-
a PSM 1.x interface over the Intel Omni-Path Fabric.
177-
178-
See the `fi_psm(7)` man page for more details.
179-
180161
### psm2
181162

182163
***
@@ -290,50 +271,21 @@ option is redundant with `--with-usnic`.
290271
***
291272

292273
The verbs provider enables applications using OFI to be run over any verbs
293-
hardware (Infiniband, iWarp, and RoCE). It uses the Linux Verbs API for network
294-
transport and translates OFI calls to appropriate verbs API calls.
295-
It uses librdmacm for communication management and libibverbs for other control
296-
and data transfer operations.
274+
hardware (Infiniband, iWarp, and RoCE). It uses either the Linux Verbs API or
275+
Windows Network Direct API for network transport and translates OFI calls
276+
to appropriate lower-level API calls.
297277

298278
See the `fi_verbs(7)` man page for more details.
299279

300280
#### Dependencies
301281

302-
- The verbs provider requires libibverbs (v1.1.8 or newer) and librdmacm (v1.0.16
282+
- The linux verbs provider requires libibverbs (v1.1.8 or newer) and librdmacm (v1.0.16
303283
or newer). If you are compiling libfabric from source and want to enable verbs
304284
support, you will also need the matching header files for the above two libraries.
305285
If the libraries and header files are not in default paths, specify them in CFLAGS,
306286
LDFLAGS and LD_LIBRARY_PATH environment variables.
307287

308-
### bgq
309-
310-
***
311-
312-
The `bgq` provider is a native provider that directly utilizes the hardware
313-
interfaces of the Blue Gene/Q system to implement aspects of the libfabric
314-
interface to fully support MPICH3 CH4.
315-
316-
See the `fi_bgq(7)` man page for more details.
317-
318-
#### Dependencies
319-
320-
- The `bgq` provider depends on the system programming interfaces (SPI) and
321-
the hardware interfaces (HWI) located in the Blue Gene/Q driver installation.
322-
Additionally, the open source Blue Gene/Q system files are required.
323-
324-
#### Configure options
325-
326-
```
327-
--with-bgq-progress=(auto|manual)
328-
```
329-
330-
If specified, set the progress mode enabled in FABRIC_DIRECT (default is FI_PROGRESS_MANUAL).
331-
332-
```
333-
--with-bgq-mr=(basic|scalable)
334-
```
335-
336-
If specified, set the memory registration mode (default is FI_MR_BASIC).
288+
- For Windows, see the Network Direct section for dependencies, which are the same.
337289

338290
### Network Direct
339291

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ dnl
88
dnl Process this file with autoconf to produce a configure script.
99

1010
AC_PREREQ([2.60])
11-
AC_INIT([libfabric], [1.17.0rc2], [[email protected]])
11+
AC_INIT([libfabric], [1.17.0], [[email protected]])
1212
AC_CONFIG_SRCDIR([src/fabric.c])
1313
AC_CONFIG_AUX_DIR(config)
1414
AC_CONFIG_MACRO_DIR(config)

fabtests/README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,20 @@ software library.
77
## Notes
88

99
Note that the fabtests suite is released paired with a specific
10-
version of libfabric. For example, libfabric v1.4 and fabtests v1.4
10+
version of libfabric. For example, libfabric v1.14 and fabtests v1.14
1111
were released together.
1212

1313
Using these paired versions is the best way to test a given version of
1414
libfabric. Using version-mismatched libfabric/fabtests pairs may
15-
produce unexpected results.
15+
produce unexpected results. A newer version of fabtests is not
16+
guaranteed to work with an older version of libfabric. However, an
17+
older version of fabtests is expected to work with a newer version
18+
of libfabric, in order to validate libfabric backwards compatibility.
1619

1720
## Building fabtests
1821

1922
Distribution tarballs are available from the Github
20-
[releases](https://github.com/ofiwg/fabtests/releases) tab.
23+
[releases](https://github.com/ofiwg/libfabric/releases) tab.
2124

2225
If you are building Fabtests from a developer Git clone, you must
2326
first run the `autogen.sh` script. This will invoke the GNU Autotools
@@ -70,7 +73,7 @@ penalty.
7073
Consider the following example:
7174

7275
```
73-
$ ./configure --with-libfabric=/opt/libfabric --prefix=/opt/fabtests && make -j 32 && sudo make install
76+
$ ./configure --with-libfabric=/opt/libfabric --prefix=/opt/fabtests && make -j && sudo make install
7477
```
7578

7679
This will tell the Fabtests to look for Libfabric libraries in the
@@ -80,7 +83,7 @@ This will tell the Fabtests to look for Libfabric libraries in the
8083
Alternatively:
8184

8285
```
83-
$ ./configure --prefix=/opt/fabtests && make -j 32 && sudo make install
86+
$ ./configure --prefix=/opt/fabtests && make -j 32 sudo make install
8487
```
8588

8689
Tells the Fabtests that it should be able to find the Libfabric header

fabtests/configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ dnl
55
dnl Process this file with autoconf to produce a configure script.
66

77
AC_PREREQ(2.57)
8-
AC_INIT([fabtests], [1.17.0rc2], [[email protected]])
8+
AC_INIT([fabtests], [1.17.0], [[email protected]])
99
AC_CONFIG_AUX_DIR(config)
1010
AC_CONFIG_MACRO_DIR(config)
1111
AC_CONFIG_HEADERS(config.h)

include/windows/config.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@
174174
#define PACKAGE_TARNAME PACKAGE
175175

176176
/* Define to the version of this package. */
177-
#define PACKAGE_VERSION "1.17.0rc2"
177+
#define PACKAGE_VERSION "1.17.0"
178178

179179
/* Define to the full name and version of this package. */
180180
#define PACKAGE_STRING PACKAGE_NAME " " PACKAGE_VERSION

0 commit comments

Comments
 (0)