public static int cudaMemcpy2DFromArrayAsync(Pointer dst, long dpitch, cudaArray src, long wOffset, long hOffset, long width, long height, int cudaMemcpyKind_kind, cudaStream_t stream)
    {
        return checkResult(cudaMemcpy2DFromArrayAsyncNative(dst, dpitch, src, wOffset, hOffset, width, height, cudaMemcpyKind_kind, stream));
    }
public static int cudaMemcpy2DFromArrayAsync ( Pointer dst , long dpitch , cudaArray src , long wOffset , long hOffset , long width , long height , int cudaMemcpyKind_kind , cudaStream_t stream ) { return checkResult ( cudaMemcpy2DFromArrayAsyncNative ( dst , dpitch , src , wOffset , hOffset , width , height , cudaMemcpyKind_kind , stream ) ) ; }
Copies data between host and device.

<pre>
cudaError_t cudaMemcpy2DFromArrayAsync (
void* dst,
size_t dpitch,
cudaArray_const_t src,
size_t wOffset,
size_t hOffset,
size_t width,
size_t height,
cudaMemcpyKind kind,
cudaStream_t stream = 0 )
</pre>
<div>
<p>Copies data between host and device.
Copies a matrix (<tt>height</tt> rows of <tt>width</tt> bytes each)
from the CUDA array <tt>srcArray</tt> starting at the upper left
corner (<tt>wOffset</tt>, <tt>hOffset</tt>) to the memory area
pointed to by <tt>dst</tt>, where <tt>kind</tt> is one of
cudaMemcpyHostToHost, cudaMemcpyHostToDevice, cudaMemcpyDeviceToHost,
or cudaMemcpyDeviceToDevice, and specifies the direction of the copy.
<tt>dpitch</tt> is the width in memory in bytes of the 2D array
pointed to by <tt>dst</tt>, including any padding added to the end of
each row. <tt>wOffset</tt> + <tt>width</tt> must not exceed the width
of the CUDA array <tt>src</tt>. <tt>width</tt> must not exceed <tt>dpitch</tt>. cudaMemcpy2DFromArrayAsync() returns an error if <tt>dpitch</tt> exceeds the maximum allowed.
</p>
<p>cudaMemcpy2DFromArrayAsync() is
asynchronous with respect to the host, so the call may return before
the copy is complete. The copy can optionally be
associated to a stream by passing a
non-zero <tt>stream</tt> argument. If <tt>kind</tt> is
cudaMemcpyHostToDevice or cudaMemcpyDeviceToHost and <tt>stream</tt>
is non-zero, the copy may overlap with operations in other streams.
</p>
<div>
<span>Note:</span>
<ul>
<li>
<p>Note that this function may
also return error codes from previous, asynchronous launches.
</p>
</li>
<li>
<p>This function exhibits
asynchronous behavior for most use cases.
</p>
</li>
</ul>
</div>
</p>
</div>

@param dst Destination memory address
@param dpitch Pitch of destination memory
@param src Source memory address
@param wOffset Source starting X offset
@param hOffset Source starting Y offset
@param width Width of matrix transfer (columns in bytes)
@param height Height of matrix transfer (rows)
@param kind Type of transfer
@param stream Stream identifier

@return cudaSuccess, cudaErrorInvalidValue, cudaErrorInvalidDevicePointer,
cudaErrorInvalidPitchValue, cudaErrorInvalidMemcpyDirection

@see JCuda#cudaMemcpy
@see JCuda#cudaMemcpy2D
@see JCuda#cudaMemcpyToArray
@see JCuda#cudaMemcpy2DToArray
@see JCuda#cudaMemcpyFromArray
@see JCuda#cudaMemcpy2DFromArray
@see JCuda#cudaMemcpyArrayToArray
@see JCuda#cudaMemcpy2DArrayToArray
@see JCuda#cudaMemcpyToSymbol
@see JCuda#cudaMemcpyFromSymbol
@see JCuda#cudaMemcpyAsync
@see JCuda#cudaMemcpy2DAsync
@see JCuda#cudaMemcpyToArrayAsync
@see JCuda#cudaMemcpy2DToArrayAsync
@see JCuda#cudaMemcpyFromArrayAsync
@see JCuda#cudaMemcpyToSymbolAsync
@see JCuda#cudaMemcpyFromSymbolAsync