Function rcudnn_sys::cudaIpcGetEventHandle[][src]

pub unsafe extern "C" fn cudaIpcGetEventHandle(
    handle: *mut cudaIpcEventHandle_t,
    event: cudaEvent_t
) -> cudaError_t
Expand description

\brief Gets an interprocess handle for a previously allocated event

Takes as input a previously allocated event. This event must have been created with the ::cudaEventInterprocess and ::cudaEventDisableTiming flags set. This opaque handle may be copied into other processes and opened with ::cudaIpcOpenEventHandle to allow efficient hardware synchronization between GPU work in different processes.

After the event has been been opened in the importing process, ::cudaEventRecord, ::cudaEventSynchronize, ::cudaStreamWaitEvent and ::cudaEventQuery may be used in either process. Performing operations on the imported event after the exported event has been freed with ::cudaEventDestroy will result in undefined behavior.

IPC functionality is restricted to devices with support for unified addressing on Linux operating systems. IPC functionality is not supported on Tegra platforms.

\param handle - Pointer to a user allocated cudaIpcEventHandle in which to return the opaque event handle \param event - Event allocated with ::cudaEventInterprocess and ::cudaEventDisableTiming flags.

\return ::cudaSuccess, ::cudaErrorInvalidResourceHandle, ::cudaErrorMemoryAllocation, ::cudaErrorMapBufferObjectFailed, ::cudaErrorNotSupported, ::cudaErrorInvalidValue \note_init_rt \note_callback

\sa ::cudaEventCreate, ::cudaEventDestroy, ::cudaEventSynchronize, ::cudaEventQuery, ::cudaStreamWaitEvent, ::cudaIpcOpenEventHandle, ::cudaIpcGetMemHandle, ::cudaIpcOpenMemHandle, ::cudaIpcCloseMemHandle, ::cuIpcGetEventHandle