Library/ManagedCuda/CudaPitchedDeviceVariable.cs
/// <summary>
/// Copy from device to device memory
/// </summary>
/// <param name="deviceSrc">Source</param>
Copy from device to device memory
Copy from device to device memory
public void CopyToDevice(CudaPitchedDeviceVariable<T> deviceSrc)
		{
			if (disposed) throw new ObjectDisposedException(this.ToString());
			CUDAMemCpy2D copyParams = new CUDAMemCpy2D();
			copyParams.srcDevice = deviceSrc.DevicePointer;
			copyParams.srcMemoryType = CUMemoryType.Device;
			copyParams.srcPitch = deviceSrc.Pitch;
			copyParams.dstDevice = _devPtr;
			copyParams.dstMemoryType = CUMemoryType.Device;
			copyParams.dstPitch = _pitch;
			copyParams.Height = _height;
			copyParams.WidthInBytes = _width * _typeSize;
			res = DriverAPINativeMethods.SynchronousMemcpy_v2.cuMemcpy2D_v2(ref copyParams);
			Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuMemcpy2D", res));
			if (res != CUResult.Success)
				throw new CudaException(res);
		}
public void CopyToDevice ( CudaPitchedDeviceVariable < T > deviceSrc ) { if ( disposed ) throw new ObjectDisposedException ( this . ToString ( ) ) ; CUDAMemCpy2D copyParams = new CUDAMemCpy2D ( ) ; copyParams . srcDevice = deviceSrc . DevicePointer ; copyParams . srcMemoryType = CUMemoryType . Device ; copyParams . srcPitch = deviceSrc . Pitch ; copyParams . dstDevice = _devPtr ; copyParams . dstMemoryType = CUMemoryType . Device ; copyParams . dstPitch = _pitch ; copyParams . Height = _height ; copyParams . WidthInBytes = _width * _typeSize ; res = DriverAPINativeMethods . SynchronousMemcpy_v2 . cuMemcpy2D_v2 ( ref copyParams ) ; Debug . WriteLine ( String . Format ( " " , DateTime . Now , " " , res ) ) ; if ( res != CUResult . Success ) throw new CudaException ( res ) ; }
Copy from device to device memory
Copy from device to device memory
deviceSrc
CudaPitchedDeviceVariable<T>
None