shmemx_ctx_session_start
Start a communication session.
Definitions
C/C++ Synopsis
void shmemx_ctx_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_ctx_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_ctx_session_start on
that context combines any new options via a bitwise OR operation. Sessions
on a 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 same type operations |
| SHMEM_SESSION_HRP | High rate put optimization |
| SHMEM_SESSION_STAMO | Session contains single transfer AMOs |
| SHMEM_SESSION_NO_CNCR_TACCESS | Session contains single access AMOs |
| SHMEM_SESSION_OP_PUT | Session contains non-blocking and/or scalar PUTs |
| SHMEM_SESSION_OP_AMO | Session contains non-fetching AMOs |
| SHMEM_SESSION_OP_FAMO | Session contains fetching AMOs |
| SHMEM_SESSION_OP_PWS | Session contains non-blocking put-with-signal ops |
| SHMEM_SESSION_DC | Session operations use delivery complete semantics |
Notes
The shmemx_ctx_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.