Skip to main content

A custom CUDA-accelerated ML library

Project description

Aakaar

Aakaar is a custom, standalone deep learning tensor library built from the ground up using Python, C++, and raw CUDA. It is designed to provide a lightweight, transparent architecture for high-performance GPU computations without relying on heavy external frameworks like PyTorch or TensorFlow.

Core Architecture

Aakaar bypasses standard NumPy arrays by implementing a custom C++ Tensor object that resides directly in GPU VRAM. Python interacts with this data via Pybind11, acting as a lightweight remote control. This prevents severe performance bottlenecks over the PCI-e bus, keeping data on the GPU until explicitly requested back to the host CPU.

Current capabilities include:

  • Custom GPU-native Tensor class lifecycle management.
  • CUDA-accelerated uniform random number generation via cuRAND.
  • Direct host-to-device and device-to-host memory mapping.

Installation

To build Aakaar from source, you must have the NVIDIA CUDA Toolkit (nvcc) and a compatible C++ compiler (e.g., g++) installed.

  1. Clone the repository:
pip install aakaar

quick start

import aakaar

# Initialize the CUDA engine and allocate a GPU Tensor
print("Generating 100,000 random numbers on the GPU...")
data = aakaar.rand(100000, device="cpu", seed=1337)
print(len(a))
print(a[4])

# The data remains on the GPU as an Aakaar Tensor
print(type(data)) 
# <class 'aakaar._C.Tensor'>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aakaar-0.1.5.tar.gz (6.4 kB view details)

Uploaded Source

Built Distributions

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

aakaar-0.1.5-cp314-cp314-win_amd64.whl (104.8 kB view details)

Uploaded CPython 3.14Windows x86-64

aakaar-0.1.5-cp313-cp313-win_amd64.whl (101.3 kB view details)

Uploaded CPython 3.13Windows x86-64

aakaar-0.1.5-cp312-cp312-win_amd64.whl (101.4 kB view details)

Uploaded CPython 3.12Windows x86-64

aakaar-0.1.5-cp311-cp311-win_amd64.whl (99.6 kB view details)

Uploaded CPython 3.11Windows x86-64

aakaar-0.1.5-cp310-cp310-win_amd64.whl (98.6 kB view details)

Uploaded CPython 3.10Windows x86-64

File details

Details for the file aakaar-0.1.5.tar.gz.

File metadata

  • Download URL: aakaar-0.1.5.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for aakaar-0.1.5.tar.gz
Algorithm Hash digest
SHA256 f35609159bfb75e47b00b3eba0612579158302be62ae27e58ba92110806893f1
MD5 4abe78e16b84804ac88ac633fb77abfc
BLAKE2b-256 1225d6edf892dc33aaa8da75e34b39d7822fe82902746f925939267f54d5ef48

See more details on using hashes here.

File details

Details for the file aakaar-0.1.5-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: aakaar-0.1.5-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 104.8 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for aakaar-0.1.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0a3e453285b0b9298fe150dfa598a6c8fb5445a6def21bd5d99800d1dae987ed
MD5 802734ce50b6b509015d6f6dae6c7642
BLAKE2b-256 5598023918afb1f48db2e5947adf90902ed3c49882461e0cc9fd409fed5258ee

See more details on using hashes here.

File details

Details for the file aakaar-0.1.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: aakaar-0.1.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 101.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for aakaar-0.1.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 22d5f3cc2e4fbe4941ba093824506580e243b42fa0b2c75ef8c9a9d00a7b9eba
MD5 068e30616b0d4517e130b27f7e22ef04
BLAKE2b-256 38c6dc47c966ab2e72582b83b9a0b1106346de4fc8e82cc5312d9998e54121da

See more details on using hashes here.

File details

Details for the file aakaar-0.1.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: aakaar-0.1.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 101.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for aakaar-0.1.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7483f71b779433bddd74fe594c05381beb84d23aa1590b24ee7ea67df9fe7da1
MD5 a6981e919c5a87865f147eacad354dad
BLAKE2b-256 b86565d60c576fa1a61950d15ae75f87a045798296cd19dd27c2af1e40cd273d

See more details on using hashes here.

File details

Details for the file aakaar-0.1.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: aakaar-0.1.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 99.6 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for aakaar-0.1.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fadb558e6ac48fe4fe3a3446c9271a5fd98378bd0c68daf05c83c94ae5305779
MD5 2308a0b86f3ca81ee884b663c36a1e6b
BLAKE2b-256 78502fefa9e9117b7576a4d8a37161e505f8c7d6c7fcf5f5b17741c2f092048c

See more details on using hashes here.

File details

Details for the file aakaar-0.1.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: aakaar-0.1.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 98.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for aakaar-0.1.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 de3846109196d4c992abdb17d32c8bc1e50f20d1af5fde2f5f5b93cb314f6272
MD5 e92387912f892908083ebb0b09f4e0cb
BLAKE2b-256 9e7372c431b0d11ca6874e2615d84098f6acbeae69518c886f40e1f67d549ac2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page