Function rcudnn_sys::cudaMemcpy2D[][src]

pub unsafe extern "C" fn cudaMemcpy2D(
    dst: *mut c_void,
    dpitch: usize,
    src: *const c_void,
    spitch: usize,
    width: usize,
    height: usize,
    kind: cudaMemcpyKind
) -> cudaError_t
Expand description

\brief Copies data between host and device

Copies a matrix (\p height rows of \p width bytes each) from the memory area pointed to by \p src to the memory area pointed to by \p dst, where \p kind specifies the direction of the copy, and must be one of ::cudaMemcpyHostToHost, ::cudaMemcpyHostToDevice, ::cudaMemcpyDeviceToHost, ::cudaMemcpyDeviceToDevice, or ::cudaMemcpyDefault. Passing ::cudaMemcpyDefault is recommended, in which case the type of transfer is inferred from the pointer values. However, ::cudaMemcpyDefault is only allowed on systems that support unified virtual addressing. \p dpitch and \p spitch are the widths in memory in bytes of the 2D arrays pointed to by \p dst and \p src, including any padding added to the end of each row. The memory areas may not overlap. \p width must not exceed either \p dpitch or \p spitch. Calling ::cudaMemcpy2D() with \p dst and \p src pointers that do not match the direction of the copy results in an undefined behavior. ::cudaMemcpy2D() returns an error if \p dpitch or \p spitch exceeds the maximum allowed.

\param dst - Destination memory address \param dpitch - Pitch of destination memory \param src - Source memory address \param spitch - Pitch of source memory \param width - Width of matrix transfer (columns in bytes) \param height - Height of matrix transfer (rows) \param kind - Type of transfer

\return ::cudaSuccess, ::cudaErrorInvalidValue, ::cudaErrorInvalidPitchValue, ::cudaErrorInvalidMemcpyDirection \notefnerr \note_init_rt \note_callback \note_memcpy

\sa ::cudaMemcpy, ::cudaMemcpy2DToArray, ::cudaMemcpy2DFromArray, ::cudaMemcpy2DArrayToArray, ::cudaMemcpyToSymbol, ::cudaMemcpyFromSymbol, ::cudaMemcpyAsync, ::cudaMemcpy2DAsync, ::cudaMemcpy2DToArrayAsync, ::cudaMemcpy2DFromArrayAsync, ::cudaMemcpyToSymbolAsync, ::cudaMemcpyFromSymbolAsync, ::cuMemcpy2D, ::cuMemcpy2DUnaligned