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
- Repository: https://github.com/Mangono1/venlacpu
- Issues: https://github.com/Mangono1/venlacpu/issues
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file venlacpu-2.1.0.tar.gz.
File metadata
- Download URL: venlacpu-2.1.0.tar.gz
- Upload date:
- Size: 120.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2d81a2b3dc32659c2be5317eece58ef182b60121d85ace26c50aefa5cca21bc
|
|
| MD5 |
c783dae5cd50db94e2037e71111a05d6
|
|
| BLAKE2b-256 |
6c984bca167b481027a129891301f7e760f7ecff7b6adade75aca44ac2e59271
|
Provenance
The following attestation bundles were made for venlacpu-2.1.0.tar.gz:
Publisher:
release.yml on Mangono1/venlacpu
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
venlacpu-2.1.0.tar.gz -
Subject digest:
b2d81a2b3dc32659c2be5317eece58ef182b60121d85ace26c50aefa5cca21bc - Sigstore transparency entry: 2674913340
- Sigstore integration time:
-
Permalink:
Mangono1/venlacpu@7542cdc959e61f70175661d230fc49a45fdce907 -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/Mangono1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7542cdc959e61f70175661d230fc49a45fdce907 -
Trigger Event:
push
-
Statement type:
File details
Details for the file venlacpu-2.1.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: venlacpu-2.1.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5f33d8c22e819e356d870158d9339b8d1a1653da8fbf42975688605b6d924d3
|
|
| MD5 |
c36b8ed1643ee1fe0dbe3101f38ccaaf
|
|
| BLAKE2b-256 |
54825ae8ea09aaf43c429d6ba5f206637a93496af3bf4f7e97c4dd6fcb6b5799
|
Provenance
The following attestation bundles were made for venlacpu-2.1.0-cp311-cp311-win_amd64.whl:
Publisher:
release.yml on Mangono1/venlacpu
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
venlacpu-2.1.0-cp311-cp311-win_amd64.whl -
Subject digest:
f5f33d8c22e819e356d870158d9339b8d1a1653da8fbf42975688605b6d924d3 - Sigstore transparency entry: 2674913718
- Sigstore integration time:
-
Permalink:
Mangono1/venlacpu@7542cdc959e61f70175661d230fc49a45fdce907 -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/Mangono1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7542cdc959e61f70175661d230fc49a45fdce907 -
Trigger Event:
push
-
Statement type:
File details
Details for the file venlacpu-2.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: venlacpu-2.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 817.9 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17cf984a53a4d8c5f2494b2c21b1070abf2d3d803ccda08dc8736ea81d4e3cb7
|
|
| MD5 |
943bb9f16a5cf11ec3d69ab7fc750234
|
|
| BLAKE2b-256 |
fea331c34a9804698ff13bdd45704d328dbcc6211af5e9e2fd50e55becd4292a
|
Provenance
The following attestation bundles were made for venlacpu-2.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on Mangono1/venlacpu
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
venlacpu-2.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
17cf984a53a4d8c5f2494b2c21b1070abf2d3d803ccda08dc8736ea81d4e3cb7 - Sigstore transparency entry: 2674913559
- Sigstore integration time:
-
Permalink:
Mangono1/venlacpu@7542cdc959e61f70175661d230fc49a45fdce907 -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/Mangono1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7542cdc959e61f70175661d230fc49a45fdce907 -
Trigger Event:
push
-
Statement type:
File details
Details for the file venlacpu-2.1.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: venlacpu-2.1.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 756.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a1f5b3965e32f28cb0add1003c374a2086e22e165c53a8309d4ef1b90dc42c7
|
|
| MD5 |
0e15b91dc3d5ca57f039ec2e53474ce3
|
|
| BLAKE2b-256 |
cb09c1598c6fc0010fca5435a319a4f8854aa88a88b9ef53934bc24e8e253c60
|
Provenance
The following attestation bundles were made for venlacpu-2.1.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on Mangono1/venlacpu
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
venlacpu-2.1.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
4a1f5b3965e32f28cb0add1003c374a2086e22e165c53a8309d4ef1b90dc42c7 - Sigstore transparency entry: 2674913423
- Sigstore integration time:
-
Permalink:
Mangono1/venlacpu@7542cdc959e61f70175661d230fc49a45fdce907 -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/Mangono1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7542cdc959e61f70175661d230fc49a45fdce907 -
Trigger Event:
push
-
Statement type:
File details
Details for the file venlacpu-2.1.0-cp311-cp311-macosx_26_0_arm64.whl.
File metadata
- Download URL: venlacpu-2.1.0-cp311-cp311-macosx_26_0_arm64.whl
- Upload date:
- Size: 601.3 kB
- Tags: CPython 3.11, macOS 26.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ea1a45266af6a343663ebb2e86c8489d893cbde284eb7014f517ed76022b5e4
|
|
| MD5 |
84d7ef47f64ef0eb4f0f1ae6f32cc2c7
|
|
| BLAKE2b-256 |
8533e39b9158f3400f8e5ed6367a522165722101d721a1c4ea805ff4e18e00fe
|
Provenance
The following attestation bundles were made for venlacpu-2.1.0-cp311-cp311-macosx_26_0_arm64.whl:
Publisher:
release.yml on Mangono1/venlacpu
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
venlacpu-2.1.0-cp311-cp311-macosx_26_0_arm64.whl -
Subject digest:
8ea1a45266af6a343663ebb2e86c8489d893cbde284eb7014f517ed76022b5e4 - Sigstore transparency entry: 2674913814
- Sigstore integration time:
-
Permalink:
Mangono1/venlacpu@7542cdc959e61f70175661d230fc49a45fdce907 -
Branch / Tag:
refs/tags/v2.1.0 - Owner: https://github.com/Mangono1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7542cdc959e61f70175661d230fc49a45fdce907 -
Trigger Event:
push
-
Statement type: