About this project
ggml is a tensor library for machine learning written in plain C/C++, with the stated goal of being simple, portable and efficient with minimal setup. It is the tensor foundation behind projects such as llama.cpp.
Key characteristics described in the README:
- Plain C/C++ implementation without external dependencies.
- Cross-platform support: x86, ARM, RISC-V, LoongArch, PowerPC, s390x and WebAssembly.
- SIMD-optimized kernels for x86, ARM and RISC-V.
- Broad backend support covering CPU, GPU, NPU and browser environments.
- Integer quantization from 2-bit to 8-bit, plus MXFP4 and NVFP4 microscaling formats.
- Zero memory allocations during runtime.
Getting started is done by building from source with CMake:
```bash
git clone https://github.com/ggml-org/ggml
cd ggml
mkdir build && cd build
cmake ..
cmake --build . --config Release -j 8
```
A minimal, fully commented example covering matrix multiplication is available under examples/simple.
Documentation referenced by the project includes the GGUF file format specification, an introduction to ggml published on Hugging Face, and a GGML tips and tricks wiki page.
For contributions to the core ggml library, including the CMake build system, the README asks contributors to open a pull request in the llama.cpp repository instead, so that changes receive more visibility, testing and review.
The project is released under the MIT license.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.