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 20
  • 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.4.0-cp313-cp313-win_amd64.whl (53.4 MB view details)

Uploaded CPython 3.13Windows x86-64

quadrants-0.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.7 MB view details)

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

quadrants-0.4.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl (41.7 MB view details)

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

quadrants-0.4.0-cp313-cp313-macosx_11_0_arm64.whl (30.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

quadrants-0.4.0-cp312-cp312-win_amd64.whl (53.4 MB view details)

Uploaded CPython 3.12Windows x86-64

quadrants-0.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.7 MB view details)

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

quadrants-0.4.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl (41.7 MB view details)

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

quadrants-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (30.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

quadrants-0.4.0-cp311-cp311-win_amd64.whl (53.4 MB view details)

Uploaded CPython 3.11Windows x86-64

quadrants-0.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.7 MB view details)

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

quadrants-0.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl (41.7 MB view details)

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

quadrants-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (30.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

quadrants-0.4.0-cp310-cp310-win_amd64.whl (53.4 MB view details)

Uploaded CPython 3.10Windows x86-64

quadrants-0.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (44.7 MB view details)

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

quadrants-0.4.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl (41.7 MB view details)

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

quadrants-0.4.0-cp310-cp310-macosx_11_0_arm64.whl (30.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for quadrants-0.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 144d4ef22aaebaebab7d33c8e6e0f02853e1aa59fdbaa51c3e1ce94a05bd6562
MD5 d9408722b0ea17093823c33ac5d574d7
BLAKE2b-256 e3b69108d7baf0460b521048ebee6adc0e9e95f940c9025eb5142b2c88c6151d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2dcfb134b1eb6d6019e36fa444d34504da5cb8608674ad03b981a951e8642a75
MD5 592aa1bdabd60a2ece504c81eb1fff27
BLAKE2b-256 40bbaa97ae0cfb8aaaca5976578034ce5ff1c6a2e4804c3f99e967ac627479f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 cd17fc40d25b6e2a869a5f6c5c7eee1cca704b66d1ca88fc6a8db5878139b95d
MD5 13b3ec7d1be4489122279e77ababd69f
BLAKE2b-256 2b915396818b4c5c3a9ad201120fef202e18eed054b0c7b2834fd8f3ddaf5956

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3139fbaa1fd6fb3e45ad3c5d686fb087f759c53f833d952da498af1e3dbfb14b
MD5 da2ca5c2de925f113d9a4dfb750ab36f
BLAKE2b-256 171f5e1c5723ffab820310ecf14293a354a8da0f740d13bb6f919f34dac68bf5

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for quadrants-0.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0603239deee14aa37dd168c8a50d7a359a8eb38b5bbbda2332690a87ae4e64bb
MD5 dafdaf1ba2e1a8d5d6a89509b2df6789
BLAKE2b-256 62f6113dbaa265a02676f9a23fcd88d1987b3628cab1de244a4433a2c0b26851

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4b578043566c3abee10057c859c503e881d11263bbf384d832bb5a8bfcba1762
MD5 401e3746bb5d11400dac230c20480921
BLAKE2b-256 4a7e8b126614c6e33cdaeda0108306f7eae0ef790e3a566b512647d45cb161a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a5a1e0622ab635138759ddd05a9ce343f245b11a7ffe06ae27e4a1d68d550456
MD5 ed718b9759313de1eb21b4e3aa5186cc
BLAKE2b-256 39437275cd23857c96d6825fcd5e58aaf9e075bfd65c88ac7ccd8ba53fb98818

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bc52fb6f411ec36aaed83ed27d5675ed5d73f6cea86497b5c9d2bb15f70f879
MD5 243f905480bc6d4755c3354b5f3cf9ce
BLAKE2b-256 8c56ac529a35ccbda22c02ed2f337f639017d4f3d1c16e1d154b21d85c5942db

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for quadrants-0.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4b6244ae7dea83fed2d88af5a2674760022eb1025fe3761f22216e2f166b1e2a
MD5 f1d73f4c78b4ffb535739900575b998b
BLAKE2b-256 52960015f9706c02f299e173785f506be9d1a4f406e10d59aa2091f1b4625092

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 622de211c08e00f272b3fdc8563eacfd937abf946ff2add6f7ad34c34e3e8d3c
MD5 5e0e58effe259cf6663d3a60759c0bad
BLAKE2b-256 2bcd0bf70025fdaa61033805fb19920deb6a8ea9a22537303e2f474c6bf676c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 b3ff3906c219dcebe80955052cbab998044d8e19b39aad012165891b3ec8ad1e
MD5 498d28bb30d82b46d958c3ae85b469dc
BLAKE2b-256 345f66cbf9e7f1e6f27286a48b00da84534d726ee925d3049dc5377a8d3babf4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e212400cdb89b79b8d98fb8f09bca1db254e8e70c9316149aeb22f6a7f0a53b5
MD5 3faf2355fdff8c4b4dc81d3637fa8cfe
BLAKE2b-256 5614546ac35926a68d12c5f783bac523aece0d118ea2717f348f84bf6c87874c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for quadrants-0.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 34fb6c31603ac5a032c80baaa2fc50f65a4e47ae789102bac1c5be7d138121f0
MD5 8339a1b4eeb930b46242489b3d7019f0
BLAKE2b-256 727c7c575593df90fc617bc145103dd273dfa19a07ee8baf10b38b6ac0a38b85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d4a886d9dc8af5adce7eecb7e23c91f238b57f6b0c17e63a683a1637861e9eee
MD5 0f85e5bfc7eb55c536f6ad686da3b418
BLAKE2b-256 5e80cf6cd5d41470b02e1cd5bb79c1daac65a5bc3084ec89c8c40c4b38ae0d87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 e03c0608a92d61961983b52adf56e29d9d1b6007a1eb86a0eaecc57670e4bfe2
MD5 80b2fdee3371810021055c03f22a10ac
BLAKE2b-256 b44efe3df5a12c944856cbf0793e4dac4e9db931d2a22ce27ecd502a333af5fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for quadrants-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a00f0bef101648f8e2fb4e15de9626835eebd92e4852a71690c2a7e044f36781
MD5 bd2268c71a3f0dbd38e7a59f76a68f9e
BLAKE2b-256 1632d4833fcec068e0691028f313169985be28fc37d80152b2326af8bd16116f

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