Skip to main content

GsTaichi

GsTaichi was forked in June 2025. This repository (or gstaichi) is now a fully independent project with no intention of maintaining backward compatibility with the original taichi. Whilst the repo largely resembles upstream for now, we have made the following changes:

  • revamped continuous integration, to run using recent python versions (up to 3.13), recent mac os x versions (up to 15), and to run reliably (at least 80% of runs with correct code succeed)
  • added dataclasses.dataclass structs:
    • work with both ndarrays and fields (cf ti.struct (field only), ti.dataclass (field only), ti.data_oriented (field only), argpack (ndarray only))
    • can be passed into child ti.functions (cf argpack)
    • does not affect kernel runtime speed (kernels see only the underlying arrays, no indirection is added within the kernel layer)
  • removed GUI/GGUI, C-API, AOT, DX11, DX12, IOS, Android, OpenGL, GLES

Planned features:

  • reduce warm cache launch latency
  • (maybe) add launch args caching, to reduce launch latency
  • make dataclasses.dataclass nestable

Planned pruning:

  • remove argpack
  • remove ti CLI
  • remove support for NVidia GPUs earlier than sm_60/Pascal

What is gstaichi?

GsTaichi is a high performance multi-platform compiler, targeted at physics simulations. It compiles Python code into parallelizable kernels that can run on:

  • NVidia GPUs, using CUDA
  • Vulkan-compatible GPUs, using SPIR-V
  • Mac Metal GPUs
  • x86 and arm64 CPUs

GsTaichi supports automatic differentiation. GsTaichi lets you build fully fused GPU kernels, using Python.

Genesis simulator's best-in-class performance can be largely attributed to Taichi, its underlying GPU acceleration framework for Python. Given how critical is this component, we decided to fork Taichi and build our own very framework from there, so that from now on, we are free to drive its development in the direction that best supports the continuous improvement of Genesis simulator.

Installation

Prerequisites

  • Python 3.10-3.13
  • Mac OS 14, 15, Windows, or Ubuntu 22.04-24.04 or compatible

Procedure

pip install gstaichi

(For how to build from source, see our CI build scripts, e.g. linux build scripts )

Documentation

Something is broken!

Acknowledgements

Metadata

Release files for gstaichi 4.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for gstaichi 4.6.0
File
gstaichi-4.6.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
gstaichi-4.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
gstaichi-4.6.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ ARM64, Linux glibc 2.27+ ARM64 Details
gstaichi-4.6.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
gstaichi-4.6.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
gstaichi-4.6.0-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
gstaichi-4.6.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ ARM64, Linux glibc 2.27+ ARM64 Details
gstaichi-4.6.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
gstaichi-4.6.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
gstaichi-4.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
gstaichi-4.6.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ ARM64, Linux glibc 2.27+ ARM64 Details
gstaichi-4.6.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
gstaichi-4.6.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
gstaichi-4.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
gstaichi-4.6.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ ARM64, Linux glibc 2.34+ ARM64 Details
gstaichi-4.6.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 691.5 MB

Release files / gstaichi-4.6.0-cp313-cp313-win_amd64.whl

Download URL gstaichi-4.6.0-cp313-cp313-win_amd64.whl
Size 56.2 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
26f7bd9b6f0746e9569a5c84fdd210231c52eb433a1eebf2f9039b8848c67350
BLAKE2b-256 checksum
How to use checksums
34a6cc4b28c4f4564a9e40248a5a5fd312598fb9cb31b3d85e55bab7a18dcabd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL gstaichi-4.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 44.6 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a63b71e78d6321219dd7a3abbbb6e9c6c0f6c6822502e157908d2dabad3a68db
BLAKE2b-256 checksum
How to use checksums
ad6b47971daabfaf85fe2cfb2830918926e491f147c7ff7aeb2a8123c0c0e6fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl

Download URL gstaichi-4.6.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Size 41.6 MB
Tags CPython 3.13 Linux glibc 2.27+ ARM64 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
dc4ebe9ae6d52468d69135093a5995cadf94f23fd3351f8ca5892c670c7d70ff
BLAKE2b-256 checksum
How to use checksums
ffedb8ea1d7aef47d79de262bfc46fd84953180dbc8b3a4445980c1d340600b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL gstaichi-4.6.0-cp313-cp313-macosx_11_0_arm64.whl
Size 30.4 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ac0cd1c31e7f1136e51f68572144ee1264469d623b56f3e6eb2ed6958772b4b9
BLAKE2b-256 checksum
How to use checksums
f640524eb27037c2534a377aac7a62154c26fb969fb3076c30fdfaba2872611a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp312-cp312-win_amd64.whl

