Library/ManagedCuda/CudaPitchedDeviceVariable.cs
/// <summary>
/// Copy from Host to device memory. Assumes that aHostDest has no additional line padding.
/// </summary>
/// <param name="hostSrc">Source</param>
Copy from Host to device memory. Assumes that aHostDest has no additional line padding.
Copy from Host to device memory . Assumes that aHostDest has no additional line padding .
public void CopyToDevice(T[,] hostSrc)
		{
			if (disposed) throw new ObjectDisposedException(this.ToString());
			GCHandle handle = GCHandle.Alloc(hostSrc, GCHandleType.Pinned);
			try
			{
				CUDAMemCpy2D copyParams = new CUDAMemCpy2D();
				copyParams.srcHost = handle.AddrOfPinnedObject();
				copyParams.srcMemoryType = CUMemoryType.Host;
				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));
			}
			finally
			{
				handle.Free();
			}
			if (res != CUResult.Success)
				throw new CudaException(res);
		}
public void CopyToDevice ( T [ , ] hostSrc ) { if ( disposed ) throw new ObjectDisposedException ( this . ToString ( ) ) ; GCHandle handle = GCHandle . Alloc ( hostSrc , GCHandleType . Pinned ) ; try { CUDAMemCpy2D copyParams = new CUDAMemCpy2D ( ) ; copyParams . srcHost = handle . AddrOfPinnedObject ( ) ; copyParams . srcMemoryType = CUMemoryType . Host ; 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 ) ) ; } finally { handle . Free ( ) ; } if ( res != CUResult . Success ) throw new CudaException ( res ) ; }
Copy from Host to device memory.
Copy from Host to device memory .
hostSrc
T[,]
None