Function rcudnn_sys::cudaMemPoolImportPointer[][src]

pub unsafe extern "C" fn cudaMemPoolImportPointer(
    ptr: *mut *mut c_void,
    memPool: cudaMemPool_t,
    exportData: *mut cudaMemPoolPtrExportData
) -> cudaError_t
Expand description

\brief Import a memory pool allocation from another process.

Returns in \p ptr_out a pointer to the imported memory. The imported memory must not be accessed before the allocation operation completes in the exporting process. The imported memory must be freed from all importing processes before being freed in the exporting process. The pointer may be freed with cudaFree or cudaFreeAsync. If ::cudaFreeAsync is used, the free must be completed on the importing process before the free operation on the exporting process.

\note The ::cudaFreeAsync api may be used in the exporting process before the ::cudaFreeAsync operation completes in its stream as long as the ::cudaFreeAsync in the exporting process specifies a stream with a stream dependency on the importing process’s ::cudaFreeAsync.

\param[out] ptr_out - pointer to imported memory \param[in] pool - pool from which to import \param[in] shareData - data specifying the memory to import

\returns ::CUDA_SUCCESS, ::CUDA_ERROR_INVALID_VALUE, ::CUDA_ERROR_NOT_INITIALIZED, ::CUDA_ERROR_OUT_OF_MEMORY

\sa ::cuMemPoolImportPointer, ::cudaMemPoolExportToShareableHandle, ::cudaMemPoolImportFromShareableHandle, ::cudaMemPoolExportPointer