Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

core: Add endpoint options for max message size and inject size #10070

Merged
merged 1 commit into from
Jun 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions include/rdma/fi_endpoint.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,14 @@ enum {
FI_OPT_XPU_TRIGGER, /* reserved for compatibility */
FI_OPT_CUDA_API_PERMITTED, /* bool */
FI_OPT_SHARED_MEMORY_PERMITTED, /* bool */
FI_OPT_MAX_MSG_SIZE, /* size_t */
FI_OPT_MAX_TAGGED_SIZE, /* size_t */
FI_OPT_MAX_RMA_SIZE, /* size_t */
FI_OPT_MAX_ATOMIC_SIZE, /* size_t */
FI_OPT_INJECT_MSG_SIZE, /* size_t */
FI_OPT_INJECT_TAGGED_SIZE, /* size_t */
FI_OPT_INJECT_RMA_SIZE, /* size_t */
FI_OPT_INJECT_ATOMIC_SIZE, /* size_t */
};

/*
Expand Down
64 changes: 64 additions & 0 deletions man/fi_endpoint.3.md
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,70 @@ The following option levels and option names and parameters are defined.
shared memory will not be used and the implementation of intra-node communication
is provider dependent.

- *FI_OPT_MAX_MSG_SIZE - size_t *
: Define the maximum message size that can be transferred by the endpoint
in a single untagged message. The size is limited by the endpoint's configuration
and the provider's capabilities, and must be less than or equal to
`ep_attr->max_msg_size`.
Providers that don't support this option will return -FI_ENOPROTOOPT. In that
case, `ep_attr->max_msg_size` should be used.

- *FI_OPT_MAX_TAGGED_SIZE - size_t *
: Define the maximum message size that can be trnasferred by the endpoint
in a single tagged message. The size is limited by the endpoint's configuration
and the provider's capabilities, and must be less than or equal to
`ep_attr->max_msg_size`.
Providers that don't support this option will return -FI_ENOPROTOOPT. In that
case, `ep_attr->max_msg_size` should be used.

- *FI_OPT_MAX_RMA_SIZE - size_t *
: Define the maximum message size that can be transferred by the endpoint
via a single RMA operation. The size is limited by the endpoint's configuration
and the provider's capabilities, and must be less than or equal to
`ep_attr->max_msg_size`.
Providers that don't support this option will return -FI_ENOPROTOOPT. In that
case, `ep_attr->max_msg_size` should be used.

- *FI_OPT_MAX_ATOMIC_SIZE - size_t *
: Define the maximum data size that can be transferred by the endpoint
via a single atomic operation. The size is limited by the endpoint's configuration
and the provider's capabilities, and must be less than or equal to
`ep_attr->max_msg_size`.
Providers that don't support this option will return -FI_ENOPROTOOPT. In that
case, `ep_attr->max_msg_size` should be used.

- *FI_OPT_INJECT_SIZE - size_t *
: Define the maximum message size that can be injected by the endpoint
in a single untagged message. The size is limited by the endpoint's configuration
and the provider's capabilities, and must be less than or equal to
`tx_attr->inject_size`.
Providers that don't support this option will return -FI_ENOPROTOOPT. In that
case, `tx_attr->inject_size` should be used.

- *FI_OPT_TAGGED_INJECT_SIZE - size_t *
: Define the maximum message size that can be injected by the endpoint
in a single tagged message. The size is limited by the endpoint's configuration
and the provider's capabilities, and must be less than or equal to
`tx_attr->inject_size`.
Providers that don't support this option will return -FI_ENOPROTOOPT. In that
case, `tx_attr->inject_size` should be used.

- *FI_OPT_RMA_INJECT_SIZE - size_t *
: Define the maximum data size that can be injected by the endpoint
in a single RMA operation. The size is limited by the endpoint's configuration
and the provider's capabilities, and must be less than or equal to
`tx_attr->inject_size`.
Providers that don't support this option will return -FI_ENOPROTOOPT. In that
case, `tx_attr->inject_size` should be used.

- *FI_OPT_ATOMIC_INJECT_SIZE - size_t *
: Define the maximum data size that can be injected by the endpoint
in a single atomic operation. The size is limited by the endpoint's configuration
and the provider's capabilities, and must be less than or equal to
`tx_attr->inject_size`.
Providers that don't support this option will return -FI_ENOPROTOOPT. In that
case, `tx_attr->inject_size` should be used.

## fi_tc_dscp_set

This call converts a DSCP defined value into a libfabric traffic class value.
Expand Down
Loading