-
Notifications
You must be signed in to change notification settings - Fork 368
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
libfabric version2: Initial set of proposed changes #9384
base: main
Are you sure you want to change the base?
Commits on Oct 9, 2023
-
Provider only supported by 1.x series Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 76e2999 - Browse repository at this point
Copy the full SHA 76e2999View commit details -
Provider only supported by v1.x series Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for e231758 - Browse repository at this point
Copy the full SHA e231758View commit details -
prov/rstream: Remove unfinished provider
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for bbcf4ac - Browse repository at this point
Copy the full SHA bbcf4acView commit details -
GNI is only supported by the v1.x series Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for c1ae77e - Browse repository at this point
Copy the full SHA c1ae77eView commit details -
NetworkDirect support is supported by verbs provider. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for ac4400a - Browse repository at this point
Copy the full SHA ac4400aView commit details
Commits on Oct 16, 2023
-
Sockets provider is only supported in the v1.x series Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 692339f - Browse repository at this point
Copy the full SHA 692339fView commit details -
prov/tcp: Add support for FABRIC_DIRECT builds
The sockets provider will be removed. This adds the ability to verify the FABRIC_DIRECT build option and provide blank direct header file templates. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 26380e4 - Browse repository at this point
Copy the full SHA 26380e4View commit details -
core: Remove internally used definitions from public headers
Several defines and values should not have been exposed in the public header files. Remove or move the definitions into internal headers. This removes the chance of possible conflicts with application definitions and API breakage. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 964e193 - Browse repository at this point
Copy the full SHA 964e193View commit details -
core: Move FI_PRIORITY to internal flag
Flag is only used between rxm and verbs. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 57984a2 - Browse repository at this point
Copy the full SHA 57984a2View commit details -
core: Remove FI_PROVIDER_SPECIFIC
The value is constrained to 32-bit int flags, not u64 flags. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 486d48d - Browse repository at this point
Copy the full SHA 486d48dView commit details -
core: Remove unimplemented EP types
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 224195d - Browse repository at this point
Copy the full SHA 224195dView commit details -
core: Remove unimplemented FI_VARIABLE_MSG
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for d40be4a - Browse repository at this point
Copy the full SHA d40be4aView commit details -
core: Remove unimplemented FI_XPU_TRIGGER
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 50717fc - Browse repository at this point
Copy the full SHA 50717fcView commit details -
core: Remove unused FI_RESTRICTED_COMP and FI_NOTIFY_FLAGS_ONLY
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for d3ba9f8 - Browse repository at this point
Copy the full SHA d3ba9f8View commit details -
Remove support for asynchronous insertions and AV_MAP. The format of the fi_addr_t value will either be indexed based in the standard case or provider defined in more advanced use cases, based on the AV configuration (such as using auth_keys). Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for ec2be57 - Browse repository at this point
Copy the full SHA ec2be57View commit details -
core: Move FI_BUFFERED_RECV to internal flag
Remove FI_BUFFERED_RECV as an exported API option. Since it's currently used internally between mrail and rxm, make it an internal only option. It has a limited use case for multirail over rxm over connected endpoints where shared receive queues are not available. With shared receive queues, the feature wouldn't be needed, as mrail could own the buffers outright. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for c59d16c - Browse repository at this point
Copy the full SHA c59d16cView commit details -
core: Document preferred threading model for scalable endpoints
Recommend that applications and providers use FI_THREAD_COMPLETION as the preferred threading model for lockless operation when using scalable endpoints. This helps align application design with the provider implementation. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for ce9622f - Browse repository at this point
Copy the full SHA ce9622fView commit details -
core: Simplify threading models
Remove overly complicated threading models and focus on specific models to allow better alignment between application designs and provider implementation. Use FI_THREAD_DOMAIN as the preferred lockless threading model for standard endpoints. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for f3ac4bc - Browse repository at this point
Copy the full SHA f3ac4bcView commit details -
core: Simplify progress definition
Combine data and control progress into one progress option. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 1413486 - Browse repository at this point
Copy the full SHA 1413486View commit details -
core: Remove comp_order attribute
Completions are always unordered. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 1466a80 - Browse repository at this point
Copy the full SHA 1466a80View commit details -
core: Remove total_buffered_recv
Field was deprecated and only serves as a placeholder for compatility. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 133d965 - Browse repository at this point
Copy the full SHA 133d965View commit details -
Support for wait sets adds significant complexity to the provider implementation and is basically an abstraction around the OS constructs for poll/epoll (on Linux). Remove the feature from the API, but keep the internal implementation for now. This allows providers to move away from wait set support. Note that blocking support and support for native wait objects (e.g. epoll fd's) are still supported by the API. Only the wait set abstraction is removed, which allows providers control over creating wait objects. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for d629944 - Browse repository at this point
Copy the full SHA d629944View commit details -
core: Remove fid_poll from the public API
Poll sets are a simple iterator around progressing multiple objects. Remove from the API to reduce provider complexity. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 32adc2c - Browse repository at this point
Copy the full SHA 32adc2cView commit details -
core: Remove FI_WAIT_MUTEX_COND support from API
There's never been an implementation. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for ed2f32e - Browse repository at this point
Copy the full SHA ed2f32eView commit details -
core: Remove deprecated MR mode options
Remove FI_MR_BASIC/SCALABLE/UNSPEC. These were deprecated in version 1.5. Remove FI_LOCAL_MR, which was an earlier version of FI_MR_LOCAL and also deprecated. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 4e40418 - Browse repository at this point
Copy the full SHA 4e40418View commit details -
core: Remove support for async memory registration
Feature is not implemented natively by providers. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for e0652c1 - Browse repository at this point
Copy the full SHA e0652c1View commit details -
Remove FI_ORDER_NONE (flag that's 0) and FI_ORDER_STRICT (which isn't a flag, and covers only a portion of the valid flags). Remove FI_ORDER_DATA, which will not be supported by version 2 in order to allow for greater provider optimization. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 8cf5f5a - Browse repository at this point
Copy the full SHA 8cf5f5aView commit details -
core: Restrict endpoints to a single CQ
Remove the option of directing transmit and receive completions to separate CQs for the same endpoint. The option adds complexity at the provider and application levels. This is largely the result of needing SW based protocols for certain operations, such as tag matching. This either makes it necessary for the app to drive progress across multiple CQs, or the provider emulates the application's CQs in SW. This change updates the man page only. Provider developers are left to update their code bases separately. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 7ab212a - Browse repository at this point
Copy the full SHA 7ab212aView commit details -
core: Require using libfabric APIs to allocate fi_info structures
Disallow users hand-crafting or hand-copying their own fi_info structs. This allows the library to allocate hidden fields for internal use. Plus, there's no need to apps to do this, given that the API call is way easier to use. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 39a01fe - Browse repository at this point
Copy the full SHA 39a01feView commit details -
Add a new call that takes fi_info as input, which provides consistency with the domain and endpoint open calls. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 5fb413c - Browse repository at this point
Copy the full SHA 5fb413cView commit details -
core/log: Replace fi_log_subsys with flags
Subsystem filtering isn't useful (or likely ever used). Remove the enum fi_log_subsys. Instead convert the API to accept int flags. This maintains API compatibility. Update all current FI_LOG_xxx subsys values to 0. This avoids needing to update the providers to the new API, forcing them to pass in 0 for the flags. No actual flag values are defined. Those become a placeholder for future options. The logging checks are simplified by this change. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 1feb6d8 - Browse repository at this point
Copy the full SHA 1feb6d8View commit details -
docs: Add information on porting applications between v1 and v2
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for ac80575 - Browse repository at this point
Copy the full SHA ac80575View commit details -
core: Add new peer group feature
Introduce the concept of peer groups. A peer group is a set of peers that are communicating together for some specific set of tasks. Peer groups provide a lower-level mapping of HPC and AI communicators. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 5f3c619 - Browse repository at this point
Copy the full SHA 5f3c619View commit details -
Allow specifying precise tag formatting options. The mem_tag_format takes as input a set of bit fields. In practice, this ends up being unusable to implement, resulting in the entire tag simply being masked with ignore bits. When the mem_tag_format value only has the lower bits set (< 256), interpret the format as specific options. Two new options are defined, one aligned with MPI and the other with CCLs. This information can be used by providers to optimize for the separate use cases. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Configuration menu - View commit details
-
Copy full SHA for 44246f8 - Browse repository at this point
Copy the full SHA 44246f8View commit details