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

The project is currently in alpha and the final public-release license is being finalized.

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.2.1.tar.gz (127.1 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.2.1-cp311-cp311-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

venlacpu-2.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (825.3 kB view details)

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

venlacpu-2.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (763.5 kB view details)

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

venlacpu-2.2.1-cp311-cp311-macosx_26_0_arm64.whl (606.9 kB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for venlacpu-2.2.1.tar.gz
Algorithm Hash digest
SHA256 521cc6544344a217294ead44f1e595ee7c2571de3cf306e6da0659e28dfe25e1
MD5 493dd16338944e00d23bdf4abbba6da3
BLAKE2b-256 380563ff487243a04f6c7a649766369b2b54e26802ac74dd87d68117bffeb6e7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: venlacpu-2.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 363cf1ce24398c000e977460147b89c76164f9d211ddbed3e2a52980a8a90f9d
MD5 2f809d192d65022c1e587dab410c3138
BLAKE2b-256 31ef529f7ea3dd8cd6f4ad219d9a4c0dadf915269631703e019c4159ca51919b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-2.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 53e3cc13fa694807a2c3e586c9d9359f5e305cd5806614b7a7a5ba634923169e
MD5 4ae09040878b934d1479597499939ccf
BLAKE2b-256 1011040ac11bbdcfe549179ecd3520d89b1d4142ed1449421e6489b63d1f79a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-2.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f074f6d14a42bd7c73c53a95e310c87ec4a728c1f062b45e673946acfe865a7a
MD5 9558065a5f367567fea8bbd478baccef
BLAKE2b-256 edd26bfdb4daa34d54d9cc705fb69a606c1b5fc80e71ada2f0565561edaec8fd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-2.2.1-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 1c8e7d2f6b78568c3f5b611ba084e605913ea48035c5332ea0166eefb6fee89e
MD5 5948587f8592d2d63d58cb577ea9bfed
BLAKE2b-256 38acb7ff4f1bf419c829b4fb754b628b729fc33eb0df348aa3cff12ecd1281ff

See more details on using hashes here.

Provenance

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

2.3.2

5 files

2.3.1

5 files

2.3.0

5 files

This release

2.2.1 This release

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