libuipc
SoftwareCUDA-accelerated C++ and Python simulation library coupling rigid and deformable objects through Incremental Potential Contact. [1]
Installation & first result →Official websiteGetting started
- For
- Robotics and simulation developers studying contact-rich scenes [1]
- Source rights
- Named licenses are documented by part. Review licenses
- Unknowns
- compute requirements not fully established. Review gaps
Source researched · Not tested by us
Sources checked · Research details
Licenses & related hardware
- License
- Apache-2.0 · Details by part
Overview
libuipc couples rigid bodies, deformable solids, cloth and threads in one contact simulation. It provides C++ and Python APIs over a CUDA backend, making it relevant to robotics developers studying interactions that a rigid-body-only scene cannot represent. Its penetration-free contact and performance statements are upstream claims, not results reproduced in this review. [1]
Is this for you?
- Known limitations
- Quick-start bunny.msh is an external input to the shown script.
- Driver requirements differ for native GPU code and PTX compilation.
- README describes backward-optimization Diff-Sim as coming soon.
What you need
Installation & first result
Open the upstream getting-started guide [1]
- Install the matching pyuipc release.
- Run python -m uipc doctor and python -m uipc doctor --probe-cuda.
- Supply the quick-start bunny.msh geometry, then initialize, advance and retrieve the scene.
Editorial assessment from cited documentation; no runtime testing.
[1] · Editorial assessment
Hardware, models & data
- Inputs and outputs
Geometry, material and contact settings define a scene; World.advance and World.retrieve step and retrieve simulated state.
Project notes
Check the GPU path before building a scene
The Python package is named pyuipc. This review covers v0.0.28; pin that version when following these notes. The documented wheel pipeline targets Linux and Windows with Python 3.10–3.14. Run python -m uipc doctor, followed by python -m uipc doctor --probe-cuda, before interpreting a scene failure as a modeling problem. [1] [2] [6]
Driver requirements depend on how the GPU executes the packaged code. The README distinguishes native SASS images from PTX that needs compilation by the driver; the PTX path has a higher driver floor. For the reviewed source, native images cover compute capabilities 7.5, 8.0, 8.6, 8.9 and 12.0, with reported driver floors of 525.60.13 on Linux and 528.33 on Windows. The PTX path requires 570.124.06 and 572.61 respectively. These wheels carry their CUDA runtime code, so the documented requirement is a compatible driver rather than a system CUDA Toolkit. It also calls out a CUDA DLL dependency in the older 0.0.27 wheel. Avoid carrying requirements from one wheel or GPU architecture to another. We have not installed or probed a wheel. [1]
Source builds are a separate route: the README lists CMake 3.26+, CUDA 12.4+, vcpkg and Python 3.11+, while the package itself accepts Python from 3.10. Those are different scopes, not evidence that every source-build combination works. [1] [2]
Supply geometry before copying the quick start
The quick-start script reads bunny.msh, applies a soft-body material, adds a ground plane and advances the scene for 100 steps. It does not create or download that mesh. Obtain suitable geometry first, then inspect both the simulated state and the material/contact settings. The sample collection is a separate repository and a submodule; a plain source archive does not include its checkout. [1] [3]
The README describes the system as designed for differentiability but labels backward-optimization Diff-Sim APIs as coming soon. Do not select this revision solely on the assumption that a complete differentiable optimization workflow is already available. [1]
Repository software and documentation use Apache-2.0 terms. Meshes, sample assets and dependencies need their own checks. This profile pins commit 9c5710ee4b716502e3757e7312360e5ee68cb79f and covers source research only: no CUDA installation, simulation, gradient test or robotics integration was run. [7] [6]
What we checked
Source researched only; no installation, training, benchmark or physical hardware test performed. No affiliate links or reused media.
Not yet established
- Requirements: host computer
- Version-specific hardware compatibility (ecosystem tags alone do not establish it)
Updates
Source files and licenses
Apache-2.0 simulation library; external scene assets and runtime claims remain separately scoped.
| Layer | Availability / license |
|---|---|
| software | available · Apache-2.0 Repository materials only; external components retain their own terms. [7] |
| documentation | available · Apache-2.0 Repository materials only; external components retain their own terms. [7] |
The simulation workflow does not use a pretrained model.
The scoped workflow uses supplied scene geometry, not a training dataset.
References
Each source links to the exact revision we read. “Used for” shows where this page relies on it.
- S001 Simulation scope and installation
Revision, date & where cited
spiriMirror/libuipc contributors · github.com · revision
9c5710e· Accessed Oct 17, 2026
Used for: Overview, Is this for you?, What you need, Installation & first result and 3 more - S002 Python package requirements
Revision, date & where cited
spiriMirror/libuipc contributors · github.com · revision
9c5710e· Accessed Oct 17, 2026
Used for: What you need, Check the GPU path before building a scene - S003 Separate source dependencies
Revision, date & where cited
spiriMirror/libuipc contributors · github.com · revision
9c5710e· Accessed Oct 17, 2026
Used for: Supply geometry before copying the quick start - S007 Apache license
Revision, date & where cited
spiriMirror/libuipc contributors · github.com · revision
9c5710e· Accessed Oct 17, 2026
Used for: Supply geometry before copying the quick start, Source files and licenses - S006 Reviewed release and revision
Revision, date & where cited
spiriMirror/libuipc / GitHub · github.com · revision
9c5710e· v0.0.28 / · Accessed Oct 17, 2026
Used for: Installation & first result, Check the GPU path before building a scene, Supply geometry before copying the quick start, What we checked
Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5