ggmlR: 'GGML' Tensor Operations for Machine Learning

Provides 'R' bindings to the 'GGML' tensor library for machine learning, designed primarily for 'Vulkan' GPU acceleration with full CPU fallback. 'Vulkan' support is auto-detected at build time on Linux (when 'libvulkan-dev' and 'glslc' are installed) and on Windows (when 'Vulkan' 'SDK' is installed and 'VULKAN_SDK' environment variable is set); all operations fall back to CPU transparently when no GPU is available. Implements tensor operations, neural network layers, quantization, and a 'Keras'-like sequential model API for building and training networks. Includes 'AdamW' (Adam with Weight decay) and 'SGD' (Stochastic Gradient Descent) optimizers with 'MSE' (Mean Squared Error) and cross-entropy losses. Also provides a dynamic 'autograd' engine ('PyTorch'-style) with data-parallel training via 'dp_train()', broadcast arithmetic, 'f16' (half-precision) support on 'Vulkan' GPU, and a multi-head attention layer for building Transformer architectures. Supports 'ONNX' model import via built-in zero-dependency 'protobuf' parser: load 'pretrained' 'ONNX' models from 'PyTorch', 'TensorFlow', or other frameworks and run inference on 'Vulkan' GPU or CPU. Covers 40+ 'ONNX' ops including convolutions, attention primitives, normalization, and shape operations — sufficient to run real-world models such as 'BERT', 'SqueezeNet', 'Inception v3', and 'MNIST' out of the box. Serves as backend for 'LLM' (Large Language Model) inference via 'llamaR' and Stable Diffusion image generation via 'sd2R'. See <https://github.com/ggml-org/ggml> for more information about the underlying library.

Version: 0.6.3
Depends: R (≥ 4.1.0)
Suggests: testthat (≥ 3.0.0)
Published: 2026-03-18
DOI: 10.32614/CRAN.package.ggmlR
Author: Yuri Baramykov [aut, cre], Georgi Gerganov [ctb, cph] (Author of the GGML library), Jeffrey Quesnelle [ctb, cph] (Contributor to ops.cpp), Bowen Peng [ctb, cph] (Contributor to ops.cpp), Mozilla Foundation [ctb, cph] (Author of llamafile/sgemm.cpp)
Maintainer: Yuri Baramykov <lbsbmsu at mail.ru>
BugReports: https://github.com/Zabis13/ggmlR/issues
License: MIT + file LICENSE
URL: https://github.com/Zabis13/ggmlR
NeedsCompilation: yes
SystemRequirements: C++17, GNU make, libvulkan-dev, glslc (optional, for GPU on Linux), 'Vulkan' 'SDK' (optional, for GPU on Windows)
Materials: README, NEWS
CRAN checks: ggmlR results

Documentation:

Reference manual: ggmlR.html , ggmlR.pdf

Downloads:

Package source: ggmlR_0.6.3.tar.gz
Windows binaries: r-devel: ggmlR_0.6.1.zip, r-release: ggmlR_0.6.1.zip, r-oldrel: ggmlR_0.6.1.zip
macOS binaries: r-release (arm64): ggmlR_0.6.1.tgz, r-oldrel (arm64): ggmlR_0.6.1.tgz, r-release (x86_64): ggmlR_0.6.1.tgz, r-oldrel (x86_64): ggmlR_0.6.1.tgz
Old sources: ggmlR archive

Reverse dependencies:

Reverse depends: llamaR
Reverse linking to: llamaR
Reverse suggests: cayleyR

Linking:

Please use the canonical form https://CRAN.R-project.org/package=ggmlR to link to this page.