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)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be73725753a2921069a57e8c3763092082d87f71d48f1bb08c8502ff607c8b44
|
|
| MD5 |
53661bc98fb14feca8c613e44827ef75
|
|
| BLAKE2b-256 |
32b9e3fdd3d5cf0e1dff62299db3c2acf10087665123b8b31bbf0042a70b243c
|