Skip to content

Commit d9c31ef

Browse files
ofiwg-botgithub-actions[bot]
authored andcommitted
Updated nroff-generated man pages
Signed-off-by: OFIWG Bot <[email protected]>
1 parent 2669c62 commit d9c31ef

File tree

6 files changed

+110
-19
lines changed

6 files changed

+110
-19
lines changed

man/man3/fi_av.3

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
. ftr VB CB
1515
. ftr VBI CBI
1616
.\}
17-
.TH "fi_av" "3" "2024\-10\-11" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
17+
.TH "fi_av" "3" "2024\-10\-15" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
1818
.hy
1919
.SH NAME
2020
.PP
@@ -430,9 +430,10 @@ authorization keys.
430430
These fi_addr_t\[cq]s can be used as the target for local data transfer
431431
operations.
432432
.PP
433-
If the endpoint supports \f[V]FI_DIRECTED_RECV\f[R], these
434-
fi_addr_t\[cq]s can be used to restrict receive buffers to a specific
435-
endpoint address and authorization key.
433+
If the endpoint supports \f[V]FI_DIRECTED_RECV\f[R] or
434+
\f[V]FI_TAGGED_DIRECTED_RECV\f[R], these fi_addr_t\[cq]s can be used to
435+
restrict receive buffers to a specific endpoint address and
436+
authorization key.
436437
.PP
437438
For address vectors configured with FI_AV_USER_ID, all subsequent target
438439
events corresponding to the address being inserted will return

man/man3/fi_endpoint.3

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
. ftr VB CB
1515
. ftr VBI CBI
1616
.\}
17-
.TH "fi_endpoint" "3" "2024\-10\-11" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
17+
.TH "fi_endpoint" "3" "2024\-10\-15" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
1818
.hy
1919
.SH NAME
2020
.PP
@@ -1502,8 +1502,9 @@ capability bits from the fi_info structure will be used.
15021502
.PP
15031503
The following capabilities apply to the receive attributes: FI_MSG,
15041504
FI_RMA, FI_TAGGED, FI_ATOMIC, FI_REMOTE_READ, FI_REMOTE_WRITE, FI_RECV,
1505-
FI_HMEM, FI_TRIGGER, FI_RMA_PMEM, FI_DIRECTED_RECV, FI_MULTI_RECV,
1506-
FI_SOURCE, FI_RMA_EVENT, FI_SOURCE_ERR, FI_COLLECTIVE, and FI_XPU.
1505+
FI_HMEM, FI_TRIGGER, FI_RMA_PMEM, FI_DIRECTED_RECV,
1506+
FI_TAGGED_DIRECTED_RECV, FI_TAGGED_MULTI_RECV, FI_MULTI_RECV, FI_SOURCE,
1507+
FI_RMA_EVENT, FI_SOURCE_ERR, FI_COLLECTIVE, and FI_XPU.
15071508
.PP
15081509
Many applications will be able to ignore this field and rely solely on
15091510
the fi_info::caps field.

