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.46a6.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.46a6-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.46a6.tar.gz.

File metadata

  • Download URL: vajra_streamer-0.0.46a6.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.46a6.tar.gz
Algorithm Hash digest
SHA256 1ce1c2777d91302cf98a0c60d4cf21940df43a2d356bf97c54742e5a01e51ee1
MD5 2fa61a1e2876fdc493f0c0fe1fe715c6
BLAKE2b-256 5c1bfe0da96f9a07dff5a864a2ed14639f72fb54601e2f62c84e43837ac7c027

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vajra_streamer-0.0.46a6-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 989641a50fae3a3ebacf2a95127ade93571a6a0e489ca05edd28d56be1048cdc
MD5 ef6882656a787c49610ff3543dfae200
BLAKE2b-256 dd2b3ce1355f224cfac4013db0e114107019766c05485510ad36ac5ddd879f4d

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