thor-cuda
Official CUDA backend package for the Thor deep learning framework.
Thor is a C++/CUDA deep learning framework focused on high-performance tensor expression compilation, fusion, and GPU execution.
Status
This package is pre-alpha.
Project links
- Repository: https://github.com/amrobbins/Thor
- Issues: https://github.com/amrobbins/Thor/issues
License
Apache License 2.0. See LICENSE.
Release wheel flow
The public thor-cuda wheel build is the complete native release build. From
bindings/python, one command compiles the shared host implementation once,
compiles each supported SM once, and emits the three raw wheels together:
rm -rf build dist wheelhouse
python -m build --wheel
The expected raw release set is:
thor_cuda-<version>-cp312-cp312-linux_x86_64.whl
thor_cuda_kernels_sm89-<version>-py3-none-linux_x86_64.whl
thor_cuda_kernels_sm120-<version>-py3-none-linux_x86_64.whl
In the manylinux_2_28 release container, repair and verify the complete set
with the source-tree CMake release entry point:
cd ../..
cmake -DTHOR_RELEASE_ACTION=repair -P cmake/ThorWheelRelease.cmake
The release entry point invokes auditwheel and Twine through the release Python
interpreter (python -m auditwheel, python -m twine) rather than requiring
their console-script wrappers on PATH. In the Thor manylinux image it
automatically selects /opt/python/cp312-cp312/bin/python; override this with
-DTHOR_RELEASE_PYTHON_EXECUTABLE=/path/to/python when needed.
This is deliberately a source-tree CMake script rather than a target in the
scikit-build build directory. python -m build configures that directory using
a temporary isolated PEP 517 environment whose Ninja/CMake executables may no
longer exist after the build command returns.
This recreates wheelhouse/, runs auditwheel repair on each distribution,
keeps the NVIDIA CUDA/cuDNN user-space libraries external, explicitly keeps
libThor.so external to thor-cuda, and then verifies all of the release
invariants together: exact Thor/kernel versions, one backend per kernel wheel,
no backend in the central wheel, no bundled NVIDIA runtime libraries,
manylinux_2_28_x86_64 tags, and the configured per-wheel PyPI size ceiling.
It finishes by running twine check on all three repaired wheels.
After installing and testing the repaired wheels, publication is also CMake orchestrated. Credentials remain standard Twine configuration/environment:
export TWINE_USERNAME=__token__
export TWINE_PASSWORD='...'
export THOR_PUBLISH_CONFIRM=YES
cmake -DTHOR_RELEASE_ACTION=publish -P cmake/ThorWheelRelease.cmake
The publish action recreates and re-verifies the wheelhouse before uploading in dependency
order: thor-cuda-kernels-sm89, then thor-cuda-kernels-sm120, then
thor-cuda. The public package is intentionally last because it requires both
kernel distributions at the exact same version. For TestPyPI, also export
THOR_TWINE_REPOSITORY=testpypi before invoking the publish target.
Metadata
Release files for thor-cuda 0.0.37
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| thor_cuda-0.0.37-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
Release files / thor_cuda-0.0.37-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | thor_cuda-0.0.37-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a1c65ff988de8a84f6e0d99dd71222ea247e6cf641f990e9b1e475eaa678eb28
|
|
BLAKE2b-256 checksum How to use checksums |
07cb095f6228d5291ab17290c80b322b407de2a850644774fd00c180cc2d5d84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|