Commit f1358cc
committed
Fix OVPhysX device routing for CPU-resident tensor types
_CPU_ONLY_TYPES omitted eight tensor types that are CPU-resident even on a
GPU simulation: the articulation and rigid-body collision-shape contact and
rest offsets, both gravity-disable flags, and the DOF drive type and drive
model.
Because _native_device consults this set, it returned the simulation device
for host-resident data. Every access staged a hidden host-to-device copy on a
path the view believed was device-native, and _check_device rejected a buffer
placed on the host, where the data actually lives, with DeviceMismatch.
Residency was measured rather than assumed: ovphysx exposes no residency
query, so each type was classified by counting CUDA memcpys around a binding
read into a host buffer and into a device buffer, under the DirectGPU
configuration isaaclab_ov itself sets. All eight measured CPU-resident across
every GPU sample scene in the ovphysx wheel, and all previously classified
members measured as declared.
The guarding test compared the view's derived set against the canonical set it
is derived from, so it could not fail for any contents. It now asserts against
an independent inventory of measured residency, mirroring the existing
_EXPECTED_READ_ONLY_NAMES pattern, so an incomplete set is caught.1 parent b44ea65 commit f1358cc
3 files changed
Lines changed: 72 additions & 2 deletions
File tree
- source/isaaclab_ov
- changelog.d
- isaaclab_ov
- test/sim
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
442 | 442 | | |
443 | 443 | | |
444 | 444 | | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
445 | 456 | | |
446 | 457 | | |
447 | 458 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
73 | 115 | | |
74 | 116 | | |
75 | 117 | | |
| |||
204 | 246 | | |
205 | 247 | | |
206 | 248 | | |
| 249 | + | |
| 250 | + | |
207 | 251 | | |
208 | 252 | | |
209 | 253 | | |
210 | 254 | | |
211 | | - | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
212 | 258 | | |
213 | 259 | | |
214 | 260 | | |
215 | | - | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
216 | 264 | | |
217 | 265 | | |
218 | 266 | | |
| |||
0 commit comments