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.2.0.tar.gz
(5.0 kB
view details)
File details
Details for the file slangpy_torch-0.2.0.tar.gz.
File metadata
- Download URL: slangpy_torch-0.2.0.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a783ebb36778fd579adff69cbe93e37fdda14ef17f8f602a1a3a79bf8dbafc34
|
|
| MD5 |
2f25bc4d21e1c71413740a4d7f99233b
|
|
| BLAKE2b-256 |
151b9599313210bf7d20bab4d8c6233f9dce1deb7ec4e23c4de1dbe543dab442
|