# ggml ## Docs - [Allocator API](https://mintlify.wiki/ggml-org/ggml/api/allocator.md): Memory allocation for tensors and computation graphs - [Backend API](https://mintlify.wiki/ggml-org/ggml/api/backend.md): Hardware backend abstraction for executing computation graphs - [Context API](https://mintlify.wiki/ggml-org/ggml/api/context.md): Manage ggml memory contexts - [GGUF API](https://mintlify.wiki/ggml-org/ggml/api/gguf.md): Read and write GGUF model files - [Computation Graph API](https://mintlify.wiki/ggml-org/ggml/api/graph.md): Build and execute computation graphs - [Tensor Operations](https://mintlify.wiki/ggml-org/ggml/api/operations.md): Complete reference for all ggml tensor operations - [Optimizer API](https://mintlify.wiki/ggml-org/ggml/api/optimizer.md): High-level training API with AdamW and SGD optimizers - [Tensor API](https://mintlify.wiki/ggml-org/ggml/api/tensors.md): Create and manipulate tensors - [CPU backend](https://mintlify.wiki/ggml-org/ggml/backends/cpu.md): Thread-parallel, SIMD-accelerated CPU execution — the default backend, always available - [CUDA backend](https://mintlify.wiki/ggml-org/ggml/backends/cuda.md): NVIDIA GPU acceleration via CUDA, with multi-GPU and split-tensor support - [Metal backend](https://mintlify.wiki/ggml-org/ggml/backends/metal.md): Native Apple GPU compute for macOS and Apple Silicon - [Backends overview](https://mintlify.wiki/ggml-org/ggml/backends/overview.md): How ggml dispatches computation across hardware - [RPC backend](https://mintlify.wiki/ggml-org/ggml/backends/rpc.md): Distribute ggml computation to remote machines over the network - [Vulkan backend](https://mintlify.wiki/ggml-org/ggml/backends/vulkan.md): Cross-vendor GPU acceleration for Linux, Windows, and Android - [Building ggml](https://mintlify.wiki/ggml-org/ggml/build.md): Compile ggml with different backends and options. - [Automatic Differentiation](https://mintlify.wiki/ggml-org/ggml/concepts/automatic-differentiation.md): ggml implements reverse-mode automatic differentiation so you can compute gradients with respect to any parameter tensor. - [Computation Graph](https://mintlify.wiki/ggml-org/ggml/concepts/computation-graph.md): ggml uses a deferred execution model: operations build a graph, and computation happens only when you explicitly request it. - [Memory Management](https://mintlify.wiki/ggml-org/ggml/concepts/memory-management.md): ggml uses an arena allocator for tensors and metadata, with separate backend buffers for compute data. - [Quantization](https://mintlify.wiki/ggml-org/ggml/concepts/quantization.md): ggml's block-quantization formats reduce model memory and memory bandwidth at the cost of small accuracy trade-offs. - [Tensors](https://mintlify.wiki/ggml-org/ggml/concepts/tensors.md): The fundamental data structure in ggml: n-dimensional arrays with explicit type, shape, and stride information. - [GPT-2 inference](https://mintlify.wiki/ggml-org/ggml/examples/gpt2.md): Run GPT-2 text generation with ggml - [MNIST digit classification](https://mintlify.wiki/ggml-org/ggml/examples/mnist.md): Train and evaluate a neural network on MNIST using ggml - [Simple example](https://mintlify.wiki/ggml-org/ggml/examples/simple.md): Minimal working examples of ggml computation - [GGUF file format](https://mintlify.wiki/ggml-org/ggml/formats/gguf.md): Binary file format for storing ggml models - [Introduction](https://mintlify.wiki/ggml-org/ggml/introduction.md): ggml is a low-level C tensor library for machine learning, powering llama.cpp, whisper.cpp, and more. - [Quickstart](https://mintlify.wiki/ggml-org/ggml/quickstart.md): Build ggml from source and run your first computation. - [Datasets](https://mintlify.wiki/ggml-org/ggml/training/datasets.md): Manage training data with ggml's dataset API - [Optimizers](https://mintlify.wiki/ggml-org/ggml/training/optimizers.md): Configure AdamW and SGD optimizers - [Training overview](https://mintlify.wiki/ggml-org/ggml/training/overview.md): Train models using ggml's optimization API