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

Uploaded Source

Built Distributions

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

venlacpu-1.0.0-cp311-cp311-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

venlacpu-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (797.1 kB view details)

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

venlacpu-1.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (739.2 kB view details)

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

venlacpu-1.0.0-cp311-cp311-macosx_26_0_arm64.whl (583.7 kB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for venlacpu-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f1860e5349c15e7751d00efe7b741f1c0a1152d42c332d9dd1534edb3d921afd
MD5 7b8c06eecccc4d77be652c36aadd1b3d
BLAKE2b-256 4c0bcb220ad2e3879d836359e45a5ac5d5c066519ae21c0fa38da1aafd98a3a1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: venlacpu-1.0.0-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-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a6af359793e114e852df74344dad89574c5bf2237adb30028caac4259860e39f
MD5 5dd07a91856223eb80db2c6327191ce2
BLAKE2b-256 5c8c43735a19d2519cf49c8c05a88f6be50a1a51c4b3a2bd68dca66215611501

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 72125894eae26da3eb7cfa421bddab7324ac88f1841c2f273072066a4060469c
MD5 d4a1acfd1be47034a1a30c451a82fe48
BLAKE2b-256 c5ca6fda717a206957fc626e99d06050c4b6e25bfb8c4788dc8db0a85eb495a4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-1.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 80bf93e4a1f852573b024cc7051a24579aaad45b707fb210a173a62429b5e7fe
MD5 dc87e9fdb86117aa048a7e938e4ec383
BLAKE2b-256 04518eb39663c673be3f3d9fb2391f2dc9340667b09a46f2b6d1e97d11428e31

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for venlacpu-1.0.0-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 db5e9beccc6011773574a60f7672bdbcf05066ca118148ba75c7e0e64bce143f
MD5 a02322adae2a97718ecdb0fd18dc212d
BLAKE2b-256 94e2552d6bdfbba00cdd69dfe61f9f1cf6f15439d8759a562bd2f2f37294dfb2

See more details on using hashes here.

Provenance

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

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

This release

1.0.0 This release

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