Skip to content

WasmGPU.compute.kernels.reduceU32

Summary

WasmGPU.compute.kernels.reduceU32 reduces a u32 buffer to one scalar using sum, min, or max. The result is written to a StorageBuffer returned by the method. You can limit elements with opts.count and provide reusable output via opts.out. Use this for integer reductions like counts, IDs, or histogram aggregates.

Syntax

WasmGPU.compute.kernels.reduceU32(input: StorageBuffer, op: ReduceOp, opts?: ReduceOptions): StorageBuffer
const out = wgpu.compute.kernels.reduceU32(input, op, opts);

Parameters

Name Type Required Description
input StorageBuffer Yes Source u32 data buffer to reduce.
op ReduceOp Yes Reduction operator: "sum", "min", or "max".
opts ReduceOptions No Optional execution settings such as count, out, and dispatch options.

Returns

StorageBuffer - Buffer containing one reduced u32 value.

Type Details

type ReduceOp = "sum" | "min" | "max";

type ReduceOptions = {
    encoder?: GPUCommandEncoder;
    label?: string;
    validateLimits?: boolean;
    count?: number;
    out?: StorageBuffer;
};

Example

const canvas = document.querySelector("canvas");
const wgpu = await WasmGPU.create(canvas);

const input = wgpu.compute.createStorageBuffer({ data: new Uint32Array([2, 4, 6, 8]), copySrc: true });
const out = wgpu.compute.kernels.reduceU32(input, "sum");
console.log(await wgpu.compute.readback.readScalarU32(out));

See Also