shmemx_session_start
Start a communication session.
Definitions
C/C++ Synopsis
void shmemx_session_start(shmem_ctx_t ctx, long options);
Arguments
ctx A context handle specifying the context associated with this
session.
options The set of requested options from Table 9 for this session.
Multiple options may be requested by combining them with a
bitwise OR operation; otherwise, 0 can be given if no options
are requested
Description
The shmemx_session_start routine begins a session on communication context
ctx with hints requested via options. If a session is already started on a
given context, another call to shmemx_session_start on that context
combines any new options via a bitwise OR operation. Sessions on a
communication context must be stopped with a call to shmem_session_stop on
the same context. Passing false or ambiguous options to a session should
not result in undefined behavior, but may result in the library aborting
the program.
Return Values
None.
Session Hint Options
Option |
Usage hint |
---|---|
SHMEM_SESSION_BUNDLE |
Bundle ops where the implemenation has an expectation of further operations of the same type |
SHMEM_SESSION_HRP |
High rate put optimizationion |
SHMEM_SESSION_STAMO |
This session will contain single transfer AMOs |
SHMEM _SESSION_NO_CNCR_TACCESS |
This session will contain single access AMOs |
SHMEM_SESSION_OP_PUT |
This session will contain non-blocking put and/or scalar put operations |
SHMEM_SESSION_OP_AMO |
This session will contain non-fetching AMOs |
SHMEM_SESSION_OP_FAMO |
This session will contain fetching AMOs |
SHMEM_SESSION_OP_PWS |
This session will contain non-blocking put-with-signal operations |
SHMEM_SESSION_DC |
All operations within this session will be using delivery complete semantics instead of the transmit complete default |
Notes
The shmemx_session_start routine is a hint for improving performance, and
OpenSHMEM implementations are not required to apply any optimization.
Implementations are encouraged to supply users with information about the
session options being applied or ignored; for instance, when SHMEM_DEBUG is
set.