Skip to main content

The Quadrants Programming Language

Project description

What is Quadrants?

Quadrants is a high-performance multi-platform compiler for physics simulation being continuously developed by Genesis AI.

It is designed for large-scale physics simulation and robotics workloads. It compiles Python code into highly optimized parallel kernels that run on:

  • NVIDIA GPUs (CUDA)
  • Vulkan-compatible GPUs (SPIR-V)
  • Apple Metal GPUs
  • AMD GPUs (ROCm HIP)
  • x86 and ARM64 CPUs

The origin

The quadrants project was originally forked from Taichi in June 2025. As the original Taichi is no longer being maintained and the codebase evolved into a fully independent compiler with its own direction and long-term roadmap, we decided to give it a name that reflects both its roots and its new identity. The name Quadrants is inspired by the Chinese saying:

太极生两仪,两仪生四象

The Supreme Polarity (Taichi) gives rise to the Two Modes (Ying & Yang), which in turn give rise to the Four Forms (Quadrants).

Quadrants captures the idea of progression originated from taichi — built on the same foundation, evolving in its own direction while acknowledging its roots. This project is now fully independent and does not aim to maintain backward compatibility with upstream Taichi.

How Quadrants differs from upstream Taichi

While the repository still resembles upstream in structure, major changes include:

Modernized infrastructure

  • Revamped CI
  • Support for Python 3.10–3.13
  • Support for macOS up to 15
  • Significantly improved reliability (≥90% CI success on correct code)

Structural improvements

  • Added dataclasses.dataclass structs:

    • Work with both ndarrays and fields
    • Can be passed into child ti.func functions
    • Can be nested
    • No kernel runtime overhead (kernels see only underlying arrays)

Removed components

To focus the compiler and reduce maintenance burden, we removed:

  • GUI / GGUI
  • C-API
  • AOT
  • DX11 / DX12
  • iOS / Android
  • OpenGL / GLES
  • argpack
  • CLI

Performance improvements

Reduced launch latency

  • Release 4.0.0 improved non-batched ndarray CPU performance by 4.5× in Genesis benchmarks.
  • Release 3.2.0 improved ndarray performance from 11× slower than fields to 1.8× slower (on a 5090 GPU, Genesis benchmark).

Reduced warm-cache latency

On Genesis simulator (Linux + NVIDIA 5090):

  • single_franka_envs.py cache load time reduced from 7.2s → 0.3s

Zero-copy Torch interop

  • Added to_dlpack
  • Enables zero-copy memory sharing between PyTorch and Quadrants
  • Avoids kernel-based accessors
  • Significantly improves performance

Compiler upgrades

  • Upgraded to LLVM 22
  • Enabled ARM support

Installation

Prerequisites

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

Procedure

pip install quadrants

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

Documentation

Something is broken!

Acknowledgements

Quadrants stands on the shoulders of the original Taichi project, built with care and vision by many contributors over the years. For the full list of contributors and credits, see the original Taichi repository.

We are grateful for that foundation.

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.

quadrants-0.6.2-cp313-cp313-win_amd64.whl (55.2 MB view details)

Uploaded CPython 3.13Windows x86-64

quadrants-0.6.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (47.1 MB view details)

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

