---
title: "onegpu docs"
url: https://recursiveai.org/onegpu/docs/
description: "Getting started, the compute surface, the kernel families and the names that are frozen for 1.x. These docs are for OneGpu 1.0.0, read at the v1.0.0 tag…"
version: "1.0.0"
---

# onegpu docs

Getting started, the compute surface, the kernel families and the names that are frozen for 1.x. These docs are for OneGpu 1.0.0, read at the v1.0.0 tag (5d3317c).

## Start

- [Getting started](https://recursiveai.org/onegpu/docs/getting-started/index.md): Create a GPU device from C#, upload two matrices into typed buffers, multiply them with a compute kernel from RecursiveAI.OneGpu.Kernels, and read the…
- [Overview](https://recursiveai.org/onegpu/docs/overview/index.md): GPU compute and rendering for .NET from pure C#, on Vulkan, Metal and browser WebGPU. There are no native binaries of ours and no CUDA install: the…
- [Compute surface](https://recursiveai.org/onegpu/docs/compute/index.md): What RecursiveAI.OneGpu offers for compute, how each backend fills it in, and the rules that hold on every backend.
- [Names and environment variables](https://recursiveai.org/onegpu/docs/environment/index.md): Everything on this page is frozen for 1.x: a rename is a breaking change.

## Kernels

- [Kernels](https://recursiveai.org/onegpu/docs/kernels/index.md): RecursiveAI.OneGpu.Kernels holds the compute kernels that machine-learning inference needs, written in HLSL and compiled by the shader build for SPIR-V…
- [Matrix multiplication (GEMM)](https://recursiveai.org/onegpu/docs/gemm/index.md): RecursiveAI.OneGpu.Kernels.Gemm computes C = alpha * op(A) * op(B) + beta * C for Batch independent products. op(X) is X or its transpose. A and B are…
- [Attention](https://recursiveai.org/onegpu/docs/attention/index.md): AttentionKernels computes O = softmax(Scale · Q Kᵀ + Mask) V for every batch entry and head in one kernel. The score matrix is never written to memory: a…
- [Convolution, pooling and resize](https://recursiveai.org/onegpu/docs/conv/index.md): ConvKernels, PoolKernels and ResizeKernels in RecursiveAI.OneGpu.Kernels cover ONNX Conv, ConvTranspose, MaxPool, AveragePool, GlobalAveragePool…
- [Recurrent layers](https://recursiveai.org/onegpu/docs/recurrent/index.md): RecurrentKernels runs ONNX RNN, GRU and LSTM layers on the GPU: forward, reverse and bidirectional, layouts 0 and 1, sequence_lens, initial states…

## Project

- [Speed at 1.0](https://recursiveai.org/onegpu/docs/speed/index.md): The harness and the full method are in onemodel-csharp, tools/bar.sh and docs/bench.md. The models are onemodel's reference set: MiniLM-L6, BERT-base…
- [Changelog](https://recursiveai.org/onegpu/docs/changelog/index.md): All notable changes are listed here. The format follows Keep a Changelog and the project follows Semantic Versioning.
