ggmlR
'GGML' Tensor Operations for Machine Learning
Description
Provides 'R' bindings to the 'GGML' tensor library for machine learning, designed primarily for 'Vulkan' GPU acceleration with full CPU fallback. Requires 'Vulkan' 1.2+ with legacy pipeline barriers (avoids 'Synchronization2' due to 'RADV' performance issues); supports 'Push Descriptors' ('VK_KHR_push_descriptor') to eliminate descriptor pool overhead when available. '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. Supports tensors up to 5D natively (GGML_MAX_DIMS=5). 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 50+ 'ONNX' ops including convolutions, attention primitives, normalization, quantized ops, shape operations, 'ScatterElements' (with 'Vulkan' 'atomicAdd' for GNN scatter-add), and fused custom ops (RelPosBias2D for 'BoTNet') — sufficient to run real-world models such as 'RoBERTa', 'BERT', 'GPT-NeoX', 'SqueezeNet', 'Inception v3', 'BAT-ResNeXt', 'BoTNet', and 'MNIST' out of the box. Reads 'GGUF' files natively: load 'pretrained' weights from any 'gguf'-compatible source ('llama.cpp', 'Hugging Face') with automatic weight conversion and metadata access. Uses a dedicated weight buffer architecture for zero-overhead repeated inference — weights are loaded to GPU once and never re-transferred. 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.
Downloads
617
Last 30 days
6353rd
977
Last 90 days
977
Last year
Trend: +71.4% (30d vs prior 30d)
CRAN Check Status
Show all 14 flavors
| Flavor | Status |
|---|---|
| r-devel-linux-x86_64-debian-clang | OK |
| r-devel-linux-x86_64-debian-gcc | OK |
| r-devel-linux-x86_64-fedora-clang | OK |
| r-devel-linux-x86_64-fedora-gcc | OK |
| r-devel-macos-arm64 | OK |
| r-devel-windows-x86_64 | OK |
| r-oldrel-macos-arm64 | NOTE |
| r-oldrel-macos-x86_64 | NOTE |
| r-oldrel-windows-x86_64 | NOTE |
| r-patched-linux-x86_64 | OK |
| r-release-linux-x86_64 | OK |
| r-release-macos-arm64 | OK |
| r-release-macos-x86_64 | OK |
| r-release-windows-x86_64 | OK |
Check details (6 non-OK)
for GNU extensions in Makefiles
GNU make is a SystemRequirements.
installed package size
installed size is 16.2Mb
sub-directories of 1Mb or more:
help 1.2Mb
lib 6.9Mb
libs 7.0Mb
for GNU extensions in Makefiles
GNU make is a SystemRequirements.
installed package size
installed size is 18.1Mb
sub-directories of 1Mb or more:
help 1.2Mb
lib 7.7Mb
libs 8.0Mb
for GNU extensions in Makefiles
GNU make is a SystemRequirements.
installed package size
installed size is 5.9Mb
sub-directories of 1Mb or more:
help 1.2Mb
lib 1.4Mb
libs 2.1Mb
Additional Issues
Check History
NOTE 11 OK · 3 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026
installed package size
installed size is 16.0Mb
sub-directories of 1Mb or more:
help 1.1Mb
lib 6.9Mb
libs 6.8Mb
installed package size
installed size is 18.5Mb
sub-directories of 1Mb or more:
help 2.1Mb
lib 7.6Mb
libs 7.6Mb
installed package size
installed size is 5.7Mb
sub-directories of 1Mb or more:
help 1.1Mb
lib 1.4Mb
libs 2.1Mb