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-0.2.4.tar.gz (112.8 kB view details)

Uploaded Source

Built Distributions

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

venlacpu-0.2.4-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows x86-64

venlacpu-0.2.4-cp311-cp311-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

venlacpu-0.2.4-cp311-cp311-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

venlacpu-0.2.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (751.9 kB view details)

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

venlacpu-0.2.4-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (701.8 kB view details)

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

venlacpu-0.2.4-cp311-cp311-macosx_26_0_arm64.whl (547.6 kB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for venlacpu-0.2.4.tar.gz
Algorithm Hash digest
SHA256 bbedd40172a9eacd1f1e4df498ca511087b0b5843d3d38fa6535a246cbc5cc02
MD5 bb66f832626a28d044a9e41c2e929393
BLAKE2b-256 5468db2563ec5c891b8f95cd11526a65c3c212ddc8c8e6335e3f2b6f2a7bb71b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: venlacpu-0.2.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.7 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-0.2.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 eccbc46211741e556d375c3228d58ab8855c178dacab41830841f8f46eb31d11
MD5 50049e4baf59d0297b69e6e0dff8e424
BLAKE2b-256 5cd88aa38feb0fc9ca03370a8f5fc3613c65ec17f6ad222cf32675bd4545c827

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-0.2.4-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-0.2.4-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for venlacpu-0.2.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1da91314c7019bd76a1211482a4dc779689534c85a9923c09bce03caf90a141
MD5 6429977672040edfe718e34668970d42
BLAKE2b-256 ce6566922571e51934e79a6bc399c44718a89cbfe77d5560f1a22bace98be2d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for venlacpu-0.2.4-cp311-cp311-musllinux_1_2_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-0.2.4-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for venlacpu-0.2.4-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 097e6beab61267c0d1452ae68c2e0b1527a37b1ebd165b6f8fb15ca29519f718
MD5 8bffeaf1a398e4d93101fae3012026e5
BLAKE2b-256 7143b725a940bb0f0516dab1e11eea4bbe88d4cc41b67410896514b6cb42af70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-0.2.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e0c4fd0738686ba809bff2a1ed37855ae3a0f36e8e8356578989d1132611668
MD5 166f39fa3aa96c2fff25e0142f490100
BLAKE2b-256 9f2a28b74073fdad788e67c8e044f2026afa7058d443ac4b98337397f52bbc32

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-0.2.4-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b265bdece2ff68499003afd345f95800f91f54511454bffba86af3040ecefc3a
MD5 f09e980f8539b218ff3e85383fc3a48c
BLAKE2b-256 bd6fb2bbb1b66ee3ead6c906b63598781c0e8c0cc15e6fb7345dd54d40408394

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-0.2.4-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 421f6e6da733c7d08ca566897d9e2ce49106c496119d03e5bb70b7d279077097
MD5 93d291b76b4b1481da87e565f7b1386e
BLAKE2b-256 f1a6ec9ff1ca769f5890ddb1044885279dc5233c21e0da5bd0fe6e9881472c0f

See more details on using hashes here.

Provenance

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

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

This release

0.2.4 This release

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