[DO NOT MERGE] Breakdown constraint solver solving kernel. #2209
+1,057
−14
GitHub Actions / Benchmark Comparison
failed
Jan 13, 2026 in 0s
Benchmark Comparison
🔴 Regressions detected. See tables below.
Details
Baselines considered: 5 commits
Thresholds: runtime ± 8%, compile ± 16%
Runtime FPS
| status | env | batch_size | use_contact_island | gjk_collision | dtype | backend | constraint_solver | current FPS | baseline FPS [last (mean ± std)] (*1) | Δ FPS (*2) |
|---|---|---|---|---|---|---|---|---|---|---|
| 🔴 | anymal_c | 0 | False | - | field | cpu | - | 82 | 7,967 (7,906 ± 101) | -99.0% |
| 🔴 | anymal_c | 0 | False | - | ndarray | cpu | - | 62 | 4,014 (3,967 ± 39) | -98.5% |
| 🔴 | anymal_c | 30000 | False | - | field | cuda | - | 1,770,925 | 16,891,373 (16,893,795 ± 20,424) | -89.5% |
| 🔴 | anymal_c | 30000 | False | - | ndarray | cuda | - | 991,725 | 11,984,778 (12,066,424 ± 54,074) | -91.7% |
| 🔴 | box_pyramid_3 | 4096 | False | - | field | cuda | - | 181,603 | 342,167 (342,479 ± 617) | -46.9% |
| 🔴 | box_pyramid_3 | 4096 | False | - | ndarray | cuda | - | 144,118 | 308,041 (306,514 ± 2,403) | -53.2% |
| 🔴 | box_pyramid_4 | 4096 | False | - | field | cuda | - | 78,832 | 110,655 (110,579 ± 210) | -28.8% |
| 🔴 | box_pyramid_4 | 4096 | False | - | ndarray | cuda | - | 60,279 | 94,650 (95,145 ± 340) | -36.3% |
| 🔴 | box_pyramid_5 | 4096 | False | - | field | cuda | - | 29,042 | 42,484 (42,559 ± 76) | -31.6% |
| 🔴 | box_pyramid_5 | 4096 | False | - | ndarray | cuda | - | 17,638 | 30,865 (30,899 ± 52) | -42.9% |
| 🔴 | box_pyramid_6 | 4096 | False | False | field | cuda | - | 4,482 | 9,070 (9,065 ± 26) | -50.6% |
| 🔴 | box_pyramid_6 | 4096 | False | False | ndarray | cuda | - | 3,275 | 5,147 (5,170 ± 22) | -36.4% |
| 🔴 | box_pyramid_6 | 4096 | False | True | field | cuda | - | 5,990 | 10,383 (10,361 ± 14) | -42.3% |
| 🔴 | box_pyramid_6 | 4096 | False | True | ndarray | cuda | - | 4,327 | 6,483 (6,454 ± 27) | -33.3% |
| 🔴 | duck_in_box_easy | 30000 | False | False | field | cuda | - | 3,704,184 | 21,036,318 (20,900,167 ± 154,524) | -82.4% |
| 🔴 | duck_in_box_easy | 30000 | False | False | ndarray | cuda | - | 2,116,876 | 15,749,158 (15,939,437 ± 107,403) | -86.6% |
| 🔴 | duck_in_box_easy | 30000 | False | True | field | cuda | - | 3,305,435 | 8,994,061 (8,992,580 ± 7,507) | -63.2% |
| 🔴 | duck_in_box_easy | 30000 | False | True | ndarray | cuda | - | 1,860,576 | 8,628,643 (8,632,585 ± 18,061) | -78.4% |
| 🔴 | duck_in_box_hard | 0 | False | - | field | cpu | - | 84 | 5,237 (5,459 ± 134) | -98.4% |
| 🔴 | duck_in_box_hard | 0 | False | - | ndarray | cpu | - | 57 | 3,070 (3,059 ± 38) | -98.1% |
| 🔴 | duck_in_box_hard | 30000 | False | False | field | cuda | - | 931,039 | 3,072,450 (3,073,663 ± 2,011) | -69.7% |
| 🔴 | duck_in_box_hard | 30000 | False | False | ndarray | cuda | - | 575,057 | 2,937,620 (2,944,019 ± 14,127) | -80.4% |
| 🔴 | duck_in_box_hard | 30000 | False | True | field | cuda | - | 768,068 | 1,774,769 (1,766,462 ± 11,305) | -56.7% |
| 🔴 | duck_in_box_hard | 30000 | False | True | ndarray | cuda | - | 467,873 | 1,317,043 (1,308,590 ± 11,211) | -64.5% |
| 🔴 | franka | 0 | False | - | field | cpu | - | 85 | 6,927 (6,906 ± 53) | -98.8% |
| 🔴 | franka | 0 | False | - | ndarray | cpu | - | 58 | 3,637 (3,590 ± 40) | -98.4% |
| 🔴 | franka | 30000 | False | False | field | cuda | - | 1,200,770 | 18,550,638 (18,518,362 ± 36,060) | -93.5% |
| 🔴 | franka | 30000 | False | False | ndarray | cuda | - | 656,690 | 14,035,676 (14,092,221 ± 61,528) | -95.3% |
| 🔴 | franka | 30000 | False | True | field | cuda | - | 1,158,181 | 11,747,304 (11,674,510 ± 61,943) | -90.1% |
| 🔴 | franka | 30000 | False | True | ndarray | cuda | - | 634,525 | 8,044,110 (8,147,287 ± 63,822) | -92.1% |
| 🔴 | franka | 30000 | False | - | field | cuda | CG | 1,206,130 | 21,063,312 (20,998,232 ± 96,170) | -94.3% |
| 🔴 | franka | 30000 | False | - | field | cuda | Newton | 1,200,043 | 18,466,221 (18,458,455 ± 30,868) | -93.5% |
| 🔴 | franka | 30000 | False | - | ndarray | cuda | CG | 655,858 | 15,417,750 (15,605,488 ± 106,995) | -95.7% |
| 🔴 | franka | 30000 | False | - | ndarray | cuda | Newton | 659,032 | 14,032,654 (14,063,081 ± 57,991) | -95.3% |
| 🔴 | franka_accessors | 0 | False | - | field | cpu | - | 62 | 1,864 (1,935 ± 45) | -96.7% |
| 🔴 | franka_accessors | 0 | False | - | ndarray | cpu | - | 55 | 1,472 (1,459 ± 19) | -96.3% |
| 🔴 | franka_accessors | 30000 | False | - | field | cuda | - | 1,098,233 | 7,437,586 (19,992,604 ± 7,019,061) | -85.2% |
| 🔴 | franka_accessors | 30000 | False | - | ndarray | cuda | - | 611,499 | 6,287,544 (14,137,740 ± 4,393,020) | -90.3% |
| 🔴 | franka_free | 30000 | False | - | field | cuda | - | 1,251,811 | 38,032,910 (38,115,069 ± 176,258) | -96.7% |
| 🔴 | franka_free | 30000 | False | - | ndarray | cuda | - | 665,514 | 24,756,672 (24,766,082 ± 37,663) | -97.3% |
| 🔴 | go2 | 4096 | False | False | field | cuda | CG | 474,935 | 3,108,543 (3,111,965 ± 10,478) | -84.7% |
| 🔴 | go2 | 4096 | False | False | field | cuda | Newton | 503,724 | 3,340,863 (3,318,833 ± 18,382) | -84.9% |
| 🔴 | go2 | 4096 | False | False | ndarray | cuda | CG | 265,048 | 2,139,201 (2,145,567 ± 11,753) | -87.6% |
| 🔴 | go2 | 4096 | False | False | ndarray | cuda | Newton | 278,824 | 2,305,419 (2,309,175 ± 8,266) | -87.9% |
| 🔴 | go2 | 4096 | False | True | field | cuda | - | 549,105 | 2,320,799 (2,314,301 ± 10,626) | -76.3% |
| 🔴 | go2 | 4096 | False | True | ndarray | cuda | - | 264,617 | 1,567,123 (1,581,135 ± 8,714) | -83.1% |
| 🔴 | random | 30000 | False | - | field | cuda | - | 1,424,717 | 5,696,837 (5,874,914 ± 100,475) | -75.0% |
| 🔴 | random | 30000 | False | - | ndarray | cuda | - | 843,068 | 4,327,163 (4,467,561 ± 79,379) | -80.5% |
Compile Time
| status | env | batch_size | use_contact_island | gjk_collision | dtype | backend | constraint_solver | current compile | baseline compile [last (mean ± std)] (*1) | Δ compile (*2) |
|---|---|---|---|---|---|---|---|---|---|---|
| ✅ | anymal_c | 0 | False | - | field | cpu | - | 61.60 | 55.93 (58.34 ± 1.90) | +10.1% |
| ✅ | anymal_c | 0 | False | - | ndarray | cpu | - | 36.50 | 35.15 (34.98 ± 0.41) | +3.8% |
| ✅ | anymal_c | 30000 | False | - | field | cuda | - | 65.80 | 67.60 (66.64 ± 2.34) | -2.7% |
| ✅ | anymal_c | 30000 | False | - | ndarray | cuda | - | 44.70 | 41.68 (42.61 ± 0.91) | +7.3% |
| ✅ | box_pyramid_3 | 4096 | False | - | field | cuda | - | 61.80 | 60.45 (62.94 ± 1.59) | +2.2% |
| ✅ | box_pyramid_3 | 4096 | False | - | ndarray | cuda | - | 38.30 | 38.76 (38.93 ± 0.83) | -1.2% |
| ✅ | box_pyramid_4 | 4096 | False | - | field | cuda | - | 61.90 | 66.98 (66.77 ± 6.05) | -7.6% |
| ✅ | box_pyramid_4 | 4096 | False | - | ndarray | cuda | - | 39.20 | 37.80 (37.70 ± 0.79) | +3.7% |
| ✅ | box_pyramid_5 | 4096 | False | - | field | cuda | - | 61.50 | 69.15 (66.53 ± 4.45) | -11.1% |
| ✅ | box_pyramid_5 | 4096 | False | - | ndarray | cuda | - | 37.70 | 37.23 (37.21 ± 0.81) | +1.3% |
| ✅ | box_pyramid_6 | 4096 | False | False | field | cuda | - | 65.30 | 64.23 (61.23 ± 1.73) | +1.7% |
| ✅ | box_pyramid_6 | 4096 | False | False | ndarray | cuda | - | 44 | 40 (41 ± 0) | +7.7% |
| ✅ | box_pyramid_6 | 4096 | False | True | field | cuda | - | 41.10 | 38.90 (38.00 ± 0.56) | +5.7% |
| ✅ | box_pyramid_6 | 4096 | False | True | ndarray | cuda | - | 28.20 | 28.08 (27.81 ± 0.35) | +0.4% |
| ✅ | duck_in_box_easy | 30000 | False | False | field | cuda | - | 66.80 | 67.07 (64.01 ± 2.20) | -0.4% |
| ✅ | duck_in_box_easy | 30000 | False | False | ndarray | cuda | - | 40.10 | 39.06 (38.51 ± 0.57) | +2.7% |
| ✅ | duck_in_box_easy | 30000 | False | True | field | cuda | - | 39.50 | 39.96 (39.12 ± 0.80) | -1.2% |
| ✅ | duck_in_box_easy | 30000 | False | True | ndarray | cuda | - | 25.70 | 25.66 (25.63 ± 0.66) | +0.2% |
| ✅ | duck_in_box_hard | 0 | False | - | field | cpu | - | 55.50 | 56.72 (56.87 ± 1.80) | -2.1% |
| ✅ | duck_in_box_hard | 0 | False | - | ndarray | cpu | - | 32.60 | 33.14 (32.56 ± 0.46) | -1.6% |
| ✅ | duck_in_box_hard | 30000 | False | False | field | cuda | - | 64.30 | 62.25 (62.65 ± 1.79) | +3.3% |
| ✅ | duck_in_box_hard | 30000 | False | False | ndarray | cuda | - | 36.80 | 38.51 (36.87 ± 1.05) | -4.4% |
| ✅ | duck_in_box_hard | 30000 | False | True | field | cuda | - | 37.80 | 36.68 (37.47 ± 0.85) | +3.0% |
| ✅ | duck_in_box_hard | 30000 | False | True | ndarray | cuda | - | 24 | 25 (23 ± 1) | -7.0% |
| ✅ | franka | 0 | False | - | field | cpu | - | 58.10 | 55.65 (54.78 ± 2.62) | +4.4% |
| ✅ | franka | 0 | False | - | ndarray | cpu | - | 32.50 | 30.84 (31.55 ± 0.50) | +5.4% |
| ✅ | franka | 30000 | False | False | field | cuda | - | 59.80 | 65.02 (62.68 ± 2.46) | -8.0% |
| ✅ | franka | 30000 | False | False | ndarray | cuda | - | 39.70 | 36.84 (36.79 ± 0.59) | +7.8% |
| ✅ | franka | 30000 | False | True | field | cuda | - | 39.90 | 36.86 (36.27 ± 0.84) | +8.3% |
| ✅ | franka | 30000 | False | True | ndarray | cuda | - | 27 | 26 (25 ± 0) | +2.8% |
| ✅ | franka | 30000 | False | - | field | cuda | CG | 68.10 | 66.16 (63.46 ± 2.32) | +2.9% |
| ✅ | franka | 30000 | False | - | field | cuda | Newton | 73.10 | 74.49 (65.70 ± 4.98) | -1.9% |
| ✅ | franka | 30000 | False | - | ndarray | cuda | CG | 41.50 | 41.54 (41.41 ± 0.72) | -0.1% |
| ✅ | franka | 30000 | False | - | ndarray | cuda | Newton | 38.10 | 37.52 (37.66 ± 0.58) | +1.6% |
| ✅ | franka_accessors | 0 | False | - | field | cpu | - | 55.90 | 60.46 (63.30 ± 11.52) | -7.5% |
| ✅ | franka_accessors | 0 | False | - | ndarray | cpu | - | 31.40 | 32.21 (31.93 ± 0.66) | -2.5% |
| ✅ | franka_accessors | 30000 | False | - | field | cuda | - | 62 | 62 (62 ± 1) | -0.6% |
| ✅ | franka_accessors | 30000 | False | - | ndarray | cuda | - | 37.60 | 37.06 (36.90 ± 0.54) | +1.5% |
| ✅ | franka_free | 30000 | False | - | field | cuda | - | 61.20 | 62.17 (61.54 ± 1.91) | -1.6% |
| ✅ | franka_free | 30000 | False | - | ndarray | cuda | - | 40 | 38 (39 ± 1) | +3.2% |
| ✅ | go2 | 4096 | False | False | field | cuda | CG | 74.90 | 70.32 (64.79 ± 3.99) | +6.5% |
| ✅ | go2 | 4096 | False | False | field | cuda | Newton | 61.70 | 61.96 (60.39 ± 2.76) | -0.4% |
| ✅ | go2 | 4096 | False | False | ndarray | cuda | CG | 39.40 | 37.17 (38.06 ± 0.71) | +6.0% |
| ✅ | go2 | 4096 | False | False | ndarray | cuda | Newton | 37.90 | 37.92 (38.29 ± 0.67) | -0.0% |
| ✅ | go2 | 4096 | False | True | field | cuda | - | 44 | 43 (42 ± 0) | +1.9% |
| ✅ | go2 | 4096 | False | True | ndarray | cuda | - | 31.50 | 31.66 (30.46 ± 0.98) | -0.5% |
| ✅ | random | 30000 | False | - | field | cuda | - | 66.70 | 68.73 (68.45 ± 4.72) | -3.0% |
| ✅ | random | 30000 | False | - | ndarray | cuda | - | 39.20 | 39.87 (39.49 ± 1.24) | -1.7% |
- (*1) last: last commit on main, mean/std: stats over revs 5 commits if available.
- (*2) Δ: relative difference between PR and last commit on main, i.e. (PR - main) / main * 100%.
Artifact: Download raw data
Loading