man/man3/fi_getinfo.3

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
. ftr VB CB
1515
. ftr VBI CBI
1616
.\}
17-
.TH "fi_getinfo" "3" "2024\-10\-11" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
17+
.TH "fi_getinfo" "3" "2024\-10\-15" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
1818
.hy
1919
.SH NAME
2020
.PP
@@ -337,6 +337,17 @@ incoming message when matching it with a receive buffer.
337337
If this capability is not set, then the src_addr parameter for msg and
338338
tagged receive operations is ignored.
339339
.TP
340+
\f[I]FI_TAGGED_DIRECTED_RECV\f[R]
341+
Similar to FI_DIRECTED_RECV, but only applies to tagged receive
342+
operations.
343+
.TP
344+
\f[I]FI_EXACT_DIRECTED_RECV\f[R]
345+
Similar to FI_DIRECTED_RECV, but requires the source address to be
346+
exact, i.e., FI_ADDR_UNSPEC is not allowed.
347+
This capability can be used alone, or in conjunction with
348+
FI_DIRECTED_RECV or FI_TAGGED_DIRECTED_RECV as a modifier to disallow
349+
FI_ADDR_UNSPEC being used as the source address.
350+
.TP
340351
\f[I]FI_FENCE\f[R]
341352
Indicates that the endpoint support the FI_FENCE flag on data transfer
342353
operations.
@@ -386,6 +397,10 @@ send-only or receive-only.
386397
Specifies that the endpoint must support the FI_MULTI_RECV flag when
387398
posting receive buffers.
388399
.TP
400+
\f[I]FI_TAGGED_MULTI_RECV\f[R]
401+
Specifies that the endpoint must support the FI_MULTI_RECV flag when
402+
posting tagged receive buffers.
403+
.TP
389404
\f[I]FI_NAMED_RX_CTX\f[R]
390405
Requests that endpoints which support multiple receive contexts allow an
391406
initiator to target (or name) a specific receive context as part of a
@@ -527,15 +542,16 @@ A provider may optionally report non-selected secondary capabilities if
527542
doing so would not compromise performance or security.
528543
.PP
529544
Primary capabilities: FI_MSG, FI_RMA, FI_TAGGED, FI_ATOMIC,
530-
FI_MULTICAST, FI_NAMED_RX_CTX, FI_DIRECTED_RECV, FI_HMEM, FI_COLLECTIVE,
531-
FI_XPU, FI_AV_USER_ID, FI_PEER
545+
FI_MULTICAST, FI_NAMED_RX_CTX, FI_DIRECTED_RECV,
546+
FI_TAGGED_DIRECTED_RECV, FI_HMEM, FI_COLLECTIVE, FI_XPU, FI_AV_USER_ID,
547+
FI_PEER
532548
.PP
533549
Primary modifiers: FI_READ, FI_WRITE, FI_RECV, FI_SEND, FI_REMOTE_READ,
534550
FI_REMOTE_WRITE
535551
.PP
536-
Secondary capabilities: FI_MULTI_RECV, FI_SOURCE, FI_RMA_EVENT,
537-
FI_SHARED_AV, FI_TRIGGER, FI_FENCE, FI_LOCAL_COMM, FI_REMOTE_COMM,
538-
FI_SOURCE_ERR, FI_RMA_PMEM.
552+
Secondary capabilities: FI_MULTI_RECV, FI_TAGGED_MULTI_RECV, FI_SOURCE,
553+
FI_RMA_EVENT, FI_SHARED_AV, FI_TRIGGER, FI_FENCE, FI_LOCAL_COMM,
554+
FI_REMOTE_COMM, FI_SOURCE_ERR, FI_RMA_PMEM.
539555
.SH MODE
540556
.PP
541557
The operational mode bits are used to convey requirements that an

man/man3/fi_mr.3

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
. ftr VB CB
1515
. ftr VBI CBI
1616
.\}
17-
.TH "fi_mr" "3" "2024\-10\-11" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
17+
.TH "fi_mr" "3" "2024\-10\-15" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
1818
.hy
1919
.SH NAME
2020
.PP
@@ -152,6 +152,17 @@ mode bits, specified through the domain attributes (mr_mode field).
152152
Each mr_mode bit requires that an application take specific steps in
153153
order to use memory buffers with libfabric interfaces.
154154
.PP
155+
As a special case, a new memory region can be created from an existing
156+
memory region.
157+
Such a new memory region is called a sub-MR, and the existing memory
158+
region is called the base MR.
159+
Sub-MRs may be used to shared hardware resources, such as virtual to
160+
physical address translations and page pinning.
161+
This can improve performance when creating and destroying sub-regions
162+
that need different access rights.
163+
The base MR itself can also be a sub-MR, allowing for a hierarchy of
164+
memory regions.
165+
.PP
155166
The following apply to memory registration.
156167
.TP
157168
\f[I]Default Memory Registration\f[R]
@@ -630,8 +641,8 @@ passed directly into calls as function parameters.
630641
\f[C]
631642
struct fi_mr_attr {
632643
union {
633-
const struct iovec *mr_iov;
634-
const struct fi_mr_dmabuf *dmabuf;
644+
const struct iovec *mr_iov;
645+
const struct fi_mr_dmabuf *dmabuf;
635646
};
636647
size_t iov_count;
637648
uint64_t access;
@@ -650,6 +661,8 @@ struct fi_mr_attr {
650661
} device;
651662
void *hmem_data;
652663
size_t page_size;
664+
const struct fid_mr *base_mr;
665+
size_t sub_mr_cnt;
653666
};
654667

