Skip to content

Issue #1230: transport/ofi: do not constrain inject_size hint to sizeof(long double)#1231

Draft
bcmIntc wants to merge 3 commits into
Sandia-OpenSHMEM:mainfrom
bcmIntc:bcm_issue1230
Draft

Issue #1230: transport/ofi: do not constrain inject_size hint to sizeof(long double)#1231
bcmIntc wants to merge 3 commits into
Sandia-OpenSHMEM:mainfrom
bcmIntc:bcm_issue1230

Conversation

@bcmIntc
Copy link
Copy Markdown
Collaborator

@bcmIntc bcmIntc commented May 12, 2026

Summary

Addresses Issue #1230.

  • query_for_fabric previously initialized shmem_transport_ofi_max_buffered_send = sizeof(long double) before calling fi_getinfo, which passed that value as
    tx_attr.inject_size — telling the provider it must support at least 16-byte inject. This caused fi_getinfo to filter out providers that advertise a smaller
    natural inject size.
  • This change sets the hint to 0 (no minimum constraint) so the provider reports its natural inject_size. The returned value is immediately adopted after
    fi_getinfo, and the existing assert (inject_size >= max_buffered_send) trivially holds since both are 0 at that point.
  • On providers where the natural inject size is smaller than 16 bytes, the previous behavior could silently fail to select an otherwise valid endpoint, or cause
    fi_getinfo to return an inflated inject_size that doesn't reflect actual NIC capability.

Test plan

  • Build and make check with CXI provider
  • Build and make check with verbs provider
  • Confirm shmem_transport_ofi_max_buffered_send value logged at startup reflects the provider's natural inject size
  • Verify no regression in small-message latency (inject path still engaged for messages <= provider's natural inject size)

bcmIntc added 3 commits April 23, 2026 07:23
Let the provider advertise its natural inject_size rather than
requiring it to be at least sizeof(long double). The returned
inject_size is adopted immediately after fi_getinfo.
@bcmIntc bcmIntc changed the title Issue1230: transport/ofi: do not constrain inject_size hint to sizeof(long double) Issue #1230: transport/ofi: do not constrain inject_size hint to sizeof(long double) May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants