-
Notifications
You must be signed in to change notification settings - Fork 43
Description
Problem
The OpenSHMEM library sees individual operations as they occur. If the application will perform a series of operations (e.g. a loop of puts), it can be beneficial to inform the runtime.
Proposed Solution
Allow users to provide a performance hint that they will issue a set of operations. This information can be used to optimize the behavior of the OpenSHMEM runtime. For example, sessions may allow the runtime to aggregate operations or completions.
Proposed API
Straw man API:
void shmem_ctx_start_session(shmem_ctx_t ctx);
void shmem_ctx_end_session(shmem_ctx_t ctx);
The start session operation informs the OpenSHMEM library that operations will be issued on the given context. The end session operation informs the OpenSHMEM library that the last operation in the session has been issued on the given context. Ending a session does not guarantee completion or ordering, quiet/fence on the context must still be used to achieve these guarantees.