예제 #1
0
        public static void FloatKernel(GpuArrayWrite <float> output, d3 gridDim,
                                       d3 blockDim, d3 blockId, d3 threadId)
        {
            var index       = blockId.d3Dex(gridDim) * blockDim.Volume() + threadId.d3Dex(blockDim);
            var totalVolume = blockDim.Volume() * gridDim.Volume();

            output.AddGpuData(
                val: (2 * index - totalVolume) / (float)totalVolume,
                index: index, block: blockId, thread: threadId);
        }
예제 #2
0
 public static void IntKernel(GpuArrayWrite <int> output, d3 gridDim,
                              d3 blockDim, d3 blockId, d3 threadId)
 {
     output.AddGpuData(1, blockId.X * blockDim.X + threadId.X, blockId, threadId);
 }