@huggingface/kernels
v0.0.1-preview.1
Published
Load and run WebGPU compute kernels from the Hugging Face Hub.
Readme
@huggingface/kernels
Load and run WebGPU compute kernels from the Hugging Face Hub.
Early preview — the API may still change and kernel coverage is growing. Updates will follow regularly.
Install
npm install @huggingface/kernels@previewUsage
import { getKernel } from "@huggingface/kernels";
const relu = await getKernel("webgpu-kernels/ai.onnx.Relu", { version: 1 });
const { y } = await relu({ x: { data: new Float32Array(100), shape: [10, 10] } });
console.log(y.data, y.shape, y.dtype);Every load names what it wants: version: 1 follows the repository's v1 branch,
which moves as fixes land. Pass a 40-character commit revision instead to pin bytes
that can never change. Each kernel's own README shows the call for that kernel.
Inputs take the natural typed array — Float32Array, Uint8Array, Float16Array
and the rest are widened to their WebGPU storage form for you. Results come back the
same way: float16 as a Float16Array where the browser provides one, otherwise as
raw binary16 words in a Uint16Array. Pass
{ output: "gpu" } to keep results on the device and feed them straight into the
next call; you own those and release them with destroy().
Kernels load from the webgpu-kernels
organization by default. A kernel is code that runs on your GPU, so loading one from
another publisher is opt-in — pass { trustRemoteCode: true } if you trust them.
Runs in the browser, and needs WebGPU (navigator.gpu).
License
Apache-2.0. Bundled third-party code is listed in THIRD-PARTY-NOTICES.md.
