public static int cuMemcpyDtoHAsync(Pointer dstHost,CUdeviceptr srcDevice, long ByteCount, CUstream hStream)
    {
        return checkResult(cuMemcpyDtoHAsyncNative(dstHost, srcDevice, ByteCount, hStream));
    }
public static int cuMemcpyDtoHAsync ( Pointer dstHost , CUdeviceptr srcDevice , long ByteCount , CUstream hStream ) { return checkResult ( cuMemcpyDtoHAsyncNative ( dstHost , srcDevice , ByteCount , hStream ) ) ; }
Copies memory from Device to Host.

<pre>
CUresult cuMemcpyDtoHAsync (
void* dstHost,
CUdeviceptr srcDevice,
size_t ByteCount,
CUstream hStream )
</pre>
<div>
<p>Copies memory from Device to Host.
Copies from device to host memory. <tt>dstHost</tt> and <tt>srcDevice</tt> specify the base pointers of the destination and
source, respectively. <tt>ByteCount</tt> specifies the number of bytes
to copy.
</p>
<p>cuMemcpyDtoHAsync() is asynchronous and
can optionally be associated to a stream by passing a non-zero <tt>hStream</tt> argument. It only works on page-locked memory and returns
an error if a pointer to pageable memory is passed as input.
</p>
<div>
<span>Note:</span>
<p>Note that this
function may also return error codes from previous, asynchronous
launches.
</p>
</div>
</p>
</div>

@param dstHost Destination host pointer
@param srcDevice Source device pointer
@param ByteCount Size of memory copy in bytes
@param hStream Stream identifier

@return CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED,
CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE

@see JCudaDriver#cuArray3DCreate
@see JCudaDriver#cuArray3DGetDescriptor
@see JCudaDriver#cuArrayCreate
@see JCudaDriver#cuArrayDestroy
@see JCudaDriver#cuArrayGetDescriptor
@see JCudaDriver#cuMemAlloc
@see JCudaDriver#cuMemAllocHost
@see JCudaDriver#cuMemAllocPitch
@see JCudaDriver#cuMemcpy2D
@see JCudaDriver#cuMemcpy2DAsync
@see JCudaDriver#cuMemcpy2DUnaligned
@see JCudaDriver#cuMemcpy3D
@see JCudaDriver#cuMemcpy3DAsync
@see JCudaDriver#cuMemcpyAtoA
@see JCudaDriver#cuMemcpyAtoD
@see JCudaDriver#cuMemcpyAtoH
@see JCudaDriver#cuMemcpyAtoHAsync
@see JCudaDriver#cuMemcpyDtoA
@see JCudaDriver#cuMemcpyDtoD
@see JCudaDriver#cuMemcpyDtoDAsync
@see JCudaDriver#cuMemcpyDtoH
@see JCudaDriver#cuMemcpyHtoA
@see JCudaDriver#cuMemcpyHtoAAsync
@see JCudaDriver#cuMemcpyHtoD
@see JCudaDriver#cuMemcpyHtoDAsync
@see JCudaDriver#cuMemFree
@see JCudaDriver#cuMemFreeHost
@see JCudaDriver#cuMemGetAddressRange
@see JCudaDriver#cuMemGetInfo
@see JCudaDriver#cuMemHostAlloc
@see JCudaDriver#cuMemHostGetDevicePointer
@see JCudaDriver#cuMemsetD2D8
@see JCudaDriver#cuMemsetD2D8Async
@see JCudaDriver#cuMemsetD2D16
@see JCudaDriver#cuMemsetD2D16Async
@see JCudaDriver#cuMemsetD2D32
@see JCudaDriver#cuMemsetD2D32Async
@see JCudaDriver#cuMemsetD8
@see JCudaDriver#cuMemsetD8Async
@see JCudaDriver#cuMemsetD16
@see JCudaDriver#cuMemsetD16Async
@see JCudaDriver#cuMemsetD32
@see JCudaDriver#cuMemsetD32Async