You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Newton's pipeline compiles Python functions to C++/CUDA code via Warp's JIT, which is then compiled to PTX and native libraries for GPU execution. Warp handles kernel compilation, GPU memory management, automatic differentiation, and spatial queries — all through a Python-only interface.
erwincoumans/warp_cpp demonstrates that pre-compiled Warp kernels can be called from C++ without Python at runtime, by loading cached compiled binaries. However this relies on undocumented internals.
Question: Is there any plan to formalize non-Python access into a stable C API at either layer?
Warp-level — stable interface for launching compiled kernels, managing GPU arrays, and using AD from non-Python code
Newton-level — C interface for Model creation, solver stepping, and state readback
This would follow the pattern of MuJoCo (C core → Python/Rust/Julia bindings) and PhysX (C++ core → C wrapper → Rust/C# bindings).
Context: The Rust robotics ecosystem has simulation (Rapier), visualization (Rerun), and linear algebra (nalgebra), but lacks a mature GPU-accelerated differentiable physics engine. Newton's solver stack fills that gap. A stable C API would unlock FFI bindings for Rust, C++, Julia, and others.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Newton's pipeline compiles Python functions to C++/CUDA code via Warp's JIT, which is then compiled to PTX and native libraries for GPU execution. Warp handles kernel compilation, GPU memory management, automatic differentiation, and spatial queries — all through a Python-only interface.
erwincoumans/warp_cpp demonstrates that pre-compiled Warp kernels can be called from C++ without Python at runtime, by loading cached compiled binaries. However this relies on undocumented internals.
Question: Is there any plan to formalize non-Python access into a stable C API at either layer?
This would follow the pattern of MuJoCo (C core → Python/Rust/Julia bindings) and PhysX (C++ core → C wrapper → Rust/C# bindings).
Context: The Rust robotics ecosystem has simulation (Rapier), visualization (Rerun), and linear algebra (nalgebra), but lacks a mature GPU-accelerated differentiable physics engine. Newton's solver stack fills that gap. A stable C API would unlock FFI bindings for Rust, C++, Julia, and others.
Has this been discussed?
Beta Was this translation helpful? Give feedback.
All reactions