# mratsim/Arraymancer

A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends

Repository: https://github.com/mratsim/Arraymancer
Canonical: https://ross.abutalabs.com/products/arraymancer
Homepage: https://mratsim.github.io/Arraymancer/
Language: Nim
License: Apache-2.0
License Family: permissive
Topics: tensor, nim, multidimensional-arrays, cuda, deep-learning, machine-learning, cudnn, high-performance-computing, gpu-computing, matrix-library, neural-networks, parallel-computing, openmp, linear-algebra, ndarray, opencl, gpgpu, iot, automatic-differentiation, autograd
Last push: 2026-05-26T20:28:54+00:00

## Health v2 (maintenance only)
Score: 61/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 84, release rhythm 8, longevity 100
- inputs: {"age_days": 3429, "days_push": 99, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1407, forks 101 (observed 2026-08-28T04:04:38.446985+00:00)

## What it is
Arraymancer is a fast, ergonomic N-dimensional tensor (ndarray) library written in Nim, inspired by NumPy and PyTorch. It provides CPU, CUDA, and OpenCL backends with OpenMP parallelism, plus machine learning and deep learning components built on top of the core tensor library.

## Use cases
- n-dimensional array math in Nim
- build neural networks with autograd
- GPU-accelerated tensor computations via CUDA or OpenCL
- scikit-learn style ML like PCA, clustering, regression
- fast numerical computing without Python runtime
- embedded or IoT tensor computations

## When to choose
- you want NumPy/PyTorch-like tensors in Nim with native compiled performance
- you need CPU and GPU backends in one library
- you want fast compilation and no Python dependency for numerical work

## When to avoid
- you need the mature ecosystem of NumPy/PyTorch tooling and libraries
- you require an interactive REPL/Jupyter workflow
- your team does not want to work in Nim

## Facets
- artifact type: library
- maturity: active
- function: machine-learning, deep-learning, math, gpu-computing, data-science
- domain: machine-learning, deep-learning, data-science, gpu-computing
- platform: cross-platform, cpp, embedded
- tags: tensor, ndarray, nim, cuda, opencl, openmp, autograd, linear-algebra, numpy-alternative, pytorch-inspired, algorithms, gpu

## Member repositories
- mratsim/Arraymancer (main) score 61

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:38.446985+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:38:39.429690+00:00, confidence not recorded.
  - readme: https://github.com/mratsim/Arraymancer (fetched 2026-08-28T04:04:38.446985+00:00, sha 65bb5a4a4313)
  - homepage: https://mratsim.github.io/Arraymancer/ (fetched 2026-08-29T11:52:12.428117+00:00, sha 4ed0a32caef0)
- Data as of 2026-08-30T08:39:29.467469+00:00.
