Vulkan-based GPGPU engine
Project description
Tart
Tart is a GPGPU framework written in Vulkan. It is designed to reduce the required boilerplate for harnessing Vulkan's compute capabilities, while still not compromising in flexibility or feature set.
Building
Regardless of interface, you will need gcc, g++, python3 headers, a vulkan driver, and CMake. On Ubuntu and other Debian-based distros, these can be installed by running:
sudo apt install build-essential python3-dev
The vulkan driver will depend on your device, but most should be accessible through mesa:
sudo apt install mesa-vulkan-drivers
For NVIDIA GPUs, driver install will depend on your GPU architecture. I do not yet have instructions for that.
Python bindings
To install the python bindings, ensure GCC and CMake are installed. Then do the following to install and run the python unit tests.:
git clone https://codeberg.org/softcookiepp/tart.git --recurse-submodules
pip install ".[test]"
C++ library
To build tart with no statically linked compilers:
mkdir build
cd build
cmake ..
make
To build tart with compilers included (currently only glslang):
mkdir build
cd build
cmake -DTART_ENABLE_SHADER_COMPILERS=1 -DCMAKE_BUILD_TYPE=Release
make
Testing
Unit tests are built along with everything else by default. Simply execute the following to run them:
./run-tests
Roadmap
- implement enabling of some default extensions for capabilities that are commonly used (partially done)
- make cross-platform, easily installable python bindings (likely will use https://scikit-build-core.readthedocs.io/en/latest/ and https://pybind11.readthedocs.io/en/stable/compiling.html) (in-progress)
- make python bindings for clspv (probably will be a separate project altogether)
- fix bugs and stuff
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytart-0.1.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pytart-0.1.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 869.1 kB
- Tags: CPython 3.14t, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32ccf60ac4b58d63effe561b297f3d5a549c569e65724bad44070f82c9cf0615
|
|
| MD5 |
f584e5f5cfb2c48c0b35c97484e53145
|
|
| BLAKE2b-256 |
e63a9761f27f479c2f56f9c61c2adfb1d7217a047979a8513381ce1b9af797a4
|
File details
Details for the file pytart-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pytart-0.1.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 868.7 kB
- Tags: CPython 3.14, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbd5262ff9e2e5d60e7d38ab834942aa2a89dfa0e859ad28ab289d06398277af
|
|
| MD5 |
1d5661fd1b7fa8d6b5f7757c10bba6de
|
|
| BLAKE2b-256 |
2caf60a55206f58c86ce4a9bf5d3468b3008b49e565f5a35d2ce589de7332a15
|
File details
Details for the file pytart-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pytart-0.1.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 868.4 kB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9f9ddef545ba0bb61bec93cce0d909bed4d3c5cae14cb8af896883e5bfaf2d8
|
|
| MD5 |
500883fd20b9b4ecf570ce3c0d43dec5
|
|
| BLAKE2b-256 |
5f2bff4f663b8a3e1adb1223a5c60af3e41392cd45883c36623e44621d9da5b8
|
File details
Details for the file pytart-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pytart-0.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 868.3 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6afe11b64b51de670a617566b14ad92a2b56cd751dc9229b46b0bfe50979f515
|
|
| MD5 |
69ed847a618e1df44beec52d5cfd5fd4
|
|
| BLAKE2b-256 |
30b7c26843726f415940a6cfd36ea6d767f59773a47104b548c7f195b13eb6b2
|
File details
Details for the file pytart-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pytart-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 866.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9aa3583cb75770871bdfee9e82aed7afe6536ecbfdaf4351ace7ff9b7f2ff565
|
|
| MD5 |
13391ba2efa24088b3bf35ed2b1730b9
|
|
| BLAKE2b-256 |
fdcbf4814812dafda11671526063e6ec2924add32e38465cbbd2b1e6ad01b0b3
|
File details
Details for the file pytart-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pytart-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 864.8 kB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a62cb563667d9b7399b105166913d0275b4a6302a6ed571f33a146097e8b9974
|
|
| MD5 |
9b4b1f6e4b7a7652e04956915ded2d4a
|
|
| BLAKE2b-256 |
e99cebd27c7c0e6a37787cd7438213f28c23be258917bc41c9c444aa68366658
|
File details
Details for the file pytart-0.1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: pytart-0.1.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 865.5 kB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d7a878bf1e550484a7791d09f6ed042c6e79d13c3cbb93d9b17733711fc61ba
|
|
| MD5 |
95beb16a136b364837f08f4fff237c52
|
|
| BLAKE2b-256 |
2c986582e0c874cca1f7e7ea1498a859c3a9e0ded38f38447c73434cc3f3303e
|