Skip to main content

VENLACPU

CPU-first deep learning framework modern C++17.

VENLACPU is an actively developed deep learning framework focused on a clean, portable CPU implementation. The native engine is written in C++17 and is designed to work across desktop and mobile environments without requiring CUDA.

Status: Alpha / active development. APIs may change before the first stable release.

Author

VENLACPU is created and developed by Frandika Imam Arifin.

Current capabilities

The current C++ core includes:

  • Tensor storage, shape, stride, dtype, and device abstractions
  • CPU tensor operations and manipulation
  • Autograd and gradient propagation
  • Elementwise mathematics and reductions
  • Linear layers and sequential models
  • Activation functions
  • MSE and cross-entropy loss
  • Embedding
  • Positional encoding
  • Layer normalization
  • Multi-head attention
  • Feed-forward networks
  • Transformer encoder
  • Transformer decoder
  • KV cache and cached attention
  • Causal language model
  • Causal language-model dataset batching
  • Training loop with gradient accumulation
  • Adam optimizer
  • Evaluation and autoregressive generation
  • Tokenizer and vocabulary components

The project currently contains a comprehensive C++ test suite covering the implemented components.

Architecture

Physical CPU engine
           |
          T
ensor / Storage / Shape / Stride / Dtype / Device
           |
          Autograd
          |
          Math Ops
           |
          Neural network
          |
      Transformer / Language Model
          |
          Training System

The native implementation is the primary implementation at this stage.

Build from source

Requirements:

  • CMake 3.16 or newer
  • C++17 compiler
  • Git
cmake -S . -B build
cmake --build build -j2

Run the complete test suite:

ctest --test-dir build --output-on-failure

Python / PyPI

VENLACPU has a modular Python package prepared for PyPI. The current Python package exposes the package version, while the native C++ engine remains the primary implementation.

Platform-specific native wheels will be added when the Python binding layer is ready. GitHub Actions is used as the build and packaging engine.

Causal language-model training

The current training API supports:

  • Causal token shifting
  • Dataset batching
  • Padding with ignore index
  • Cross-entropy loss
  • Autograd and gradient propagation
  • Gradient accumulation
  • Adam optimization
  • Evaluation
  • Autoregressive generation

CPU-first design

VENLACPU is intentionally CPU-first. The current implementation does not require CUDA or a GPU runtime.

This makes the project suitable for desktop CPUs and ARM/mobile development environments.

Repository layout

venlacpu/
└ ── include/venla/
    └ ── autograd/
    │      core/
    └        math/
    └        nn/
    └ ── optim/
    │        tensor/
    └ ── tokenizer/
    └        training/
  │   src/
    │      core/
    └        math/
    └        nn/
    └ ── optim/
    │      tensor/
    │      tokenizer/
    │      training/
  │   tests/
  │  examples/
   │  benchmarks/
   │   docs/
   └ ── python/
   │  CMakeLists.tx
  │  pyproject.toml
   └ ── README.md

Development philosophy

VENLACPU begins with the low-level foundations and builds upward. The long-term goal is a portable CPU-first framework with a native C++ core and convenient Python access.

License

VENLACPU is licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0-only).

See the LICENSE file for the complete license text.

Copyright © 2026 Frandika Imam Arifin.

Links

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

venlacpu-2.4.0.tar.gz (145.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

venlacpu-2.4.0-cp311-cp311-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11Windows x86-64

venlacpu-2.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (885.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

venlacpu-2.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (817.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

venlacpu-2.4.0-cp311-cp311-macosx_26_0_arm64.whl (654.7 kB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

File details

Details for the file venlacpu-2.4.0.tar.gz.

File metadata

  • Download URL: venlacpu-2.4.0.tar.gz
  • Upload date:
  • Size: 145.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for venlacpu-2.4.0.tar.gz
Algorithm Hash digest
SHA256 dd8796672df9f1e1683704545490fc0c992edcf4732465afc3ea6ba0ebf941be
MD5 df411262d6794f86916ac70333556afd
BLAKE2b-256 32f79866df5d676f7bbc8c524d62f8cb0e90add18401a2b0b07279be650d9b44

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-2.4.0.tar.gz:

Publisher: release.yml on Mangono1/venlacpu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file venlacpu-2.4.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: venlacpu-2.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for venlacpu-2.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 27fa0b8239253d9349fb9497cd793e90797796d3ddcd4fa332ee0b0305c0f3ce
MD5 d6fb13167918ff819d0b0bf2b71aae3c
BLAKE2b-256 1a0c85616649b2629e8d4cacff7a8e1c95cd2eea595fc783df7f1d9bb51340ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-2.4.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on Mangono1/venlacpu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file venlacpu-2.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for venlacpu-2.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 075a67e097f163ba1d8b27ef8db9748c745cd3526b0e45f4614c9206f15b9a6e
MD5 81f526482d16981e5c6c513afd267d8f
BLAKE2b-256 74cac7a4dd5c9a1cc190171051a2917cd939cd5d74610f07267f68e793316f23

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-2.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on Mangono1/venlacpu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file venlacpu-2.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for venlacpu-2.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 42b5edebee6f95989e943e2c21b08ebc002f2457f9e650d279aaf5c1a9e85386
MD5 ad5b00cc27b7618b22f26ebae8be61a6
BLAKE2b-256 0f0a2133d97500494f8212074e701788ae03caa5b6365b12f128cd9fff0b314d

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-2.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on Mangono1/venlacpu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file venlacpu-2.4.0-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for venlacpu-2.4.0-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 bde9f059b32f793e547f804db1f3409b48a3975b51f7130ff28ada0ba8b7ded7
MD5 a409e06ce56cf68c4c514ae4a28757fa
BLAKE2b-256 90e4949997f210b646ec9de47223825a43cb3f9e3dc97d1ee3583783c819f89b

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-2.4.0-cp311-cp311-macosx_26_0_arm64.whl:

Publisher: release.yml on Mangono1/venlacpu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

2.4.0 This release

5 files

2.3.2

5 files

2.3.1

5 files

2.3.0

5 files

2.2.1

5 files

2.2.0

5 files

2.1.0

5 files

2.0.0

5 files

1.1.0

5 files

1.0.0

5 files

0.2.4

7 files

0.2.3

7 files

0.2.2

5 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page