Skip to main content

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

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pytart-0.0.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pytart-0.0.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pytart-0.0.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pytart-0.0.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pytart-0.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pytart-0.0.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pytart-0.0.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file pytart-0.0.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytart-0.0.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0951bdfb0dfcc2076d4aae376bc24a6ebb5923948def2b88f10a60077d8b0653
MD5 eb4975ba5adc32ccb7b08a42c8f4117b
BLAKE2b-256 8130b6e7c2f8eb2c094b707f47c8a867e20232219f5f3450a8356800c333f979

See more details on using hashes here.

File details

Details for the file pytart-0.0.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytart-0.0.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b4b8dc0b8a48eaab6c6730f5d2c114435f1de50d23cf14bc9aa5e14014d88bc5
MD5 e40fe9948408afa03da3be9002b64ea2
BLAKE2b-256 f6bc86ec34d9b06d37bda901cbf93b3878fb0a4fd2be3c2b669dac95ed2880a6

See more details on using hashes here.

File details

Details for the file pytart-0.0.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytart-0.0.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f5bf10bf730049aeaa7e7d865b386db9a9b449dc6180f1b37f1bf630f5b17e24
MD5 f08ea41fb56e1d8c23e81d3aa2c93c88
BLAKE2b-256 359f14fdc4e559f88c8d297e989e081bd9b0bb75fce2a36d8698cec48f1e0f20

See more details on using hashes here.

File details

Details for the file pytart-0.0.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytart-0.0.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 30df883598853bd9ee8e4bc1f6cc8f140e5dbc238a7157f74b3ed0355c920572
MD5 cd7e093e6ce7726f695e7d4f49aaec9c
BLAKE2b-256 79d8096d78a86bbfae40ceeb14c13de733e58e3c9e472e56f5a88177e84dcb77

See more details on using hashes here.

File details

Details for the file pytart-0.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytart-0.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 650f93812d52dc8fa39bff42d7cc5a8101df8e702125492294360d66f2919979
MD5 0b14f81e6f1c6833659716fb8596a928
BLAKE2b-256 0598b0c507a88ecbf969e4edde907afeff4b00123b5211be3a69da2a3c07a68a

See more details on using hashes here.

File details

Details for the file pytart-0.0.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytart-0.0.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5f22961f2bb08f14083f49077990e2e9c9f1643be6e447be51f4bb37ef303025
MD5 a2add9b9e49fb7880950630c90091623
BLAKE2b-256 5294bcfa0e13da64ea57d104944654cb80ae5a3b4e6a307d5d2cdbd603a2598f

See more details on using hashes here.

File details

Details for the file pytart-0.0.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pytart-0.0.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 548ac8eabb126ba9f9c0069af3067c919abdc4e21f902038a2eb9014b3c08fa8
MD5 a8bf0dfd1da81927a869c132de6f5617
BLAKE2b-256 fb2e74e9a49f375af50522cffe9129d3ab7cb00a6611fd07ad53aa48670353cd

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