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.1.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (869.8 kB view details)

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

pytart-0.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (869.1 kB view details)

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

pytart-0.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (868.9 kB view details)

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

pytart-0.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (868.8 kB view details)

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

pytart-0.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (866.9 kB view details)

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

pytart-0.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (865.3 kB view details)

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

pytart-0.1.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (866.1 kB view details)

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

File details

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

File metadata

File hashes

Hashes for pytart-0.1.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 48d61b2b1634bc9ff11dc65156c5b56d4ab0ee2004a0f47177a20a755da4d1a5
MD5 1b3ea69221c2dd9d2982365bbe87531b
BLAKE2b-256 5f48060adac22a97c3897e2d5bbe3d414b58493a68fe7a2d37bcfd0cfd994ae5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytart-0.1.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 61aa2d0d3011e60e20a1770e254eb89de16d3f9ab301c36ef83ecebfa244c355
MD5 3932688cd995e08ddedf6c87f2886975
BLAKE2b-256 5642496b86a243024491bdee71de0b92cd4b6094a3fa74f0f925829a983a077e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytart-0.1.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 31ed041d327678161e2b6bcc5c6be412d86e2fb6e116ac0ae86b7d57919fbf33
MD5 07bf070ed8a20779ce332f4e6e4d3deb
BLAKE2b-256 1e3751aa7de30a236b2bf73b2ec2415c126f6da5ed8b7f92fb56de79df210c03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytart-0.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e3faa143d49a2e0e2402dc71867ebf1ded0ad0c000c66ce1071b4316fbc9d65
MD5 5a4ec303c27efe77026265a6a1a36019
BLAKE2b-256 708056d7e303ccd2cf8698ead173d6c2c72acf87e0e856e78e9f7b64991ab06c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytart-0.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3aa7f20c39affdced662d4ecb8d045a54e7f2e098bdb23013a9d3b5e4288921c
MD5 0add5127f17c1d2bac19031bfd02c24a
BLAKE2b-256 91bebf530ab7df6af1a8607442a1bbd1297aca381b18f1cda8633925771b303e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytart-0.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e20c304e2506cb60de4288dd890797935c75ddb6f63bb848ef074dc35689f1b2
MD5 c6a851e96f91d5ab7cb7240c91e461ef
BLAKE2b-256 4cf71d9fda2f77ffefbe73299ab7633447645ade243f22956c4a83085b99a07a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pytart-0.1.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e4f46d4a653ce334792f5d8fbb519a1371fbde150b28526a5ef2d5f84126ef49
MD5 bf56baabb82dedbb5d072f5b50f6a845
BLAKE2b-256 df212ef1757030a5154dba464ca3410cd1238dd3367abefc9c0d5a2df4d942bb

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