예제 #1
0
 public CuGraphicsMappedResource(
     CuGraphicsResource resource,
     CuStream stream)
 {
     _resource = resource;
     _stream   = stream;
 }
예제 #2
0
        /// <inheritdoc cref="StreamDestroy(CuStream)"/>
        public void Dispose()
        {
            var handle = Interlocked.Exchange(ref Handle, IntPtr.Zero);
            if (handle == IntPtr.Zero) return;
            var obj = new CuStream { Handle = handle };

            CheckResult(StreamDestroy(obj));
        }
예제 #3
0
        /// <inheritdoc cref="GraphicsMapResources(int, CuGraphicsResource*, CuStream)"/>
        public unsafe CuGraphicsMappedResource Map(CuStream stream)
        {
            var copy   = this;
            var result = GraphicsMapResources(1, &copy, stream);

            CheckResult(result);

            return(new CuGraphicsMappedResource(this, stream));
        }
예제 #4
0
 public static extern CuResult StreamWriteValue64(CuStream stream, CuDevicePtr addr, long value, int flags);
예제 #5
0
 public static extern CuResult StreamDestroy(CuStream hStream);
예제 #6
0
 public static extern CuResult StreamSynchronize(CuStream hStream);
예제 #7
0
 public static extern CuResult StreamAttachMemAsync(CuStream hStream, CuDevicePtr dptr, IntPtr length, MemoryAttachFlags flags);
예제 #8
0
 public static extern CuResult StreamWaitEvent(CuStream hStream, CuEvent hEvent, uint flags = 0);
예제 #9
0
 public static extern CuResult MemsetD8Async(CuDevicePtr dstDevice, byte uc, IntPtr n, CuStream hStream);
예제 #10
0
 public static extern CuResult GraphicsUnmapResources(int count, CuGraphicsResource *resources, CuStream hStream);
예제 #11
0
 public static extern CuResult MemPrefetchAsync(CuDevicePtr devPtr, IntPtr count, CuDevice dstDevice, CuStream hStream);
예제 #12
0
 public static extern CuResult LaunchCooperativeKernel(CuFunction f, int gridDimX, int gridDimY, int gridDimZ, int blockDimX, int blockDimY, int blockDimZ, int sharedMemBytes, CuStream hStream, void **kernelParams);
예제 #13
0
 public static extern CuResult EventRecord(CuEvent hEvent, CuStream hStream);
예제 #14
0
 public static extern CuResult StreamBatchMemOp(CuStream stream, int count, CuSreamBatchMemOpParams *paramArray, int flags);
예제 #15
0
 public static extern CuResult StreamGetPriority(CuStream hStream, out int priority);
예제 #16
0
 public static extern CuResult StreamGetFlags(CuStream hStream, out CuStreamFlags flags);
예제 #17
0
 public static extern CuResult MemsetD16Async(CuDevicePtr dstDevice, short us, IntPtr n, CuStream hStream);
예제 #18
0
 public static extern CuResult StreamAddCallback(CuStream hStream, CuStreamCallback callback, IntPtr userData, uint flags = 0);
예제 #19
0
 public static extern CuResult MemsetD32Async(CuDevicePtr dstDevice, int ui, IntPtr n, CuStream hStream);
예제 #20
0
 public static extern CuResult StreamQuery(CuStream hStream);
예제 #21
0
 public static extern CuResult MemsetD2D16Async(CuDevicePtr dstDevice, IntPtr dstPitch, short us, IntPtr width, IntPtr height, CuStream hStream);
예제 #22
0
 public static extern CuResult StreamCreate(out CuStream phStream, CuStreamFlags flags);
예제 #23
0
 public static extern CuResult MemsetD2D32Async(CuDevicePtr dstDevice, IntPtr dstPitch, int ui, IntPtr width, IntPtr height, CuStream hStream);
예제 #24
0
 public static extern CuResult StreamCreateWithPriority(out CuStream phStream, CuStreamFlags flags, int priority);
예제 #25
0
 public static extern CuResult StreamWriteValue32(CuStream stream, CuDevicePtr addr, int value, CuStreamWriteValue flags);