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.3.2.tar.gz (141.3 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.3.2-cp311-cp311-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11Windows x86-64

venlacpu-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (871.7 kB view details)

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

venlacpu-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (806.5 kB view details)

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

venlacpu-2.3.2-cp311-cp311-macosx_26_0_arm64.whl (649.1 kB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for venlacpu-2.3.2.tar.gz
Algorithm Hash digest
SHA256 8055871fab4a9ddf71e45328ab427c48d3550aeffef896005a488509caefc643
MD5 d11311dc7db2647552f8cbb643005a68
BLAKE2b-256 c1c695dd14ed18fd7e238293c33a67b5f5313efc8c1903d2be037a456341a996

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-2.3.2.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.3.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: venlacpu-2.3.2-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.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8f6a8f110e9c10b8e1d2e078e4a0436c4965391ae94cce5024e8e7b2fb3a43ae
MD5 1249fa287581afc5976adebe9ff98e9d
BLAKE2b-256 316c5405ee4c5db1772bbe219b87cb099bea9701f9c31886764756b5a48977d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-2.3.2-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.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for venlacpu-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fbfe5f7a4f0f064ea285dbb901f9e97b17f96ce3f3e7b6eccc7dc0085d92245d
MD5 23c809369cdcdae1808e65ca10af80f7
BLAKE2b-256 5485d985a231718a45def541797334ff3502166d4794b8df4c09761024cbf7b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-2.3.2-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.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for venlacpu-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3bee64d20a5cce3d7713b09844726ae354b4662cabd273c72b80ee9b525299c8
MD5 e9f4559330f06dfe2e495ed5ea585c9f
BLAKE2b-256 3427ee7f33c59b9f510e6a9bc589ef241dc49f22cb9247f906577d1f5d29320d

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-2.3.2-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.3.2-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for venlacpu-2.3.2-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 2254daeb17f450f62da17277fa34a94df7162890e92a895827a6df4a959e2fee
MD5 dbebfd022220fd90decab334c109a2a8
BLAKE2b-256 380c768102cc64db8ce025c5403a97b97c04cbb0707854bea5ec1e6179d7a2cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-2.3.2-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

2.4.0

5 files

This release

2.3.2 This release

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