655668
struct fi_mr_auth_key {
@@ -880,6 +893,32 @@ failed transfers to or from the region.
880893
.PP
881894
Providers may choose to ignore page size.
882895
This will result in a provider selected page size always being used.
896+
.SS base_mr
897+
.PP
898+
If non-NULL, create a sub-MR from an existing memory region specified by
899+
the base_mr field.
900+
.PP
901+
The sub-MR must be fully contained within the base MR; however, the
902+
sub-MR has its own authorization keys and access rights.
903+
The following attributes are inherited from the base MR, and as a
904+
result, are ignored when creating the sub-MR:
905+
.PP
906+
iface, device, hmem_data, page_size
907+
.PP
908+
The sub-MR should hold a reference to the base MR.
909+
When fi_close is called on the base MR, the call would fail if there are
910+
any outstanding sub-MRs.
911+
.PP
912+
The base_mr field must be NULL if the FI_MR_DMABUF flag is set.
913+
.SS sub_mr_cnt
914+
.PP
915+
The number of sub-MRs expected to be created from the memory region.
916+
This value is not a limit.
917+
Instead, it is a hint to the provider to allow provider specific
918+
optimization for sub-MR creation.
919+
For example, the provider may reserve access keys or pre-allocation
920+
fid_mr objects.
921+
The provider may ignore this hint.
883922
.SS fi_hmem_ze_device
884923
.PP
885924
Returns an hmem device identifier for a level zero <driver, device>
@@ -979,6 +1018,13 @@ fi_mr_attr structure.
9791018
This flag is only usable for domains opened with FI_HMEM capability
9801019
support.
9811020
.TP
1021+
\f[I]FI_MR_SINGLE_USE\f[R]
1022+
This flag indicates that the memory region is only used for a single
1023+
operation.
1024+
After the operation is complete, the key associated with the memory
1025+
region is automatically invalidated and can no longer be used for remote
1026+
access.
1027+
.TP
9821028
\f[I]FI_AUTH_KEY\f[R]
9831029
Only valid with domains configured with FI_AV_AUTH_KEY.
9841030
When used with fi_mr_regattr, this flag denotes that the

man/man3/fi_msg.3

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
. ftr VB CB
1515
. ftr VBI CBI
1616
.\}
17-
.TH "fi_msg" "3" "2024\-10\-11" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
17+
.TH "fi_msg" "3" "2024\-10\-15" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
1818
.hy
1919
.SH NAME
2020
.PP
@@ -186,6 +186,12 @@ of the endpoint is to write CQ entries for all successful completions.
186186
See the flags discussion below for more details.
187187
The requested message size that can be used with fi_inject is limited by
188188
inject_size.
189+
.PP
190+
If FI_HMEM is enabled, the fi_inject call can only accept buffer with
191+
iface equal to FI_HMEM_SYSTEM if the provider requires the FI_MR_HMEM
192+
mr_mode.
193+
This limitation applies to all the fi_*inject* calls and does not affect
194+
how inject_size is reported.
189195
.SS fi_senddata
190196
.PP
191197
The send data call is similar to fi_send, but allows for the sending of

man/man3/fi_tagged.3

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
. ftr VB CB
1515
. ftr VBI CBI
1616
.\}
17-
.TH "fi_tagged" "3" "2024\-10\-11" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
17+
.TH "fi_tagged" "3" "2024\-10\-15" "Libfabric Programmer\[cq]s Manual" "#VERSION#"
1818
.hy
1919
.SH NAME
2020
.PP
@@ -283,6 +283,26 @@ This may require that the underlying provider implementation copy the
283283
data into a local buffer and transfer out of that buffer.
284284
This flag can only be used with messages smaller than inject_size.
285285
.TP
286+
\f[I]FI_MULTI_RECV\f[R]
287+
Applies to posted tagged receive operations when the
288+
FI_TAGGED_MULTI_RECV capability is enabled.
289+
This flag allows the user to post a single tagged receive buffer that
290+
will receive multiple incoming messages.
291+
Received messages will be packed into the receive buffer until the
292+
buffer has been consumed.
293+
Use of this flag may cause a single posted receive operation to generate
294+
multiple events as messages are placed into the buffer.
295+
The placement of received data into the buffer may be subjected to
296+
provider specific alignment restrictions.
297+
.PP
298+
The buffer will be released by the provider when the available buffer
299+
space falls below the specified minimum (see FI_OPT_MIN_MULTI_RECV).
300+
Note that an entry to the associated receive completion queue will
301+
always be generated when the buffer has been consumed, even if other
302+
receive completions have been suppressed (i.e.\ the Rx context has been
303+
configured for FI_SELECTIVE_COMPLETION).
304+
See the FI_MULTI_RECV completion flag \f[V]fi_cq\f[R](3).
305+
.TP
286306
\f[I]FI_INJECT_COMPLETE\f[R]
287307
Applies to fi_tsendmsg.
288308
Indicates that a completion should be generated when the source
@@ -315,7 +335,8 @@ operation (inclusive) to the posting of a subsequent fenced operation
315335
.TP
316336
\f[I]FI_AUTH_KEY\f[R]
317337
Only valid with domains configured with FI_AV_AUTH_KEY and
318-
connectionless endpoints configured with FI_DIRECTED_RECV.
338+
connectionless endpoints configured with FI_DIRECTED_RECV or
339+
FI_TAGGED_DIRECTED_RECV.
319340
When used with fi_trecvmsg, this flag denotes that the src_addr is an
320341
authorization key fi_addr_t instead of an endpoint fi_addr_t.
321342
.PP

0 commit comments

Comments
 (0)