CUDAAAAGH (Centralized Underage Distributed Arithmetic - Automated Assignment And Group Hashing)
CUDAAAAGH allows you to distribute arithmetic computations across a network of children doing their maths homework Computation Partners by replacing Python's standard integer operations with remote calls to a manual computation server.
This allows you mine Bitcoin or train AI models for free.
CUDAAAAGH includes:
- A custom integer type (
CUDAAAAGHInt) that provides standard arithmetic operations - A manual computation server for processing arithmetic operations
- An implementation of SHA-256 using only basic arithmetic operations
- Support for bitwise operations decomposed into simple arithmetic
See my blog post introducing CUDAAAAGH and my new company MinorMiner for more details.
Installation
pip install CUDAAAAGH
Quick Start
- Start the computation server:
from CUDAAAAGH import start_server
import asyncio
if __name__ == "__main__":
asyncio.run(start_server(host="127.0.0.1", port=8000))
- In another terminal, use CUDAAAAGH for computations:
from CUDAAAAGH import CUDAAAAGHInt, set_compute_endpoint
# Configure the endpoint
set_compute_endpoint("http://localhost:8000/compute")
# Basic arithmetic
a = CUDAAAAGHInt(10)
b = CUDAAAAGHInt(5)
# Any computation will be performed remotely by a Computation Partner/child
# doing their maths homework!
#
# This will take a few seconds for a Computation Partner to solve:
result = a + b
print(f"10 + 5 = {result}")
# This will take a few thousand years or so:
hash_result = sha256("Hello!", CUDAAAAGHInt)
print(f"SHA-256 hash: {hash_result}")
Features
- Basic Arithmetic: Addition (
+), Subtraction (-), Multiplication (*), Floor Division (//) - Bitwise: AND (
&), OR (|), XOR (^), Left Shift (<<), Right Shift (>>) - Comparison: Equal to (
==), Greater than (>), Less than (<), Greater than or equal to (>=), Less than or equal to (<=)
Advanced Features
- SHA-256 implementation using only basic arithmetic
- Parallel computation support using futures
- Automatic operation decomposition
Development
- Clone the repository:
git clone https://github.com/robert/CUDAAAAGH.git
cd CUDAAAAGH
- Install development dependencies:
pip install -e ".[dev]"
- Run tests:
pytest
Contributing
Contributing to this project is unlikely to be a good use of your time. But if you insist:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Author
Robert Heaton (blog, @robjheaton)
Metadata
Release files for CUDAAAAGH 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cudaaaagh-0.1.4.tar.gz | 1.0 MB | Without provenance | Details for cudaaaagh-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cudaaaagh-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for cudaaaagh-0.1.4-py3-none-any.whl |
Total release size: 1.0 MB
Release files / cudaaaagh-0.1.4.tar.gz
| Download URL | cudaaaagh-0.1.4.tar.gz |
|---|---|
| Size | 1.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be9f495eeaf396caa13adc73b7fd7fdcaa3df0e168bd6617570a2064bb7c715a
|
|
BLAKE2b-256 checksum How to use checksums |
7af4af72fb1185a462e682604b28eccaeed3065de70e3085273fbecac22f5858
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.13.0
|
Release files / cudaaaagh-0.1.4-py3-none-any.whl
| Download URL | cudaaaagh-0.1.4-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21309fecc80d1345158c5a167194d4a2e8ae1d549fc5fc01d21ea6b709442176
|
|
BLAKE2b-256 checksum How to use checksums |
21452e6057a7039511e51bc6605a6f711e501f94f6ed9e9bbfc3d6fd08c11234
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.13.0
|
Security for CUDAAAAGH 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.