Skip to main content

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 (Yin & 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:

Platform support

  • LLVM 22, ARM (aarch64) support

CI

  • Kernel-level code coverage — device-side branch coverage in standard coverage.py format, integrated with pytest-cov
  • AI-driven checks for line wrapping, deleted comments, test coverage, and feature factorization

Structural improvements

  • dataclasses.dataclass structs — work with ndarrays and fields, nestable, passable to qd.func, zero kernel-runtime overhead
  • qd.Tensor — unified API over fields and ndarrays with per-tensor layout control, pickle support, and a backend= switch
  • BufferView — safe sub-range ndarray access with bounds checking in debug mode

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

  • Reduced launch latency — ndarray CPU performance improved 4.5×; ndarray GPU performance went from 11× slower than fields to ~30% slower (5090 GPU, Genesis benchmark)
  • Fastcache — opt-in source-level cache (@qd.kernel(fastcache=True)) that bypasses front-end AST parsing; reduces warm-cache kernel load from 7.2 s → 0.3 s on Genesis benchmarks
  • GPU Graphs - @qd.kernel(graph=True) captures kernel sequences into a graph; qd.graph.do_while runs GPU-side iteration loops (hardware conditional nodes on CUDA SM 9.0+)
  • perf_dispatch — auto-benchmarks multiple kernel implementations and selects the fastest at runtime
  • Zero-copy interopto_torch(copy=False) / to_numpy(copy=False) via DLPack on CUDA, CPU, AMDGPU, and Metal; direct torch tensor pass-through into kernels

SIMT primitives

  • Tile16x16 / Tile32x32 — register-resident 16×16 and 32×32 matrix tiles with Cholesky, triangular solve, and rank-1 updates; 5× faster than shared-memory baselines on blocked linear algebra
  • Subgroup ops — cross-platform shuffle, shuffle_down, reduce_add, reduce_all_add across CUDA, AMDGPU, Metal and Vulkan

Autodiff

  • Autodiff with dynamic loops — computes the gradient of any kernel transparently using reverse-mode differentiation and runtime-based memory allocation
  • Forward-mode AD, custom gradients (@qd.ad.grad_replaced), qd.ad.Tape

Debugging & development

  • Python backendqd.init(qd.python) interprets kernels as plain Python so they can be stepped through in a standard Python debugger

Installation

Prerequisites

  • Python 3.10-3.13
  • Mac OS 14, 15, Windows, or Ubuntu 22.04-24.04 or compatible
  • ROCm 5.2 or newer for AMD GPU support

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.

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.

algan_quadrants-1.3.0.post1-cp313-cp313-win_amd64.whl (28.0 MB view details)

Uploaded CPython 3.13Windows x86-64

algan_quadrants-1.3.0.post1-cp313-cp313-manylinux_2_27_x86_64.whl (27.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64

algan_quadrants-1.3.0.post1-cp313-cp313-macosx_13_0_arm64.whl (23.3 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

algan_quadrants-1.3.0.post1-cp312-cp312-win_amd64.whl (28.0 MB view details)

Uploaded CPython 3.12Windows x86-64

algan_quadrants-1.3.0.post1-cp312-cp312-manylinux_2_27_x86_64.whl (27.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64

algan_quadrants-1.3.0.post1-cp312-cp312-macosx_13_0_arm64.whl (23.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

algan_quadrants-1.3.0.post1-cp311-cp311-win_amd64.whl (28.0 MB view details)

Uploaded CPython 3.11Windows x86-64

algan_quadrants-1.3.0.post1-cp311-cp311-manylinux_2_27_x86_64.whl (27.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64

algan_quadrants-1.3.0.post1-cp311-cp311-macosx_13_0_arm64.whl (23.3 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

algan_quadrants-1.3.0.post1-cp310-cp310-win_amd64.whl (28.0 MB view details)

Uploaded CPython 3.10Windows x86-64

algan_quadrants-1.3.0.post1-cp310-cp310-manylinux_2_27_x86_64.whl (27.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64

algan_quadrants-1.3.0.post1-cp310-cp310-macosx_13_0_arm64.whl (23.3 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

Details for the file algan_quadrants-1.3.0.post1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f831b66ef681bf56463b33870242c587e233eb3c8f86d7c5908e050cab841c0f
MD5 fa61220824715a221509b14dfdb1fa8a
BLAKE2b-256 b78d1e709a63b2d66a1a6cce2e6a7295c745494dca1403bf0a33daadf72487ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp313-cp313-win_amd64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp313-cp313-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp313-cp313-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 78a5961f6ff12c6a65d09ef4dc80cbf75723fcba6462176fa29420ff1b2e8c83
MD5 4ab6b78d02c8fd1b1b6ef4c0f64af9fe
BLAKE2b-256 99c5aec9191d2e0d5ffb4d43e4c0ca3606ee77c54fff0f8eb59c97cda4933467

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp313-cp313-manylinux_2_27_x86_64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 47a49e5da0f732b96fabe0f26db9156d33a6544ede4f503709187193e9fcefc2
MD5 b08de26c0dd356738b4b62a500091b08
BLAKE2b-256 ab5395126e95a3d0e1f3ab5c5f204c25449a2d8c059ae047587b5c0bac759755

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp313-cp313-macosx_13_0_arm64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b4f2b59448d1e5da254ce7bc1505887c56ea72f5ec40bc4829fea9010f781a40
MD5 a2f9314ecbf4a59d8983973491dc8254
BLAKE2b-256 ec9a660349f048ec2567b79a95458fc801692550c44ee8e99eeafec039cd8f67

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp312-cp312-win_amd64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp312-cp312-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp312-cp312-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 5309aeedb52ec4f8ec0cb280ddfacd462375a2eaf471b7a4f0cb76657274973d
MD5 acd788069ee15b475f65054d1f2976b9
BLAKE2b-256 5f47d9b8cdf0e4e327eaa2bcad3e43b4f678410e64f664e2a4e34f79847eef90

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp312-cp312-manylinux_2_27_x86_64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 f9d791d98e99a357cef9788d816a4d006d80c154ed4fcc11d675302d0669f7f0
MD5 0dd036b5e1df645532c28040a5050733
BLAKE2b-256 1630bab8864ac963301c879e70dfdb369732d7178b5c4668156d1310d0863253

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp312-cp312-macosx_13_0_arm64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 47867c11fd2727ed531a17ea43c8c2b9eba720ddb814d76829defb177955d8cf
MD5 fc86f8be759a367f4669d32338d3af90
BLAKE2b-256 c14f35238d92b59a4c4c0c03fdee77ed1635b9b9f11cbddb4f8f01b843f8c2ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp311-cp311-win_amd64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp311-cp311-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp311-cp311-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 8e476504332e9be7a0049e88e0b127ffa3566a00b74433025173eea9644e3b41
MD5 ee0519695e5d9fc8c24bc7730a98cd01
BLAKE2b-256 d690f45ab673d540df43db728472c5ab7456b63f883c5d1d95fdf6cb4c6236a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp311-cp311-manylinux_2_27_x86_64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b494715b837e9fec4c0b8b0eaca2171c9bf2f896f20b36fe39f48bdc3a0ca018
MD5 25fae528090b240617fd93530f1868f1
BLAKE2b-256 3cc37efd0cf1d99ecb2c52b4fc15bed9da304ccccf0ba458efdf0d50bd4ab920

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp311-cp311-macosx_13_0_arm64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 910a3790bf1be365c470bd309eceded0375224d7970aa6617765951d74de283b
MD5 8876060c48b5afe25f721e5f7d4a32eb
BLAKE2b-256 a3b904c159dcb4be06025e3dbc80fe4079a52b00404613b7529c580f4625907b

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp310-cp310-win_amd64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp310-cp310-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp310-cp310-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 ff46d60d12c0ae6972926f44681e215f735286b63efa06eac5346bc8a2baa52c
MD5 dac8cf9a98b4deb3178d3faa8d82c62d
BLAKE2b-256 e22bbcd053b6d70f1718f45948ba074db171519390fc38cf4085bfc7c82ef4a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp310-cp310-manylinux_2_27_x86_64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file algan_quadrants-1.3.0.post1-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for algan_quadrants-1.3.0.post1-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 077a27058ee4ca2e89982813e98428bd00177d1e95c0ca156d9230532e4f1e56
MD5 843708754f8e6cd82d8371a9b556e545
BLAKE2b-256 aaf2c31a35d59e03db9ec9e953e8e4667feb4f3e03a01106dddb238571e9e4c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for algan_quadrants-1.3.0.post1-cp310-cp310-macosx_13_0_arm64.whl:

Publisher: quadrants_build.yaml on algorithmicsimplicity/algan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.3.0.post2

16 files

This release

1.3.0.post1 This release

12 files

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