示例#1
0
        protected void SetCudaRedFunctionParams()
        {
            CudaHelpers.GetNumThreadsAndBlocks(sizeSV, maxReductionBlocks, maxReductionThreads, ref reductionThreads, ref reductionBlocks);



            cuda.SetFunctionBlockShape(cuFuncReduce, reductionThreads, 1, 1);

            int offset = 0;

            offsetMemToReduce = offset;
            cuda.SetParameter(cuFuncReduce, offset, evalOutputCuPtr[0].Pointer);
            offset += IntPtr.Size;

            offsetOutMemReduce = offset;
            cuda.SetParameter(cuFuncReduce, offset, reduceCuPtr[0].Pointer);
            offset += IntPtr.Size;

            cuda.SetParameter(cuFuncReduce, offset, (uint)sizeSV);
            offset += sizeof(int);

            cuda.SetParameterSize(cuFuncReduce, (uint)offset);
        }