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.3.tar.gz (112.9 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.3-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows x86-64

venlacpu-0.2.3-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.3-cp311-cp311-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

venlacpu-0.2.3-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.3-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.3-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.3.tar.gz.

File metadata

  • Download URL: venlacpu-0.2.3.tar.gz
  • Upload date:
  • Size: 112.9 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.3.tar.gz
Algorithm Hash digest
SHA256 6374bcf0612dfb4fc04116daef92e1eaacfb8ce781c8389280da205fced760a5
MD5 11fce51ceb00eaff02e44ab4ae85bc9b
BLAKE2b-256 1cdb947c18d26f6be8d24e5a3a0d4a8d976be7eedbb9f4155c7b7460347a2439

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: venlacpu-0.2.3-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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8781c3ad6dfe23b9263af92be67b65c8c5fe9517178364062dfe6e7d1eabf9f5
MD5 3fdbc46a6b795597c454df839b96c7bf
BLAKE2b-256 deb82ad182b645eb78c1aa6dc4ddf2787aac392cd3c814189949a525764acdb9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-0.2.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6734c2097fe8b633bea4d1285f9a851a5ad50c27b4b6a7c19b82829559d14e26
MD5 80f164783bbe66b3347a632300bd711f
BLAKE2b-256 bd4149283b8d193884a447b9c4b9144153af16018115da520ee5d5e791e53d5d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-0.2.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 66148dbd3fd8bee6e7d56bd07e1def806012fa6b7ec0d4863b164faccb4bd03a
MD5 f3d8bfa798daca0e197a1c7acfb580ff
BLAKE2b-256 bbe6ba5c9a0bc74a4c088f960069b42e290e2b4d19671a84f6956713573b714c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-0.2.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c00ba1b5d39dbba95a9495d4f0cc2242200d4e94eff58062653aebe9c9255e74
MD5 6a7508ee2b873f82f7f0001226c7f905
BLAKE2b-256 691cfff26219deec7f28f665036c6ca4bb18b0e130d4c28e1febeaaf3bf4d0fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-0.2.3-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a0b9ebf898be63971b55baab75d5cd529dec0b8ea7b627b2a63d5416f15e12f0
MD5 119474edbabde7819cec7fd9513c232d
BLAKE2b-256 972e5ab6736308ffc11a34d2e8bbb812e33f192944783d5e4b805112b0b78a75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-0.2.3-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 c5f154353c61e37a884480b274833d503a448f69c082bf3ef7139e1d2cac1e6b
MD5 e3a6ef8d8922c93dbddf10a60e9c2c34
BLAKE2b-256 f47caac8d448580e26f9225c190863b8243862ef81d124188b71d6390def7e15

See more details on using hashes here.

Provenance

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

0.2.4

7 files

This release

0.2.3 This release

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