Skip to main content

A fast zero-copy PyTorch tensor streamer

Project description

Vajra

A fast zero-copy PyTorch tensor streamer powered by Dlang.

Usage

Once installed, you can use Vajra in any Python script or Jupyter Notebook:

import torch
from vajra import VajraStreamer, StreamConfig

# Configure the streamer (optional, uses defaults otherwise)
config = StreamConfig(
    auth_token="hf_YOUR_TOKEN", # Required for gated models like Llama 3
    chunk_size_mb=64,
    chunk_workers=16,
    gpu_workers=3,
    disable_cache=False
)

# Context manager ensures VRAM is freed when done
with VajraStreamer(config) as streamer:
    # Pass the URL or a Hugging Face repo ID
    # (e.g. "meta-llama/Meta-Llama-3-8B")
    tensors = streamer.load("meta-llama/Meta-Llama-3-8B")

    # 'tensors' is a dictionary mapping tensor names to zero-copy PyTorch tensors
    # that are backed directly by the downloaded GPU memory.
    for name, tensor in tensors.items():
        print(f"Tensor: {name}, Shape: {tensor.shape}, Dtype: {tensor.dtype}")

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

vajra_streamer-0.0.46a5.tar.gz (3.8 MB view details)

Uploaded Source

Built Distribution

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

vajra_streamer-0.0.46a5-py3-none-manylinux_2_34_x86_64.whl (8.0 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

File details

Details for the file vajra_streamer-0.0.46a5.tar.gz.

File metadata

  • Download URL: vajra_streamer-0.0.46a5.tar.gz
  • Upload date:
  • Size: 3.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for vajra_streamer-0.0.46a5.tar.gz
Algorithm Hash digest
SHA256 a67c7cd4cdae2fda0ade7fb3aaa0b20057fca2c652f20e6b7cb9aa57a857a86d
MD5 cd331b70694fc2a7b9c7d715a8787491
BLAKE2b-256 187d36452f079dfa24a35c0c33746b431cfdfdb6e308cce373a12f5d63cb35b4

See more details on using hashes here.

File details

Details for the file vajra_streamer-0.0.46a5-py3-none-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for vajra_streamer-0.0.46a5-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f0e8a828d027ef6896028c5c096c9b7f178c93ada28a2d74a0a0359de52e6d8f
MD5 549b241568063c41768a933bd0650c5f
BLAKE2b-256 f99742517ff51c8463dd53034e039f1e01b063d7430ce46f99b2803931a52e6e

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