High-performance multi-platform compiler for physics simulation
C++
217
11,178 commits
updated Sep 21, 2026
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:
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.
While the repository still resembles upstream in structure, major changes include:
coverage.py format, integrated with pytest-covdataclasses.dataclass structs — work with ndarrays and fields, nestable, passable to qd.func, zero kernel-runtime overheadqd.Tensor — unified API over fields and ndarrays with per-tensor layout control, pickle support, and a backend= switchBufferView — safe sub-range ndarray access with bounds checking in debug modeTo focus the compiler and reduce maintenance burden, we removed: GUI/GGUI, C-API, AOT, DX11/DX12, iOS/Android, OpenGL/GLES, argpack, CLI.
@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@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+)to_torch(copy=False) / to_numpy(copy=False) via DLPack on CUDA, CPU, AMDGPU, and Metal; direct torch tensor pass-through into kernelsshuffle, shuffle_down, reduce_add, reduce_all_add across CUDA, AMDGPU, Metal and Vulkan@qd.ad.grad_replaced), qd.ad.Tapeqd.init(qd.python) interprets kernels as plain Python so they can be stepped through in a standard Python debuggerpip install quadrants
(For how to build from source, see our CI build scripts, e.g. linux build scripts )
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.
(top 30 of 247)
C++
45.9%
Python
39.2%
C
13.2%
High-performance multi-platform compiler for physics simulation
C++
217
11,178 commits
updated Sep 21, 2026
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:
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.
While the repository still resembles upstream in structure, major changes include:
coverage.py format, integrated with pytest-covdataclasses.dataclass structs — work with ndarrays and fields, nestable, passable to qd.func, zero kernel-runtime overheadqd.Tensor — unified API over fields and ndarrays with per-tensor layout control, pickle support, and a backend= switchBufferView — safe sub-range ndarray access with bounds checking in debug modeTo focus the compiler and reduce maintenance burden, we removed: GUI/GGUI, C-API, AOT, DX11/DX12, iOS/Android, OpenGL/GLES, argpack, CLI.
@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@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+)to_torch(copy=False) / to_numpy(copy=False) via DLPack on CUDA, CPU, AMDGPU, and Metal; direct torch tensor pass-through into kernelsshuffle, shuffle_down, reduce_add, reduce_all_add across CUDA, AMDGPU, Metal and Vulkan@qd.ad.grad_replaced), qd.ad.Tapeqd.init(qd.python) interprets kernels as plain Python so they can be stepped through in a standard Python debuggerpip install quadrants
(For how to build from source, see our CI build scripts, e.g. linux build scripts )
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.
(top 30 of 247)
C++
45.9%
Python
39.2%
C
13.2%