public override void ReadResult(CLCommandQueue queue) { if ((_flags & ComputeMemoryFlags.ReadOnly) == 0) { queue._comQueue.ReadFromBuffer(_comBuffer, ref _data, true, null); } }
public override void ReadResult(CLCommandQueue queue) { foreach (var arg in Members) { arg.ReadResult(queue); } }
protected void RunAsynchronously(CLCommandQueue queue, KernelArg[] args, long[] workSizes) { CheckIsInitialized(); for (int i = 0, index = 0; i < args.Length; i++) { index = args[i].PushToCLKernel(this, index); } queue._comQueue.Execute(_comKernel, null, workSizes, null, null); for (int i = 0; i < args.Length; i++) { args[i].ReadResult(queue); } }
public virtual void ReadResult(CLCommandQueue queue) { }
protected void RunAsyncBarrier(CLCommandQueue queue, KernelArg[] args, long[] workSizes) { RunAsynchronously(queue, args, workSizes); queue.AddBarrier(); }
protected void RunSynchronously(CLCommandQueue queue, KernelArg[] args, long[] workSizes) { RunAsynchronously(queue, args, workSizes); queue.WaitUntilCompleted(); }