Download URL gstaichi-4.6.0-cp312-cp312-win_amd64.whl
Size 56.2 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6e8cf212c8558cfe397e58450402c2d676bd47aaecb5aea013b142bef4a62a3f
BLAKE2b-256 checksum
How to use checksums
b5ea71e562b09307b7095c07cb702ac50f006133c1f148e2d0606ff793cce82b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL gstaichi-4.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 44.6 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6f16710f1af5967b0c303e7bf9055380cb07c3b71fb97963e85d50276d70489b
BLAKE2b-256 checksum
How to use checksums
d7729f19293e3a9e0166a8b5d64f24bb75e343ab937f211eb022c87a9ef64521
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl

Download URL gstaichi-4.6.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Size 41.6 MB
Tags CPython 3.12 Linux glibc 2.27+ ARM64 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
5430c1980fa0f7752fc0ecddd8f4b0bbcca92600af16f2ed832480e5fb18acf1
BLAKE2b-256 checksum
How to use checksums
eb2a099f29274a0b8a806fed1d929963b36d4240ce4cf1abd9e820ff43afd453
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL gstaichi-4.6.0-cp312-cp312-macosx_11_0_arm64.whl
Size 30.4 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3d6b2ab3859a9e70d3a5afb4e354a5b9c949754f218cbf85035639462f2c052a
BLAKE2b-256 checksum
How to use checksums
0663484e26fab64ac9167ee9c2963fa27551e2e67ef13d05f74de0addc18c36e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp311-cp311-win_amd64.whl

Download URL gstaichi-4.6.0-cp311-cp311-win_amd64.whl
Size 56.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
55822651acf9a27882b012ffa98e3fdb0065302bbba8ea4616006a05ff992bd9
BLAKE2b-256 checksum
How to use checksums
2245725b7f61446f722fb6126b9a3c427b0958842da2f65262d8b997b27a81ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL gstaichi-4.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 44.6 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
70d695d20feea4e062a9ab5e097e3c68f8511e3f196c136f90486d76e3437e4d
BLAKE2b-256 checksum
How to use checksums
4be3750cce50ab382289a990c585c14e6f9c727f7b37f91fe65ba5ae048f20cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl

Download URL gstaichi-4.6.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Size 41.6 MB
Tags CPython 3.11 Linux glibc 2.27+ ARM64 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
cda8c2c1cf53b0199d9d511b71fbcdbeace46ee56af222a8630ab793f1ecfa2b
BLAKE2b-256 checksum
How to use checksums
edd7124cd62190869699918195318225d7450ff231fda9fc8e9a9c4a253a74e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL gstaichi-4.6.0-cp311-cp311-macosx_11_0_arm64.whl
Size 30.4 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b5a253bac228ceb462bf5f29516e0196f4b8326666e8b26ab6ac36419c448357
BLAKE2b-256 checksum
How to use checksums
3d9c56c847666b501a33b48ecda606f56bfbace67464684c3763e5ae923d8490
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp310-cp310-win_amd64.whl

Download URL gstaichi-4.6.0-cp310-cp310-win_amd64.whl
Size 56.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
22b75f2bfdcbce2323dccc227f81108e949fb817ec0091a7b2be9e11e70914c0
BLAKE2b-256 checksum
How to use checksums
f882575df4190873600f56f3a8bf4cca4a0bc450200ee49474a97e1dce9fab60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL gstaichi-4.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 44.6 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8b59094fe61666c5747e5542ddcdf3a8cc65cb2fe2473a67b9f54587366ef724
BLAKE2b-256 checksum
How to use checksums
19b0d70229b72349a9ce59b703f7dc5f84c5c343763325065ac3ebf714db0751
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl

Download URL gstaichi-4.6.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Size 41.6 MB
Tags CPython 3.10 Linux glibc 2.27+ ARM64 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
ba73f60c1a82a5317bd237563bcc971a7341a18b0f8dda92c900369cfa08c6be
BLAKE2b-256 checksum
How to use checksums
b9b2a8dd5cb11557811c5ca2e8f23fdf234c7f4ca6f69f756dcea714ec1bf0c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / gstaichi-4.6.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL gstaichi-4.6.0-cp310-cp310-macosx_11_0_arm64.whl
Size 30.4 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9adfc85d87cfa96743918f47fe11b763734aa7472137b33e4da720ee431f672e
BLAKE2b-256 checksum
How to use checksums
fb24e5020559450a655097ccb34f615aad1d4cd54d0d8722f0ea522776204431
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.19

Security for gstaichi 4.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

4.6.0 This release

16 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page