Skip to main content

Fast PyTorch tensor access for slangpy

Project description

slangpy-torch

Minimal PyTorch native extension providing fast (~28ns) tensor metadata access from native code without Python API overhead (~350ns).

Prerequisites

  • Python 3.9+
  • PyTorch 2.0+ installed
  • C++ compiler

Windows

Install Visual Studio 2019 or 2022 with the "Desktop development with C++" workload.

Linux

# Ubuntu/Debian
sudo apt-get install build-essential

Install

This extension must be installed with --no-build-isolation to ensure ABI compatibility with your installed PyTorch version:

pip install slangpy-torch --no-build-isolation

Verify Installation

import slangpy_torch
print(slangpy_torch.get_api_ptr())  # Should print a non-zero integer

Troubleshooting

  • "torch not found": Ensure PyTorch is installed first (pip install torch)
  • Windows linker errors: Run from a "Developer Command Prompt for VS" or ensure MSVC is in PATH

Usage from native code (slangpy_ext)

#include "tensor_bridge_api.h"

// At init time:
auto bridge = nb::module_::import_("slangpy_torch");
auto api = reinterpret_cast<const TensorBridgeAPI*>(
    nb::cast<uintptr_t>(bridge.attr("get_api_ptr")())
);

// In hot path (~28ns):
TensorBridgeInfo info;
api->extract(handle.ptr(), &info);
// Use info.data_ptr, info.shape, info.strides, etc.

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

slangpy_torch-0.3.0.tar.gz (5.1 kB view details)

Uploaded Source

File details

Details for the file slangpy_torch-0.3.0.tar.gz.

File metadata

  • Download URL: slangpy_torch-0.3.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for slangpy_torch-0.3.0.tar.gz
Algorithm Hash digest
SHA256 be73725753a2921069a57e8c3763092082d87f71d48f1bb08c8502ff607c8b44
MD5 53661bc98fb14feca8c613e44827ef75
BLAKE2b-256 32b9e3fdd3d5cf0e1dff62299db3c2acf10087665123b8b31bbf0042a70b243c

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