quadrants-0.6.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl (44.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.34+ ARM64

quadrants-0.6.2-cp313-cp313-macosx_11_0_arm64.whl (30.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

quadrants-0.6.2-cp312-cp312-win_amd64.whl (55.2 MB view details)

Uploaded CPython 3.12Windows x86-64

quadrants-0.6.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (47.1 MB view details)

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

quadrants-0.6.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl (44.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.34+ ARM64

quadrants-0.6.2-cp312-cp312-macosx_11_0_arm64.whl (30.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

quadrants-0.6.2-cp311-cp311-win_amd64.whl (55.2 MB view details)

Uploaded CPython 3.11Windows x86-64

quadrants-0.6.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (47.1 MB view details)

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

quadrants-0.6.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl (44.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.34+ ARM64

quadrants-0.6.2-cp311-cp311-macosx_11_0_arm64.whl (30.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

quadrants-0.6.2-cp310-cp310-win_amd64.whl (55.2 MB view details)

Uploaded CPython 3.10Windows x86-64

quadrants-0.6.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (47.1 MB view details)

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

quadrants-0.6.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl (44.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.34+ ARM64

quadrants-0.6.2-cp310-cp310-macosx_11_0_arm64.whl (30.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file quadrants-0.6.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: quadrants-0.6.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 55.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for quadrants-0.6.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9987a8e3e0abf81f70c01f14cc4e986b6739ee57e48d1345583cab4f869dabd1
MD5 abc105638db03d7bfe9e99b7bef2b1d2
BLAKE2b-256 2fc6f80066f55e8c10ce94c04f7d6c51e26a8b907217c2135da6a5155156c688

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 94e75b28e0709b6979e554f537528310209e38b52b1fa1ace1e60fc4783f69e1
MD5 66996d44a538a39ce1a6253efbec88c9
BLAKE2b-256 1287234c5c1fd1ee4e58db1135bf233ff93725337e6b9eb9a6bd9c84c9c11c51

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 38319ef6e52308904080eac9ff4d9dfcb5c32a2febbe4078dfe8d8f4bae72ac3
MD5 13dd77576870aa6af382920c47584831
BLAKE2b-256 b30e5fb8d5320105dc031cea7fb6b487b21ab339d26f0db7881c193fde8b3386

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6043f8f218547070afe0cba98c97b06793e170d4d5e02107ca2b4e025a986209
MD5 5245fdda4382eafac362073deae68f34
BLAKE2b-256 448cf3de2602a3b9401c0e05aa411614b7830f925db5155bb82e1addfb883e4e

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: quadrants-0.6.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 55.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for quadrants-0.6.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1b7f5cb2e93a18610fbed48196226b80cb3464f660f9aec9e0f59d92ce805719
MD5 5ed6d2d39bbca6e6c08ae5b8ad39c5ed
BLAKE2b-256 d44d6f6bdd24ad2e216b1dbbceb27977d4afeb0a6bbe41bcc058918033302cd6

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bd9c5b3e5eff2ede8a1bb9321adc6e991a72677e412c388272ff210f61c685e7
MD5 f71f259b4edd8cacd1372c300285ce08
BLAKE2b-256 5b6ea52b7ae752cbfb93e82a1e6cd640a94bd3e3521be22803ae0dfb07e3b8a9

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 fd8b91ae341144149a3d8e5fe2812e1b358879e6d6148338993c2c25c7f02d3a
MD5 b3fbf1614ffaaac75580c06275489f6c
BLAKE2b-256 138135c31abbdf9dd56f259a404a4aafb09785524e8b97fa0e427cc5ff47fff7

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f20b39e365a7b4aa414406e9408371597126c0ab58301711d7a8c171b62c972
MD5 e959bf4c7685f1d9f3466393a79779dd
BLAKE2b-256 130b6de1aa5392dbff37e408e5dff3ecc54ae462da2e28e1a759ce94974ad31e

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: quadrants-0.6.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 55.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for quadrants-0.6.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 15aa449cd1da94bcb7fb8509fc898ec1c358ad817752b5fbd436e4c806abe75a
MD5 bfa5fd1e1635274dafffb5d05f48ced1
BLAKE2b-256 7edd8dafaee3e72b1460eb91c74451c6da020b9f8a6502d6fb2e871d88eb6b66

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6c7765418278ca6e4d49e8dab20d238eeadc51c54dbd6c0719acf1a8bc7332c9
MD5 82d713eb7b60c70c75f537172e5f921c
BLAKE2b-256 ab9bee475e7c86120f8c3b5bd8a2e10f642a6169d7b230198f344827a7cebe6d

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 9c2e14c10f098ad77896b240a5205b38c333f89398017e4c856e8af2864139c1
MD5 7374e7cdece90fc3d53b18db8306c21b
BLAKE2b-256 b5c952667bcfa205a3e5ba013099c3688677266ac761fc1755dcd5582bccc94d

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3afdc697ff3ec131c40a8867e5e11ef6993a114d28e314574092ce0c4fddf4f2
MD5 f8cccc32e9f408188e76c8b69c182a47
BLAKE2b-256 36994921d3869f16387dc86af5041b1e711f86d3fb66820c1b51c8b66d9f7b05

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: quadrants-0.6.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 55.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for quadrants-0.6.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 52099bfba54207c462a8cb19add90bb5fbd6b51829ff6ec57f982eee6caa5134
MD5 0e308e709bdf4e5987e5f5015142e9ec
BLAKE2b-256 b8e940b035f88358b18b5963ed404f478d74107b896a7d04f5bfe22b47e8c45e

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4326c790c83e00a5d27de5bfb95c22a22b1c1c9bc980e19028cfdb5faefe096c
MD5 ff43136563743dba28e102afa3e1341b
BLAKE2b-256 418b5479497e4f3aa48078ad5e684100ccda9d1fec742f9981304b14792c0efd

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 9fbe421be7e9299365f315f51346c5f8631cb6968b7020b94e6368cd14ea05d6
MD5 0cc404054f11ab28bfa679a17d23047d
BLAKE2b-256 3e69a0458516b57efcf0868ef936139eec17780ee7bc71706e820bf8e4a9602e

See more details on using hashes here.

File details

Details for the file quadrants-0.6.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for quadrants-0.6.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 735d5ad69a268ae55125f1fb4233ef06b89c51145caa9aefe26495417e1ce265
MD5 335b927752cde125dd1d25af16732f34
BLAKE2b-256 587a7460aff3b2fe86f16d6db159ab5b7a318b0af57ccbe1a82c9714954434d8

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