/// <summary> /// /// </summary> public CudaStopWatch() { _start = new CudaEvent(); _stop = new CudaEvent(); _stream = new CUstream(); }
/// <summary> /// /// </summary> public CudaStopWatch(CUEventFlags flags) { _start = new CudaEvent(flags); _stop = new CudaEvent(flags); _stream = new CUstream(); }
/// <summary> /// /// </summary> public CudaStopWatch(CUstream stream) { _start = new CudaEvent(); _stop = new CudaEvent(); _stream = stream; }
/// <summary> /// Creates a new Stream /// </summary> /// <param name="flags">Parameters for stream creation (must be <see cref="CUStreamFlags.None"/>)</param> public CudaStream(CUStreamFlags flags) { _stream = new CUstream(); res = DriverAPINativeMethods.Streams.cuStreamCreate(ref _stream, flags); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuStreamCreate", res)); if (res != CUResult.Success) throw new CudaException(res); _isOwner = true; }
public static extern CUResult cuStreamCreateWithPriority(ref CUstream phStream, CUStreamFlags flags, int priority);
public static extern CUResult cuStreamWaitEvent(CUstream hStream, CUevent hEvent, uint Flags);
public static extern CUResult cuStreamAddCallback(CUstream hStream, CUstreamCallback callback, IntPtr userData, CUStreamAddCallbackFlags flags);
public static extern CUResult cuMemcpyDtoHAsync_v2([Out] IntPtr dstHost, CUdeviceptr srcDevice, SizeT ByteCount, CUstream hStream);
public static extern CUResult cuMemcpyAtoHAsync_v2([Out] IntPtr dstHost, CUarray srcArray, SizeT srcOffset, SizeT ByteCount, CUstream hStream);
public static extern CUResult cuStreamAttachMemAsync(CUstream hStream, CUdeviceptr dptr, SizeT length, CUmemAttach_flags flags);
public static extern CUResult cuGraphicsUnmapResources(uint count, CUgraphicsResource[] resources, CUstream hStream);
public static extern CUResult cuLaunchKernel(CUfunction f, uint gridDimX, uint gridDimY, uint gridDimZ, uint blockDimX, uint blockDimY, uint blockDimZ, uint sharedMemBytes, CUstream hStream, IntPtr[] kernelParams, IntPtr[] extra);
public static extern CUResult cuEventRecord( CUevent hEvent, CUstream hStream );
public static extern CUResult cuMemsetD32Async(CUdeviceptr dstDevice, uint ui, SizeT N, CUstream hStream);
public static extern CUResult cuMemsetD2D32Async(CUdeviceptr dstDevice, SizeT dstPitch, uint ui, SizeT Width, SizeT Height, CUstream hStream);
public static extern CUResult cuMemsetD16Async(CUdeviceptr dstDevice, ushort us, SizeT N, CUstream hStream);
public static extern CUResult cuMemsetD8Async(CUdeviceptr dstDevice, byte b, SizeT N, CUstream hStream);
public static extern CUResult cuMemcpy3DAsync_v2(ref CUDAMemCpy3D pCopy, CUstream hStream);
public static extern CUResult cuStreamGetPriority(CUstream hStream, ref int priority);
public static extern CUResult cuStreamCreate( ref CUstream phStream, CUStreamFlags Flags );
public static extern CUResult cuStreamGetFlags(CUstream hStream, ref CUStreamFlags flags);
/// <summary> /// /// </summary> public CudaStopWatch(CUEventFlags flags, CUstream stream) { _start = new CudaEvent(flags); _stop = new CudaEvent(flags); _stream = stream; }
public static extern CUResult cuGraphicsMapResources(uint count, ref CUgraphicsResource resources, CUstream hStream);
public static extern CUResult cuMemcpyHtoDAsync_v2(CUdeviceptr dstDevice, [In] IntPtr srcHost, SizeT ByteCount, CUstream hStream);
public static extern CUResult cuMemcpyDtoDAsync_v2(CUdeviceptr dstDevice, CUdeviceptr srcDevice, SizeT ByteCount, CUstream hStream);
public static extern CUResult cuStreamDestroy_v2( CUstream hStream );
public static extern CUResult cuStreamQuery( CUstream hStream );
public static extern CUResult cuMemcpyHtoAAsync_v2(CUarray dstArray, SizeT dstOffset, [In] IntPtr srcHost, SizeT ByteCount, CUstream hStream);
public static extern cusparseStatus cusparseSetStream(cusparseContext handle, CUstream streamId);
public static extern CUResult cuStreamSynchronize( CUstream hStream );