I haven’t been able to find anything in the documentation or forum so far…
Does anyone know if pointer arithmetic is supported. For example:
cudaMemcpy( hostArray, deviceArray+offset, memcpySize, cudaMemcpyDeviceToHost );
Thanks!
I haven’t been able to find anything in the documentation or forum so far…
Does anyone know if pointer arithmetic is supported. For example:
cudaMemcpy( hostArray, deviceArray+offset, memcpySize, cudaMemcpyDeviceToHost );
Thanks!
Yes, it is. offsetting a device pointer works just the same as offsetting a host pointer, both in the runtime and driver APIs.
Edit: Keep in mind however, that some functions (eg: some memory copies, especially 2D/3D aligned copies) require the device pointer be aligned appropriately - and if you pass an offset pointer to these types of calls, you’ll get an error. (note: there are unaligned versions of the 2D/3D memory copies).
Excellent!! Thanks for the quick reply. =)