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); }
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); }