Function cuGreenCtxStreamCreate

Source
pub unsafe extern "C" fn cuGreenCtxStreamCreate(
    phStream: *mut CUstream,
    greenCtx: CUgreenCtx,
    flags: c_uint,
    priority: c_int,
) -> CUresult
Expand description

\brief Create a stream for use in the green context

Creates a stream for use in the specified green context \p greenCtx and returns a handle in \p phStream. The stream can be destroyed by calling ::cuStreamDestroy(). Note that the API ignores the context that is current to the calling thread and creates a stream in the specified green context \p greenCtx.

The supported values for \p flags are:

  • ::CU_STREAM_NON_BLOCKING: This must be specified. It indicates that work running in the created stream may run concurrently with work in the default stream, and that the created stream should perform no implicit synchronization with the default stream.

Specifying \p priority affects the scheduling priority of work in the stream. Priorities provide a hint to preferentially run work with higher priority when possible, but do not preempt already-running work or provide any other functional guarantee on execution order. \p priority follows a convention where lower numbers represent higher priorities. ‘0’ represents default priority. The range of meaningful numerical priorities can be queried using ::cuCtxGetStreamPriorityRange. If the specified priority is outside the numerical range returned by ::cuCtxGetStreamPriorityRange, it will automatically be clamped to the lowest or the highest number in the range.

\param phStream - Returned newly created stream \param greenCtx - Green context for which to create the stream for \param flags - Flags for stream creation. \p CU_STREAM_NON_BLOCKING must be specified. \param priority - Stream priority. Lower numbers represent higher priorities. See ::cuCtxGetStreamPriorityRange for more information about meaningful stream priorities that can be passed.

\return ::CUDA_SUCCESS, ::CUDA_ERROR_DEINITIALIZED, ::CUDA_ERROR_NOT_INITIALIZED, ::CUDA_ERROR_INVALID_CONTEXT, ::CUDA_ERROR_INVALID_VALUE, ::CUDA_ERROR_OUT_OF_MEMORY \notefnerr

\note In the current implementation, only compute kernels launched in priority streams are affected by the stream’s priority. Stream priorities have no effect on host-to-device and device-to-host memory operations.

\sa ::cuStreamDestroy, ::cuGreenCtxCreate ::cuStreamCreate, ::cuStreamGetPriority, ::cuCtxGetStreamPriorityRange, ::cuStreamGetFlags, ::cuStreamWaitEvent, ::cuStreamQuery, ::cuStreamSynchronize, ::cuStreamAddCallback, ::cudaStreamCreateWithPriority