[Feature] GPUDirect Storage support for consolidated TensorDicts - #1702
Draft
vmoens wants to merge 1 commit into
Draft
[Feature] GPUDirect Storage support for consolidated TensorDicts#1702vmoens wants to merge 1 commit into
vmoens wants to merge 1 commit into
Conversation
…orDicts Add opt-in load and save paths that DMA the consolidated data region directly between disk and a CUDA buffer via NVIDIA's cuFile, bypassing host RAM. The single-storage / many-views layout produced by `consolidate()` is a natural fit for GDS: one buffer registration, one cuFileRead/cuFileWrite, views are then free. New API: - `TensorDict.from_consolidated(filename, *, device=None, use_gds=False)` - `TensorDict.consolidate(filename=..., use_gds=True)` Both paths are synchronous (matching `torch.cuda.gds`), disabled by default, and raise on any failure (no silent fallback). Requires PyTorch >= 2.7 with cuFile bindings, a CUDA device, nvidia-fs, and a GDS-supported filesystem. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Contributor
|
| Name | Max | Mean | Ops | Ops on Repo HEAD
|
Change |
|---|---|---|---|---|---|
| test_collector_preallocated_write[stack_out-cpu-32-2] | 0.2156ms | 0.1648ms | 6.0683 KOps/s | 6.0283 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-32-8] | 0.3679ms | 0.2953ms | 3.3869 KOps/s | 3.4721 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-32-32] | 0.8503ms | 0.7516ms | 1.3306 KOps/s | 1.3289 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-2] | 0.3948ms | 0.3458ms | 2.8921 KOps/s | 3.0388 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-8] | 1.3476ms | 1.1641ms | 859.0442 Ops/s | 904.0397 Ops/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-32] | 7.3563ms | 7.1707ms | 139.4572 Ops/s | 136.8181 Ops/s | |
| test_collector_preallocated_write[stack_out-cuda-32-2] | 0.3170ms | 0.2570ms | 3.8917 KOps/s | 4.0869 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-32-8] | 0.4868ms | 0.3813ms | 2.6224 KOps/s | 2.7752 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-32-32] | 0.8745ms | 0.7982ms | 1.2528 KOps/s | 1.2663 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-2] | 0.3632ms | 0.2608ms | 3.8346 KOps/s | 4.1478 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-8] | 0.4697ms | 0.3823ms | 2.6159 KOps/s | 2.7662 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-32] | 0.9585ms | 0.8599ms | 1.1629 KOps/s | 1.1672 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-2] | 0.2724ms | 0.2194ms | 4.5581 KOps/s | 4.8426 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-8] | 0.9366ms | 0.8568ms | 1.1672 KOps/s | 1.2553 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-32] | 3.5794ms | 3.4009ms | 294.0431 Ops/s | 310.5140 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-2] | 0.7647ms | 0.3773ms | 2.6507 KOps/s | 2.7731 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-8] | 1.9920ms | 1.8103ms | 552.3834 Ops/s | 619.0731 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-32] | 10.5725ms | 10.2502ms | 97.5589 Ops/s | 98.9065 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-2] | 0.4547ms | 0.3947ms | 2.5336 KOps/s | 2.5965 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-8] | 1.5939ms | 1.4792ms | 676.0432 Ops/s | 698.9140 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-32] | 6.0685ms | 5.8063ms | 172.2253 Ops/s | 176.2793 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-2] | 0.5217ms | 0.4002ms | 2.4988 KOps/s | 2.5920 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-8] | 1.6127ms | 1.4929ms | 669.8563 Ops/s | 694.8796 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-32] | 6.1132ms | 5.8241ms | 171.6997 Ops/s | 176.6076 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-32-2] | 0.2385ms | 0.1682ms | 5.9456 KOps/s | 5.8945 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-32-8] | 0.7442ms | 0.6557ms | 1.5250 KOps/s | 1.5191 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-32-32] | 2.6883ms | 2.5952ms | 385.3219 Ops/s | 384.4170 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-2] | 0.4284ms | 0.3167ms | 3.1576 KOps/s | 3.2465 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-8] | 1.8610ms | 1.4210ms | 703.7168 Ops/s | 703.2508 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-32] | 9.7779ms | 9.3521ms | 106.9273 Ops/s | 106.9117 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-32-2] | 0.4229ms | 0.3231ms | 3.0948 KOps/s | 3.1694 KOps/s | |
| test_collector_preallocated_write[copy_at-cuda-32-8] | 1.2752ms | 1.2039ms | 830.6038 Ops/s | 851.0484 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-32-32] | 4.8087ms | 4.7099ms | 212.3178 Ops/s | 217.5082 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-2] | 0.4501ms | 0.3247ms | 3.0802 KOps/s | 3.1510 KOps/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-8] | 1.3049ms | 1.2086ms | 827.3914 Ops/s | 845.4689 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-32] | 4.8512ms | 4.7343ms | 211.2228 Ops/s | 216.2736 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] | 0.1804ms | 0.1195ms | 8.3711 KOps/s | 8.6591 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] | 0.5367ms | 0.4665ms | 2.1434 KOps/s | 2.2039 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] | 1.9216ms | 1.8537ms | 539.4485 Ops/s | 552.7055 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] | 0.3178ms | 0.2574ms | 3.8846 KOps/s | 3.9314 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] | 1.7398ms | 1.2406ms | 806.0313 Ops/s | 853.5921 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] | 8.7087ms | 8.5056ms | 117.5698 Ops/s | 119.1013 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] | 0.3552ms | 0.2823ms | 3.5421 KOps/s | 3.7287 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] | 1.1354ms | 1.0478ms | 954.3677 Ops/s | 995.4730 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] | 4.2366ms | 4.1288ms | 242.2036 Ops/s | 254.9777 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] | 0.3699ms | 0.2793ms | 3.5802 KOps/s | 3.6980 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] | 1.2181ms | 1.0432ms | 958.6205 Ops/s | 989.7785 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] | 4.3764ms | 4.1399ms | 241.5517 Ops/s | 252.7816 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-128-128] | 15.8659ms | 15.6323ms | 63.9703 Ops/s | 64.4001 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-128-256] | 32.0146ms | 31.4967ms | 31.7494 Ops/s | 31.9124 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-4096-128] | 84.3733ms | 83.9142ms | 11.9169 Ops/s | 12.1585 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-4096-256] | 0.1982s | 0.1977s | 5.0570 Ops/s | 4.8989 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-128-128] | 13.2687ms | 13.0765ms | 76.4730 Ops/s | 76.2735 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-128-256] | 26.2505ms | 25.9381ms | 38.5533 Ops/s | 39.0313 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-4096-128] | 13.4878ms | 13.2926ms | 75.2297 Ops/s | 75.4914 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-4096-256] | 26.2671ms | 26.1260ms | 38.2760 Ops/s | 38.3841 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] | 50.2687ms | 50.0308ms | 19.9877 Ops/s | 19.7694 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] | 0.1015s | 0.1010s | 9.9022 Ops/s | 9.8394 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] | 0.1433s | 0.1430s | 6.9926 Ops/s | 6.7387 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] | 0.3267s | 0.3198s | 3.1268 Ops/s | 3.0969 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] | 80.1735ms | 79.5197ms | 12.5755 Ops/s | 13.9370 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] | 0.1599s | 0.1591s | 6.2864 Ops/s | 6.9593 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] | 80.3165ms | 79.7254ms | 12.5431 Ops/s | 13.8401 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] | 0.1604s | 0.1598s | 6.2590 Ops/s | 6.5117 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-128-128] | 30.0637ms | 29.5861ms | 33.7997 Ops/s | 33.8695 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-128-256] | 60.4106ms | 60.0388ms | 16.6559 Ops/s | 16.6525 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-4096-128] | 0.1217s | 0.1190s | 8.4016 Ops/s | 8.1374 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-4096-256] | 0.2622s | 0.2617s | 3.8217 Ops/s | 3.7200 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-128-128] | 43.1565ms | 42.9381ms | 23.2893 Ops/s | 23.7786 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-128-256] | 86.2087ms | 85.9633ms | 11.6329 Ops/s | 11.8776 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-4096-128] | 43.7089ms | 43.1931ms | 23.1518 Ops/s | 23.6817 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-4096-256] | 86.6120ms | 86.4589ms | 11.5662 Ops/s | 11.8024 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] | 20.6907ms | 20.4449ms | 48.9118 Ops/s | 50.8598 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] | 42.1240ms | 41.7376ms | 23.9592 Ops/s | 24.8336 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] | 0.1129s | 0.1096s | 9.1218 Ops/s | 8.9568 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] | 0.2428s | 0.2424s | 4.1254 Ops/s | 4.0838 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] | 40.7354ms | 40.4963ms | 24.6936 Ops/s | 27.8952 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] | 80.9660ms | 79.9513ms | 12.5076 Ops/s | 14.0791 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] | 40.7561ms | 40.0585ms | 24.9635 Ops/s | 27.8830 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] | 81.3818ms | 80.1806ms | 12.4719 Ops/s | 14.1113 Ops/s | |
| test_plain_set_nested | 40.6810μs | 14.9196μs | 67.0261 KOps/s | 67.2507 KOps/s | |
| test_plain_set_stack_nested | 32.3100μs | 14.6235μs | 68.3831 KOps/s | 68.5118 KOps/s | |
| test_plain_set_nested_inplace | 45.0710μs | 16.1297μs | 61.9976 KOps/s | 61.4062 KOps/s | |
| test_plain_set_stack_nested_inplace | 46.2310μs | 15.9653μs | 62.6358 KOps/s | 63.4201 KOps/s | |
| test_items | 29.1710μs | 5.3660μs | 186.3572 KOps/s | 182.7463 KOps/s | |
| test_items_nested | 0.5489ms | 0.4547ms | 2.1992 KOps/s | 2.2824 KOps/s | |
| test_items_nested_locked | 0.5141ms | 0.4534ms | 2.2055 KOps/s | 2.2932 KOps/s | |
| test_items_nested_leaf | 0.1338ms | 91.6746μs | 10.9082 KOps/s | 10.7992 KOps/s | |
| test_items_stack_nested | 0.5193ms | 0.4543ms | 2.2013 KOps/s | 2.2640 KOps/s | |
| test_items_stack_nested_leaf | 0.1962ms | 91.2307μs | 10.9612 KOps/s | 10.9762 KOps/s | |
| test_items_stack_nested_locked | 0.7499ms | 0.4543ms | 2.2011 KOps/s | 2.2618 KOps/s | |
| test_keys | 28.0410μs | 4.1084μs | 243.4017 KOps/s | 242.6034 KOps/s | |
| test_keys_nested | 0.1666ms | 0.1279ms | 7.8173 KOps/s | 7.7641 KOps/s | |
| test_keys_nested_locked | 0.7606ms | 0.1359ms | 7.3596 KOps/s | 7.3528 KOps/s | |
| test_keys_nested_leaf | 0.1750ms | 0.1174ms | 8.5164 KOps/s | 8.3805 KOps/s | |
| test_keys_stack_nested | 0.1791ms | 0.1276ms | 7.8339 KOps/s | 7.8965 KOps/s | |
| test_keys_stack_nested_leaf | 0.1461ms | 0.1173ms | 8.5284 KOps/s | 8.5370 KOps/s | |
| test_keys_stack_nested_locked | 0.1899ms | 0.1353ms | 7.3893 KOps/s | 7.3502 KOps/s | |
| test_values | 5.4620μs | 1.0078μs | 992.2489 KOps/s | 999.8070 KOps/s | |
| test_values_nested | 80.9120μs | 52.1222μs | 19.1857 KOps/s | 19.5598 KOps/s | |
| test_values_nested_locked | 83.5920μs | 55.5623μs | 17.9978 KOps/s | 18.3241 KOps/s | |
| test_values_nested_leaf | 94.1220μs | 59.3215μs | 16.8573 KOps/s | 17.0572 KOps/s | |
| test_values_stack_nested | 87.1720μs | 51.9593μs | 19.2458 KOps/s | 19.4392 KOps/s | |
| test_values_stack_nested_leaf | 94.0020μs | 58.9341μs | 16.9681 KOps/s | 17.0415 KOps/s | |
| test_values_stack_nested_locked | 93.6910μs | 54.6746μs | 18.2900 KOps/s | 18.3230 KOps/s | |
| test_membership | 4.8183μs | 0.7916μs | 1.2633 MOps/s | 1.2562 MOps/s | |
| test_membership_nested | 27.4510μs | 2.7659μs | 361.5467 KOps/s | 348.0838 KOps/s | |
| test_membership_nested_leaf | 30.2800μs | 2.7693μs | 361.1019 KOps/s | 366.8595 KOps/s | |
| test_membership_stacked_nested | 32.2610μs | 2.7041μs | 369.8114 KOps/s | 366.7008 KOps/s | |
| test_membership_stacked_nested_leaf | 28.8910μs | 2.7228μs | 367.2707 KOps/s | 366.9011 KOps/s | |
| test_membership_nested_last | 30.2510μs | 4.1624μs | 240.2473 KOps/s | 235.2411 KOps/s | |
| test_membership_nested_leaf_last | 29.0810μs | 4.1921μs | 238.5454 KOps/s | 237.2423 KOps/s | |
| test_membership_stacked_nested_last | 33.1310μs | 4.0578μs | 246.4368 KOps/s | 244.6638 KOps/s | |
| test_membership_stacked_nested_leaf_last | 32.9710μs | 4.0515μs | 246.8209 KOps/s | 246.2732 KOps/s | |
| test_nested_getleaf | 50.4510μs | 20.7261μs | 48.2482 KOps/s | 47.5873 KOps/s | |
| test_nested_get | 48.7810μs | 19.3297μs | 51.7339 KOps/s | 50.2022 KOps/s | |
| test_stacked_getleaf | 43.7510μs | 20.3623μs | 49.1104 KOps/s | 47.6708 KOps/s | |
| test_stacked_get | 49.6610μs | 19.5324μs | 51.1970 KOps/s | 50.8814 KOps/s | |
| test_nested_getitemleaf | 50.1510μs | 21.0528μs | 47.4997 KOps/s | 47.0792 KOps/s | |
| test_nested_getitem | 43.9710μs | 20.0120μs | 49.9700 KOps/s | 49.8467 KOps/s | |
| test_stacked_getitemleaf | 54.1210μs | 20.7290μs | 48.2416 KOps/s | 46.7427 KOps/s | |
| test_stacked_getitem | 42.3910μs | 20.0184μs | 49.9539 KOps/s | 49.4388 KOps/s | |
| test_lock_nested | 8.1785ms | 0.4780ms | 2.0921 KOps/s | 2.1806 KOps/s | |
| test_lock_stack_nested | 0.5552ms | 0.4637ms | 2.1566 KOps/s | 2.1837 KOps/s | |
| test_unlock_nested | 0.4520ms | 0.3722ms | 2.6867 KOps/s | 2.7320 KOps/s | |
| test_unlock_stack_nested | 0.4691ms | 0.3758ms | 2.6612 KOps/s | 2.6889 KOps/s | |
| test_flatten_speed | 0.1535ms | 0.1159ms | 8.6314 KOps/s | 8.7508 KOps/s | |
| test_unflatten_speed | 0.6117ms | 0.5382ms | 1.8581 KOps/s | 1.8391 KOps/s | |
| test_common_ops | 99.8859ms | 1.4921ms | 670.2061 Ops/s | 288.8815 Ops/s | |
| test_creation | 0.1307ms | 2.9235μs | 342.0606 KOps/s | 348.9870 KOps/s | |
| test_creation_empty | 27.8610μs | 6.5156μs | 153.4775 KOps/s | 152.7283 KOps/s | |
| test_creation_nested_1 | 30.5200μs | 10.7863μs | 92.7103 KOps/s | 91.5741 KOps/s | |
| test_creation_nested_2 | 53.2310μs | 12.5851μs | 79.4591 KOps/s | 80.6621 KOps/s | |
| test_creation_many_keys[10] | 92.4510μs | 19.9068μs | 50.2341 KOps/s | 50.5930 KOps/s | |
| test_creation_many_keys[50] | 0.1454ms | 84.9517μs | 11.7714 KOps/s | 11.6970 KOps/s | |
| test_creation_many_keys[100] | 0.2182ms | 0.1669ms | 5.9917 KOps/s | 5.9750 KOps/s | |
| test_creation_nested_many_keys[10] | 72.6210μs | 42.7366μs | 23.3991 KOps/s | 23.5513 KOps/s | |
| test_creation_nested_many_keys[50] | 0.2802ms | 0.1745ms | 5.7320 KOps/s | 5.7535 KOps/s | |
| test_clone | 33.3000μs | 12.9648μs | 77.1320 KOps/s | 77.5566 KOps/s | |
| test_getitem[int] | 1.5026ms | 14.6993μs | 68.0306 KOps/s | 69.4377 KOps/s | |
| test_getitem[slice_int] | 0.1374ms | 23.6197μs | 42.3375 KOps/s | 43.2004 KOps/s | |
| test_getitem[range] | 0.1710ms | 62.2568μs | 16.0625 KOps/s | 15.9983 KOps/s | |
| test_getitem[tuple] | 0.1634ms | 23.2992μs | 42.9199 KOps/s | 43.6480 KOps/s | |
| test_getitem[list] | 0.1882ms | 57.0581μs | 17.5260 KOps/s | 17.3357 KOps/s | |
| test_setitem_dim[int] | 35.6600μs | 24.6609μs | 40.5501 KOps/s | 39.6848 KOps/s | |
| test_setitem_dim[slice_int] | 64.0010μs | 40.2905μs | 24.8198 KOps/s | 23.0492 KOps/s | |
| test_setitem_dim[range] | 0.1344ms | 91.6826μs | 10.9072 KOps/s | 10.2405 KOps/s | |
| test_setitem_dim[tuple] | 67.0810μs | 37.9469μs | 26.3526 KOps/s | 25.9869 KOps/s | |
| test_setitem | 51.5310μs | 16.8678μs | 59.2847 KOps/s | 54.8435 KOps/s | |
| test_set | 40.7410μs | 16.1413μs | 61.9530 KOps/s | 57.5038 KOps/s | |
| test_set_shared | 0.5037ms | 0.2021ms | 4.9476 KOps/s | 4.9861 KOps/s | |
| test_update | 0.3934ms | 20.8606μs | 47.9373 KOps/s | 44.8521 KOps/s | |
| test_update_nested | 72.3710μs | 32.5623μs | 30.7103 KOps/s | 30.7265 KOps/s | |
| test_update__nested | 0.4584ms | 31.6375μs | 31.6081 KOps/s | 31.3354 KOps/s | |
| test_set_nested | 45.2710μs | 17.9592μs | 55.6817 KOps/s | 54.1950 KOps/s | |
| test_set_nested_new | 55.9910μs | 22.3705μs | 44.7018 KOps/s | 41.7272 KOps/s | |
| test_select | 0.1410ms | 38.5919μs | 25.9122 KOps/s | 24.8233 KOps/s | |
| test_select_nested | 0.1259ms | 70.1492μs | 14.2553 KOps/s | 14.0616 KOps/s | |
| test_exclude_nested | 0.1479ms | 86.1198μs | 11.6117 KOps/s | 11.5023 KOps/s | |
| test_empty[True] | 0.4373ms | 0.3843ms | 2.6021 KOps/s | 2.5991 KOps/s | |
| test_empty[False] | 9.2027μs | 1.2917μs | 774.1953 KOps/s | 763.8739 KOps/s | |
| test_to | 99.1420μs | 67.5090μs | 14.8128 KOps/s | 14.9723 KOps/s | |
| test_to_nonblocking | 0.2122ms | 66.5835μs | 15.0187 KOps/s | 15.0847 KOps/s | |
| test_unbind_speed | 0.4059ms | 0.3245ms | 3.0821 KOps/s | 3.0875 KOps/s | |
| test_unbind_speed_stack0 | 0.4098ms | 0.3170ms | 3.1546 KOps/s | 3.1616 KOps/s | |
| test_unbind_speed_stack1 | 0.1155s | 0.8314ms | 1.2028 KOps/s | 1.2145 KOps/s | |
| test_split | 1.1451ms | 1.0895ms | 917.8113 Ops/s | 746.4093 Ops/s | |
| test_chunk | 0.1153s | 1.1723ms | 853.0327 Ops/s | 968.5089 Ops/s | |
| test_to_cpu_blocking | 20.2248ms | 20.0662ms | 49.8350 Ops/s | 50.4916 Ops/s | |
| test_to_cpu_global_sync | 11.8395ms | 11.7042ms | 85.4397 Ops/s | 85.7264 Ops/s | |
| test_to_cpu_event_sync | 13.0227ms | 12.7148ms | 78.6483 Ops/s | 79.1317 Ops/s | |
| test_to_cpu_default | 13.1909ms | 12.6966ms | 78.7611 Ops/s | 70.3637 Ops/s | |
| test_consolidate[False-None] | 0.1433s | 4.5543ms | 219.5729 Ops/s | 250.6262 Ops/s | |
| test_consolidate[default-None] | 2.0697ms | 1.9611ms | 509.9196 Ops/s | 500.6683 Ops/s | |
| test_consolidate[reduce-overhead-None] | 1.9661ms | 1.8740ms | 533.6281 Ops/s | 519.9341 Ops/s | |
| test_consolidate_njt[False-None] | 8.5010ms | 8.2103ms | 121.7988 Ops/s | 121.2265 Ops/s | |
| test_to[False-False-None] | 2.2499ms | 2.1337ms | 468.6756 Ops/s | 468.9573 Ops/s | |
| test_to[True-False-None] | 2.0406ms | 1.8604ms | 537.5094 Ops/s | 556.2555 Ops/s | |
| test_to[within-False-None] | 6.2784ms | 6.0189ms | 166.1431 Ops/s | 167.8348 Ops/s | |
| test_to[True-default-None] | 10.5948ms | 10.3743ms | 96.3922 Ops/s | 94.1823 Ops/s | |
| test_to_njt[False-False-None] | 8.5489ms | 8.4808ms | 117.9138 Ops/s | 117.0447 Ops/s | |
| test_to_njt[True-False-None] | 6.9250ms | 6.6965ms | 149.3323 Ops/s | 146.4577 Ops/s | |
| test_to_njt[within-False-None] | 15.4027ms | 15.1957ms | 65.8079 Ops/s | 65.1672 Ops/s | |
| test_creation[device0] | 0.4561ms | 0.1147ms | 8.7207 KOps/s | 8.4614 KOps/s | |
| test_creation_from_tensor | 0.4278ms | 0.1128ms | 8.8635 KOps/s | 8.6872 KOps/s | |
| test_add_one[memmap_tensor0] | 0.3497ms | 6.6534μs | 150.2980 KOps/s | 151.1029 KOps/s | |
| test_contiguous[memmap_tensor0] | 13.7700μs | 0.6363μs | 1.5715 MOps/s | 2.3319 MOps/s | |
| test_stack[memmap_tensor0] | 32.3810μs | 4.0439μs | 247.2860 KOps/s | 242.5814 KOps/s | |
| test_memmaptd_index | 1.1433ms | 0.2648ms | 3.7764 KOps/s | 3.7918 KOps/s | |
| test_memmaptd_index_astensor | 0.5126ms | 0.3588ms | 2.7870 KOps/s | 2.7866 KOps/s | |
| test_memmaptd_index_op | 0.8081ms | 0.6142ms | 1.6280 KOps/s | 1.6070 KOps/s | |
| test_serialize_model | 0.1383s | 0.1338s | 7.4715 Ops/s | 7.4068 Ops/s | |
| test_serialize_model_pickle | 1.3495s | 1.2103s | 0.8262 Ops/s | 0.8247 Ops/s | |
| test_serialize_weights | 0.3181s | 0.1595s | 6.2687 Ops/s | 7.5358 Ops/s | |
| test_serialize_weights_returnearly | 73.8458ms | 63.5784ms | 15.7286 Ops/s | 7.0501 Ops/s | |
| test_serialize_weights_pickle | 1.3763s | 1.2184s | 0.8207 Ops/s | 0.8230 Ops/s | |
| test_reshape_pytree | 0.2098ms | 31.4399μs | 31.8067 KOps/s | 31.9170 KOps/s | |
| test_reshape_td | 0.4574ms | 42.7001μs | 23.4191 KOps/s | 23.5764 KOps/s | |
| test_view_pytree | 0.2223ms | 30.7828μs | 32.4857 KOps/s | 32.0801 KOps/s | |
| test_view_td | 0.4867ms | 50.6147μs | 19.7571 KOps/s | 18.5192 KOps/s | |
| test_unbind_pytree | 0.2383ms | 35.3035μs | 28.3258 KOps/s | 28.0099 KOps/s | |
| test_unbind_td | 0.4904ms | 47.7355μs | 20.9487 KOps/s | 20.8125 KOps/s | |
| test_split_pytree | 0.2478ms | 40.2359μs | 24.8534 KOps/s | 24.1238 KOps/s | |
| test_split_td | 0.1128ms | 61.2221μs | 16.3340 KOps/s | 15.7338 KOps/s | |
| test_add_pytree | 0.2284ms | 40.5094μs | 24.6856 KOps/s | 23.8018 KOps/s | |
| test_add_td | 98.3520μs | 53.3382μs | 18.7483 KOps/s | 18.0652 KOps/s | |
| test_compile_add_one_nested[tensordict-compile] | 0.3719ms | 0.2268ms | 4.4091 KOps/s | 4.3454 KOps/s | |
| test_compile_add_one_nested[tensordict-eager] | 0.3640ms | 0.1945ms | 5.1401 KOps/s | 5.1389 KOps/s | |
| test_compile_add_one_nested[pytree-compile] | 0.3924ms | 0.1315ms | 7.6032 KOps/s | 7.3368 KOps/s | |
| test_compile_add_one_nested[pytree-eager] | 0.4009ms | 0.1741ms | 5.7445 KOps/s | 5.7012 KOps/s | |
| test_compile_copy_nested[tensordict-compile] | 71.6610μs | 15.8797μs | 62.9735 KOps/s | 69.3738 KOps/s | |
| test_compile_copy_nested[tensordict-eager] | 0.4815ms | 51.8550μs | 19.2845 KOps/s | 19.7533 KOps/s | |
| test_compile_copy_nested[pytree-compile] | 0.4454ms | 15.3151μs | 65.2951 KOps/s | 66.0927 KOps/s | |
| test_compile_copy_nested[pytree-eager] | 0.4950ms | 64.9235μs | 15.4027 KOps/s | 15.5737 KOps/s | |
| test_compile_add_one_flat[tensordict-compile] | 0.6928ms | 0.2499ms | 4.0024 KOps/s | 3.7343 KOps/s | |
| test_compile_add_one_flat[tensordict-eager] | 0.7181ms | 0.2769ms | 3.6120 KOps/s | 3.5960 KOps/s | |
| test_compile_add_one_flat[tensorclass-compile] | 0.2759ms | 0.1781ms | 5.6156 KOps/s | 4.9275 KOps/s | |
| test_compile_add_one_flat[tensorclass-eager] | 0.5234ms | 74.3603μs | 13.4480 KOps/s | 13.0922 KOps/s | |
| test_compile_add_one_flat[pytree-compile] | 0.4802ms | 0.1878ms | 5.3247 KOps/s | 4.9284 KOps/s | |
| test_compile_add_one_flat[pytree-eager] | 0.8142ms | 0.5136ms | 1.9472 KOps/s | 1.9340 KOps/s | |
| test_compile_add_self_flat[tensordict-eager] | 0.4594ms | 0.3222ms | 3.1033 KOps/s | 3.0516 KOps/s | |
| test_compile_add_self_flat[tensordict-compile] | 0.6680ms | 0.2463ms | 4.0607 KOps/s | 3.7468 KOps/s | |
| test_compile_add_self_flat[tensorclass-eager] | 0.5509ms | 94.8710μs | 10.5406 KOps/s | 11.2302 KOps/s | |
| test_compile_add_self_flat[tensorclass-compile] | 1.1599ms | 0.1853ms | 5.3974 KOps/s | 5.1284 KOps/s | |
| test_compile_add_self_flat[pytree-eager] | 0.6557ms | 0.4249ms | 2.3534 KOps/s | 2.3275 KOps/s | |
| test_compile_add_self_flat[pytree-compile] | 0.5168ms | 0.1894ms | 5.2785 KOps/s | 5.1622 KOps/s | |
| test_compile_copy_flat[tensordict-compile] | 71.5910μs | 19.0767μs | 52.4200 KOps/s | 52.9024 KOps/s | |
| test_compile_copy_flat[tensordict-eager] | 78.9720μs | 39.9186μs | 25.0510 KOps/s | 25.2349 KOps/s | |
| test_compile_copy_flat[pytree-compile] | 0.1624ms | 21.8881μs | 45.6869 KOps/s | 48.1531 KOps/s | |
| test_compile_copy_flat[pytree-eager] | 0.3285ms | 50.3971μs | 19.8424 KOps/s | 19.7422 KOps/s | |
| test_compile_assign_and_add[tensordict-compile] | 2.2458ms | 0.2455ms | 4.0735 KOps/s | 4.0102 KOps/s | |
| test_compile_assign_and_add[tensordict-eager] | 3.4892ms | 3.1850ms | 313.9672 Ops/s | 311.9786 Ops/s | |
| test_compile_assign_and_add[pytree-compile] | 2.0597ms | 0.1765ms | 5.6643 KOps/s | 5.5408 KOps/s | |
| test_compile_assign_and_add[pytree-eager] | 2.8429ms | 2.7055ms | 369.6107 Ops/s | 368.5285 Ops/s | |
| test_compile_indexing[tensor-tensordict-compile] | 0.3365ms | 0.1303ms | 7.6724 KOps/s | 7.3181 KOps/s | |
| test_compile_indexing[tensor-tensordict-eager] | 0.3273ms | 75.6184μs | 13.2243 KOps/s | 13.8450 KOps/s | |
| test_compile_indexing[tensor-tensorclass-compile] | 0.2609ms | 0.1211ms | 8.2546 KOps/s | 8.4058 KOps/s | |
| test_compile_indexing[tensor-tensorclass-eager] | 0.2640ms | 47.0990μs | 21.2319 KOps/s | 21.9413 KOps/s | |
| test_compile_indexing[tensor-pytree-compile] | 0.1666ms | 0.1228ms | 8.1404 KOps/s | 8.3819 KOps/s | |
| test_compile_indexing[tensor-pytree-eager] | 0.2977ms | 46.7539μs | 21.3886 KOps/s | 21.9443 KOps/s | |
| test_compile_indexing[slice-tensordict-compile] | 0.1801ms | 85.8895μs | 11.6429 KOps/s | 12.2316 KOps/s | |
| test_compile_indexing[slice-tensordict-eager] | 0.2113ms | 33.1066μs | 30.2055 KOps/s | 38.3619 KOps/s | |
| test_compile_indexing[slice-tensorclass-compile] | 0.1972ms | 72.9554μs | 13.7070 KOps/s | 14.1577 KOps/s | |
| test_compile_indexing[slice-tensorclass-eager] | 0.2367ms | 22.7249μs | 44.0046 KOps/s | 46.8225 KOps/s | |
| test_compile_indexing[slice-pytree-compile] | 0.1501ms | 72.9593μs | 13.7063 KOps/s | 14.5811 KOps/s | |
| test_compile_indexing[slice-pytree-eager] | 0.2830ms | 22.4501μs | 44.5432 KOps/s | 47.1312 KOps/s | |
| test_compile_indexing[int-tensordict-compile] | 0.1359ms | 86.9845μs | 11.4963 KOps/s | 11.7523 KOps/s | |
| test_compile_indexing[int-tensordict-eager] | 0.2684ms | 29.6509μs | 33.7258 KOps/s | 38.1717 KOps/s | |
| test_compile_indexing[int-tensorclass-compile] | 0.1135ms | 73.0214μs | 13.6946 KOps/s | 14.2790 KOps/s | |
| test_compile_indexing[int-tensorclass-eager] | 0.2482ms | 22.3881μs | 44.6666 KOps/s | 47.9101 KOps/s | |
| test_compile_indexing[int-pytree-compile] | 0.1059ms | 69.1505μs | 14.4612 KOps/s | 14.2266 KOps/s | |
| test_compile_indexing[int-pytree-eager] | 0.2653ms | 21.4542μs | 46.6108 KOps/s | 47.4436 KOps/s | |
| test_compile_replace[single-eager] | 94.6620μs | 49.2991μs | 20.2843 KOps/s | 21.3649 KOps/s | |
| test_compile_replace[single-compile] | 0.2910ms | 0.1258ms | 7.9495 KOps/s | 7.6300 KOps/s | |
| test_compile_replace[multi-eager] | 0.6940ms | 0.5477ms | 1.8258 KOps/s | 1.7965 KOps/s | |
| test_compile_replace[multi-compile] | 0.3421ms | 0.1336ms | 7.4842 KOps/s | 7.1287 KOps/s | |
| test_compile_tc_getattr_20[eager] | 0.2429ms | 0.1754ms | 5.7028 KOps/s | 6.0368 KOps/s | |
| test_compile_tc_getattr_20[compile] | 0.3419ms | 0.1442ms | 6.9353 KOps/s | 6.9091 KOps/s | |
| test_compile_clone_shallow[20-eager] | 53.0410μs | 18.3571μs | 54.4750 KOps/s | 54.8263 KOps/s | |
| test_compile_clone_shallow[20-compile] | 74.4220μs | 16.3505μs | 61.1602 KOps/s | 61.7010 KOps/s | |
| test_compile_clone_shallow[40-eager] | 71.9010μs | 32.4472μs | 30.8193 KOps/s | 30.8663 KOps/s | |
| test_compile_clone_shallow[40-compile] | 89.2920μs | 18.9968μs | 52.6404 KOps/s | 55.4010 KOps/s | |
| test_compile_clone_shallow[80-eager] | 92.4920μs | 60.0279μs | 16.6589 KOps/s | 16.5794 KOps/s | |
| test_compile_clone_shallow[80-compile] | 75.1310μs | 22.0243μs | 45.4045 KOps/s | 46.6288 KOps/s | |
| test_compile_update_inplace[eager] | 0.2171ms | 60.5668μs | 16.5107 KOps/s | 17.0934 KOps/s | |
| test_compile_update_inplace[compile] | 0.4314ms | 0.1411ms | 7.0882 KOps/s | 6.8314 KOps/s | |
| test_mod_add[eager] | 0.3664ms | 0.2198ms | 4.5487 KOps/s | 4.5340 KOps/s | |
| test_mod_add[compile] | 0.3042ms | 0.1343ms | 7.4446 KOps/s | 7.4383 KOps/s | |
| test_mod_add[compile-overhead] | 0.2796ms | 0.1724ms | 5.8012 KOps/s | 5.6411 KOps/s | |
| test_mod_wrap[eager] | 0.5596ms | 0.4568ms | 2.1890 KOps/s | 2.1416 KOps/s | |
| test_mod_wrap[compile] | 0.4707ms | 0.3890ms | 2.5705 KOps/s | 2.5543 KOps/s | |
| test_mod_wrap[compile-overhead] | 8.6523ms | 4.7189ms | 211.9123 Ops/s | 214.5386 Ops/s | |
| test_mod_wrap_and_backward[eager] | 1.7929ms | 1.6777ms | 596.0612 Ops/s | 601.4862 Ops/s | |
| test_mod_wrap_and_backward[compile] | 2.3344ms | 1.5698ms | 637.0262 Ops/s | 662.2697 Ops/s | |
| test_mod_wrap_and_backward[compile-overhead] | 1.3248ms | 0.9891ms | 1.0110 KOps/s | 1.0604 KOps/s | |
| test_seq_add[eager] | 0.5892ms | 0.4941ms | 2.0239 KOps/s | 2.0078 KOps/s | |
| test_seq_add[compile] | 0.2552ms | 0.1369ms | 7.3032 KOps/s | 6.7375 KOps/s | |
| test_seq_add[compile-overhead] | 0.2996ms | 0.1817ms | 5.5051 KOps/s | 5.4168 KOps/s | |
| test_seq_wrap[eager] | 1.4673ms | 1.3710ms | 729.3743 Ops/s | 728.6325 Ops/s | |
| test_seq_wrap[compile] | 0.5850ms | 0.4106ms | 2.4356 KOps/s | 2.3365 KOps/s | |
| test_seq_wrap[compile-overhead] | 0.3943ms | 0.2945ms | 3.3959 KOps/s | 3.2592 KOps/s | |
| test_func_call_runtime[False-eager] | 0.9088ms | 0.8403ms | 1.1901 KOps/s | 1.2926 KOps/s | |
| test_func_call_runtime[False-compile] | 1.1335ms | 0.9698ms | 1.0312 KOps/s | 1.0455 KOps/s | |
| test_func_call_runtime[False-compile-overhead] | 0.5782ms | 0.4923ms | 2.0313 KOps/s | 2.0073 KOps/s | |
| test_func_call_runtime[True-eager] | 1.1174ms | 1.0221ms | 978.3594 Ops/s | 989.4769 Ops/s | |
| test_func_call_runtime[True-compile] | 1.0976ms | 0.9632ms | 1.0382 KOps/s | 1.0294 KOps/s | |
| test_func_call_runtime[True-compile-overhead] | 0.6841ms | 0.5071ms | 1.9721 KOps/s | 1.9449 KOps/s | |
| test_func_call_cm_runtime[False-eager] | 0.9254ms | 0.8023ms | 1.2464 KOps/s | 1.2841 KOps/s | |
| test_func_call_cm_runtime[False-compile] | 1.0768ms | 0.9293ms | 1.0761 KOps/s | 1.0582 KOps/s | |
| test_func_call_cm_runtime[False-compile-overhead] | 0.6217ms | 0.4725ms | 2.1166 KOps/s | 2.0863 KOps/s | |
| test_func_call_cm_runtime[True-eager] | 1.2633ms | 1.1648ms | 858.5308 Ops/s | 860.1764 Ops/s | |
| test_func_call_cm_runtime[True-compile] | 1.1199ms | 0.9812ms | 1.0192 KOps/s | 1.0129 KOps/s | |
| test_func_call_cm_runtime[True-compile-overhead] | 0.6458ms | 0.5193ms | 1.9258 KOps/s | 1.8981 KOps/s | |
| test_vmap_func_call_cm_runtime[eager] | 2.8100ms | 2.3228ms | 430.5206 Ops/s | 429.7596 Ops/s | |
| test_vmap_func_call_cm_runtime[compile] | 1.1359ms | 0.9936ms | 1.0065 KOps/s | 1.0022 KOps/s | |
| test_vmap_func_call_cm_runtime[compile-overhead] | 0.6149ms | 0.5146ms | 1.9434 KOps/s | 1.9092 KOps/s | |
| test_distributed | 0.5675ms | 0.1462ms | 6.8411 KOps/s | 6.6436 KOps/s | |
| test_tdmodule | 0.4637ms | 0.1873ms | 5.3399 KOps/s | 5.2521 KOps/s | |
| test_tdmodule_dispatch | 0.4033ms | 0.3579ms | 2.7940 KOps/s | 2.7327 KOps/s | |
| test_tdseq | 39.3510μs | 25.8119μs | 38.7418 KOps/s | 38.5678 KOps/s | |
| test_tdseq_dispatch | 0.2557ms | 0.2082ms | 4.8034 KOps/s | 4.7456 KOps/s | |
| test_instantiation_functorch | 2.0444ms | 1.9540ms | 511.7582 Ops/s | 504.3295 Ops/s | |
| test_exec_functorch | 0.3013ms | 0.1769ms | 5.6522 KOps/s | 5.6027 KOps/s | |
| test_exec_functional_call | 0.2170ms | 0.1571ms | 6.3643 KOps/s | 6.3887 KOps/s | |
| test_exec_td_decorator | 0.4439ms | 0.2281ms | 4.3847 KOps/s | 4.3649 KOps/s | |
| test_vmap_mlp_speed_decorator[True-True] | 1.1750ms | 0.9843ms | 1.0159 KOps/s | 1.0077 KOps/s | |
| test_vmap_mlp_speed_decorator[True-False] | 1.1559ms | 0.9812ms | 1.0192 KOps/s | 1.0103 KOps/s | |
| test_vmap_mlp_speed_decorator[False-True] | 0.8677ms | 0.6957ms | 1.4375 KOps/s | 1.4314 KOps/s | |
| test_vmap_mlp_speed_decorator[False-False] | 0.8702ms | 0.6977ms | 1.4332 KOps/s | 1.4346 KOps/s | |
| test_vmap_transformer_speed_decorator[True-True] | 20.5331ms | 20.4226ms | 48.9655 Ops/s | 48.9758 Ops/s | |
| test_vmap_transformer_speed_decorator[True-False] | 20.5240ms | 20.4247ms | 48.9604 Ops/s | 48.9161 Ops/s | |
| test_vmap_transformer_speed_decorator[False-True] | 20.6552ms | 20.0514ms | 49.8719 Ops/s | 49.8182 Ops/s | |
| test_vmap_transformer_speed_decorator[False-False] | 20.7654ms | 20.0435ms | 49.8914 Ops/s | 49.8385 Ops/s | |
| test_to_module_speed[True] | 1.9965ms | 1.3941ms | 717.3060 Ops/s | 707.0271 Ops/s | |
| test_to_module_speed[False] | 1.9547ms | 1.3573ms | 736.7404 Ops/s | 730.0895 Ops/s | |
| test_tc_init | 81.0010μs | 43.3030μs | 23.0931 KOps/s | 23.0643 KOps/s | |
| test_tc_init_tensor_only | 42.5910μs | 9.2521μs | 108.0834 KOps/s | 107.6698 KOps/s | |
| test_tc_init_nested | 0.1333ms | 85.7305μs | 11.6645 KOps/s | 11.4813 KOps/s | |
| test_tc_init_many_fields | 46.5510μs | 15.3642μs | 65.0866 KOps/s | 64.2300 KOps/s | |
| test_tc_first_layer_tensor | 17.2300μs | 1.6979μs | 588.9617 KOps/s | 581.9442 KOps/s | |
| test_tc_first_layer_tensor_only | 2.0170μs | 0.3809μs | 2.6253 MOps/s | 2.6207 MOps/s | |
| test_tc_first_layer_tensor_set | 22.1010μs | 3.6920μs | 270.8564 KOps/s | 265.5259 KOps/s | |
| test_tc_first_layer_tensor_only_set | 34.2900μs | 3.1151μs | 321.0208 KOps/s | 318.6113 KOps/s | |
| test_tc_first_layer_nontensor | 39.6510μs | 5.8417μs | 171.1829 KOps/s | 159.8196 KOps/s | |
| test_tc_second_layer_tensor | 21.6900μs | 4.2164μs | 237.1693 KOps/s | 238.4981 KOps/s | |
| test_tc_second_layer_nontensor | 36.9410μs | 8.2732μs | 120.8717 KOps/s | 114.7991 KOps/s | |
| test_unbind | 0.2816s | 16.2978ms | 61.3578 Ops/s | 73.2345 Ops/s | |
| test_full_like | 4.5628ms | 4.3339ms | 230.7373 Ops/s | 229.1224 Ops/s | |
| test_zeros_like | 4.5350ms | 4.2868ms | 233.2726 Ops/s | 234.1267 Ops/s | |
| test_ones_like | 4.5226ms | 4.3329ms | 230.7926 Ops/s | 232.1183 Ops/s | |
| test_clone | 6.6248ms | 6.3899ms | 156.4970 Ops/s | 157.3411 Ops/s | |
| test_squeeze | 67.1420μs | 14.2682μs | 70.0861 KOps/s | 74.7673 KOps/s | |
| test_unsqueeze | 0.1577ms | 0.1084ms | 9.2249 KOps/s | 9.1971 KOps/s | |
| test_split | 0.3844ms | 0.1727ms | 5.7909 KOps/s | 5.6752 KOps/s | |
| test_permute | 0.3014ms | 0.2020ms | 4.9499 KOps/s | 4.9942 KOps/s | |
| test_stack | 51.5037ms | 51.1270ms | 19.5591 Ops/s | 19.5609 Ops/s | |
| test_cat | 51.4221ms | 51.0353ms | 19.5943 Ops/s | 19.5574 Ops/s | |
| test_sequential_tensordict | 1.1792ms | 0.5776ms | 1.7314 KOps/s | 1.7784 KOps/s | |
| test_sequential_graph_module | 0.3175ms | 0.1196ms | 8.3599 KOps/s | 8.7091 KOps/s | |
| test_nested_tensordict | 1.8046ms | 0.7987ms | 1.2520 KOps/s | 1.2524 KOps/s | |
| test_nested_graph_module | 0.1739ms | 0.1247ms | 8.0168 KOps/s | 8.0203 KOps/s |
Contributor
|
| Name | Max | Mean | Ops | Ops on Repo HEAD
|
Change |
|---|---|---|---|---|---|
| test_collector_preallocated_write[stack_out-cpu-32-2] | 0.2301ms | 0.1727ms | 5.7889 KOps/s | 5.6964 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-32-8] | 0.3520ms | 0.2990ms | 3.3448 KOps/s | 3.3451 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-32-32] | 0.8474ms | 0.7795ms | 1.2828 KOps/s | 1.2699 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-2] | 0.4397ms | 0.3441ms | 2.9058 KOps/s | 2.9592 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-8] | 1.2765ms | 1.1071ms | 903.2226 Ops/s | 915.7994 Ops/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-32] | 7.4446ms | 7.2582ms | 137.7751 Ops/s | 136.6493 Ops/s | |
| test_collector_preallocated_write[stack_out-cuda-32-2] | 0.3003ms | 0.2443ms | 4.0931 KOps/s | 3.8237 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-32-8] | 0.4752ms | 0.3678ms | 2.7190 KOps/s | 2.6829 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-32-32] | 0.8950ms | 0.8164ms | 1.2248 KOps/s | 1.2134 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-2] | 0.3286ms | 0.2457ms | 4.0699 KOps/s | 4.0194 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-8] | 0.4575ms | 0.3693ms | 2.7078 KOps/s | 2.6904 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-32] | 1.0345ms | 0.8842ms | 1.1309 KOps/s | 1.1230 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-2] | 0.2699ms | 0.2104ms | 4.7530 KOps/s | 4.6606 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-8] | 0.8945ms | 0.8326ms | 1.2011 KOps/s | 1.1940 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-32] | 3.6005ms | 3.2996ms | 303.0630 Ops/s | 301.3230 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-2] | 0.8069ms | 0.3745ms | 2.6703 KOps/s | 2.7220 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-8] | 2.1252ms | 1.7505ms | 571.2592 Ops/s | 588.2503 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-32] | 10.7553ms | 10.3147ms | 96.9494 Ops/s | 97.0641 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-2] | 0.4351ms | 0.3908ms | 2.5588 KOps/s | 2.5626 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-8] | 1.7401ms | 1.5268ms | 654.9650 Ops/s | 681.3768 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-32] | 6.1427ms | 5.7467ms | 174.0132 Ops/s | 175.3078 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-2] | 0.5572ms | 0.4134ms | 2.4188 KOps/s | 2.5384 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-8] | 1.5955ms | 1.4748ms | 678.0380 Ops/s | 680.8212 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-32] | 6.1067ms | 5.7381ms | 174.2734 Ops/s | 173.0473 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-32-2] | 0.2206ms | 0.1722ms | 5.8073 KOps/s | 5.7909 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-32-8] | 0.7693ms | 0.6652ms | 1.5032 KOps/s | 1.4844 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-32-32] | 2.8346ms | 2.7172ms | 368.0193 Ops/s | 374.9426 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-2] | 0.6268ms | 0.3114ms | 3.2116 KOps/s | 3.1380 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-8] | 1.6169ms | 1.4851ms | 673.3753 Ops/s | 679.7385 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-32] | 9.7080ms | 9.3527ms | 106.9211 Ops/s | 105.4666 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-32-2] | 0.4687ms | 0.3215ms | 3.1101 KOps/s | 3.0778 KOps/s | |
| test_collector_preallocated_write[copy_at-cuda-32-8] | 1.3428ms | 1.2006ms | 832.9277 Ops/s | 829.2738 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-32-32] | 4.8565ms | 4.7052ms | 212.5328 Ops/s | 211.3405 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-2] | 0.4560ms | 0.3258ms | 3.0689 KOps/s | 3.0689 KOps/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-8] | 1.3751ms | 1.2068ms | 828.6674 Ops/s | 823.7758 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-32] | 4.8403ms | 4.7102ms | 212.3055 Ops/s | 210.3317 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] | 0.1587ms | 0.1218ms | 8.2132 KOps/s | 8.3448 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] | 0.5196ms | 0.4782ms | 2.0914 KOps/s | 2.1120 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] | 2.0030ms | 1.8957ms | 527.5056 Ops/s | 531.1474 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] | 0.4093ms | 0.2568ms | 3.8934 KOps/s | 3.8906 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] | 1.7347ms | 1.2519ms | 798.7585 Ops/s | 781.9112 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] | 8.8566ms | 8.5140ms | 117.4535 Ops/s | 117.0701 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] | 0.4442ms | 0.2940ms | 3.4015 KOps/s | 3.6441 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] | 1.1384ms | 1.0554ms | 947.5109 Ops/s | 972.3248 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] | 4.2543ms | 4.0390ms | 247.5884 Ops/s | 249.3475 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] | 0.3948ms | 0.2774ms | 3.6054 KOps/s | 3.6355 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] | 1.2167ms | 1.0422ms | 959.5481 Ops/s | 976.5741 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] | 4.1550ms | 4.0649ms | 246.0097 Ops/s | 247.5377 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-128-128] | 16.5600ms | 16.2993ms | 61.3524 Ops/s | 61.2871 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-128-256] | 33.2676ms | 32.8651ms | 30.4274 Ops/s | 30.4569 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-4096-128] | 84.8237ms | 83.8516ms | 11.9258 Ops/s | 11.9347 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-4096-256] | 0.1999s | 0.1996s | 5.0110 Ops/s | 5.1179 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-128-128] | 14.0301ms | 13.8607ms | 72.1466 Ops/s | 72.2503 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-128-256] | 27.4834ms | 27.2795ms | 36.6576 Ops/s | 36.8085 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-4096-128] | 14.1215ms | 13.9952ms | 71.4532 Ops/s | 71.2840 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-4096-256] | 27.4961ms | 27.3440ms | 36.5711 Ops/s | 36.5137 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] | 52.7778ms | 52.5433ms | 19.0319 Ops/s | 19.2125 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] | 0.1062s | 0.1058s | 9.4532 Ops/s | 9.5898 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] | 0.1442s | 0.1432s | 6.9809 Ops/s | 6.9771 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] | 0.3242s | 0.3235s | 3.0913 Ops/s | 3.1810 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] | 75.1206ms | 74.4824ms | 13.4260 Ops/s | 13.2323 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] | 0.1614s | 0.1590s | 6.2901 Ops/s | 6.6349 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] | 81.3604ms | 76.9348ms | 12.9980 Ops/s | 13.2262 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] | 0.1622s | 0.1587s | 6.3030 Ops/s | 6.6405 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-128-128] | 30.3214ms | 30.1951ms | 33.1180 Ops/s | 32.9368 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-128-256] | 61.4444ms | 61.2933ms | 16.3150 Ops/s | 16.2239 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-4096-128] | 0.1183s | 0.1176s | 8.5042 Ops/s | 8.5146 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-4096-256] | 0.2665s | 0.2647s | 3.7781 Ops/s | 3.8446 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-128-128] | 43.4590ms | 43.3210ms | 23.0835 Ops/s | 23.1871 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-128-256] | 86.6442ms | 86.5740ms | 11.5508 Ops/s | 11.5843 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-4096-128] | 43.6716ms | 43.5615ms | 22.9561 Ops/s | 23.0702 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-4096-256] | 87.2462ms | 87.0703ms | 11.4850 Ops/s | 11.5257 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] | 20.7598ms | 20.6070ms | 48.5271 Ops/s | 48.9057 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] | 42.1917ms | 41.9848ms | 23.8181 Ops/s | 23.9603 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] | 0.1060s | 0.1056s | 9.4668 Ops/s | 9.4864 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] | 0.2422s | 0.2417s | 4.1374 Ops/s | 4.2275 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] | 37.2702ms | 37.0530ms | 26.9884 Ops/s | 27.3859 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] | 74.5207ms | 74.2058ms | 13.4760 Ops/s | 13.6635 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] | 37.4313ms | 36.9965ms | 27.0296 Ops/s | 27.2845 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] | 74.7577ms | 74.2576ms | 13.4666 Ops/s | 13.7223 Ops/s | |
| test_plain_set_nested | 40.7610μs | 15.5214μs | 64.4274 KOps/s | 64.6896 KOps/s | |
| test_plain_set_stack_nested | 38.9300μs | 15.3694μs | 65.0645 KOps/s | 66.6645 KOps/s | |
| test_plain_set_nested_inplace | 42.5710μs | 16.9705μs | 58.9256 KOps/s | 59.4324 KOps/s | |
| test_plain_set_stack_nested_inplace | 52.4310μs | 16.6894μs | 59.9183 KOps/s | 60.8344 KOps/s | |
| test_items | 28.0610μs | 6.0097μs | 166.3966 KOps/s | 166.8529 KOps/s | |
| test_items_nested | 0.5164ms | 0.4661ms | 2.1457 KOps/s | 2.1306 KOps/s | |
| test_items_nested_locked | 0.5187ms | 0.4667ms | 2.1425 KOps/s | 2.1063 KOps/s | |
| test_items_nested_leaf | 0.1344ms | 96.1836μs | 10.3968 KOps/s | 10.3117 KOps/s | |
| test_items_stack_nested | 0.5167ms | 0.4610ms | 2.1691 KOps/s | 2.1180 KOps/s | |
| test_items_stack_nested_leaf | 0.1370ms | 96.4298μs | 10.3702 KOps/s | 10.2549 KOps/s | |
| test_items_stack_nested_locked | 0.5217ms | 0.4675ms | 2.1392 KOps/s | 2.1015 KOps/s | |
| test_keys | 30.5900μs | 4.2316μs | 236.3196 KOps/s | 236.2826 KOps/s | |
| test_keys_nested | 0.1958ms | 0.1300ms | 7.6925 KOps/s | 7.6793 KOps/s | |
| test_keys_nested_locked | 0.7773ms | 0.1389ms | 7.2006 KOps/s | 7.2088 KOps/s | |
| test_keys_nested_leaf | 0.1555ms | 0.1205ms | 8.2981 KOps/s | 8.3121 KOps/s | |
| test_keys_stack_nested | 0.1615ms | 0.1298ms | 7.7040 KOps/s | 7.7538 KOps/s | |
| test_keys_stack_nested_leaf | 0.1713ms | 0.1200ms | 8.3299 KOps/s | 8.3522 KOps/s | |
| test_keys_stack_nested_locked | 0.2312ms | 0.1387ms | 7.2111 KOps/s | 7.2630 KOps/s | |
| test_values | 8.1120μs | 1.0191μs | 981.2413 KOps/s | 984.8991 KOps/s | |
| test_values_nested | 75.6210μs | 52.8916μs | 18.9066 KOps/s | 19.0996 KOps/s | |
| test_values_nested_locked | 92.2710μs | 55.9928μs | 17.8594 KOps/s | 17.9267 KOps/s | |
| test_values_nested_leaf | 86.0410μs | 59.9309μs | 16.6859 KOps/s | 16.8833 KOps/s | |
| test_values_stack_nested | 80.4110μs | 52.4174μs | 19.0777 KOps/s | 19.1138 KOps/s | |
| test_values_stack_nested_leaf | 88.2420μs | 60.5489μs | 16.5156 KOps/s | 16.6525 KOps/s | |
| test_values_stack_nested_locked | 83.9420μs | 55.9366μs | 17.8774 KOps/s | 18.0237 KOps/s | |
| test_membership | 4.9183μs | 0.8462μs | 1.1818 MOps/s | 1.2074 MOps/s | |
| test_membership_nested | 27.7100μs | 2.9980μs | 333.5565 KOps/s | 338.7319 KOps/s | |
| test_membership_nested_leaf | 26.3600μs | 2.9894μs | 334.5174 KOps/s | 335.0799 KOps/s | |
| test_membership_stacked_nested | 30.0210μs | 2.9114μs | 343.4765 KOps/s | 348.0885 KOps/s | |
| test_membership_stacked_nested_leaf | 35.5210μs | 2.9078μs | 343.9040 KOps/s | 348.1683 KOps/s | |
| test_membership_nested_last | 30.4810μs | 4.5099μs | 221.7330 KOps/s | 222.9879 KOps/s | |
| test_membership_nested_leaf_last | 40.9010μs | 4.5052μs | 221.9638 KOps/s | 223.9017 KOps/s | |
| test_membership_stacked_nested_last | 33.4710μs | 4.4045μs | 227.0383 KOps/s | 228.6983 KOps/s | |
| test_membership_stacked_nested_leaf_last | 40.6210μs | 4.3328μs | 230.7987 KOps/s | 231.2086 KOps/s | |
| test_nested_getleaf | 46.2810μs | 21.9890μs | 45.4772 KOps/s | 45.3052 KOps/s | |
| test_nested_get | 53.7410μs | 20.6866μs | 48.3406 KOps/s | 49.1759 KOps/s | |
| test_stacked_getleaf | 73.5610μs | 22.0554μs | 45.3404 KOps/s | 45.3253 KOps/s | |
| test_stacked_get | 46.9810μs | 20.9283μs | 47.7822 KOps/s | 48.1151 KOps/s | |
| test_nested_getitemleaf | 52.0600μs | 22.1566μs | 45.1333 KOps/s | 44.5535 KOps/s | |
| test_nested_getitem | 45.0110μs | 21.3751μs | 46.7834 KOps/s | 48.0780 KOps/s | |
| test_stacked_getitemleaf | 71.8320μs | 21.9379μs | 45.5831 KOps/s | 45.1653 KOps/s | |
| test_stacked_getitem | 49.2500μs | 21.2894μs | 46.9718 KOps/s | 46.9841 KOps/s | |
| test_lock_nested | 8.1102ms | 0.4815ms | 2.0767 KOps/s | 2.0883 KOps/s | |
| test_lock_stack_nested | 0.5306ms | 0.4791ms | 2.0874 KOps/s | 2.0870 KOps/s | |
| test_unlock_nested | 0.4540ms | 0.3861ms | 2.5902 KOps/s | 2.6008 KOps/s | |
| test_unlock_stack_nested | 0.4376ms | 0.3875ms | 2.5806 KOps/s | 2.5800 KOps/s | |
| test_flatten_speed | 0.1517ms | 0.1213ms | 8.2426 KOps/s | 8.2170 KOps/s | |
| test_unflatten_speed | 0.6495ms | 0.5735ms | 1.7436 KOps/s | 1.7438 KOps/s | |
| test_common_ops | 99.9083ms | 1.5341ms | 651.8471 Ops/s | 993.2861 Ops/s | |
| test_creation | 0.1175ms | 3.1644μs | 316.0174 KOps/s | 322.3392 KOps/s | |
| test_creation_empty | 33.1900μs | 6.9953μs | 142.9537 KOps/s | 146.2471 KOps/s | |
| test_creation_nested_1 | 44.7910μs | 11.5423μs | 86.6381 KOps/s | 88.2904 KOps/s | |
| test_creation_nested_2 | 31.0000μs | 13.3519μs | 74.8956 KOps/s | 76.2059 KOps/s | |
| test_creation_many_keys[10] | 51.3610μs | 20.8973μs | 47.8530 KOps/s | 48.3051 KOps/s | |
| test_creation_many_keys[50] | 0.1321ms | 90.1153μs | 11.0969 KOps/s | 11.0944 KOps/s | |
| test_creation_many_keys[100] | 0.2247ms | 0.1775ms | 5.6345 KOps/s | 5.6422 KOps/s | |
| test_creation_nested_many_keys[10] | 74.5020μs | 45.0851μs | 22.1803 KOps/s | 22.3480 KOps/s | |
| test_creation_nested_many_keys[50] | 0.2275ms | 0.1848ms | 5.4120 KOps/s | 5.4360 KOps/s | |
| test_clone | 54.0910μs | 13.3582μs | 74.8606 KOps/s | 74.3042 KOps/s | |
| test_getitem[int] | 1.5424ms | 15.1757μs | 65.8950 KOps/s | 66.5395 KOps/s | |
| test_getitem[slice_int] | 0.1361ms | 24.5167μs | 40.7886 KOps/s | 40.1318 KOps/s | |
| test_getitem[range] | 0.2361ms | 65.2291μs | 15.3306 KOps/s | 14.5019 KOps/s | |
| test_getitem[tuple] | 0.1398ms | 24.2773μs | 41.1908 KOps/s | 41.3871 KOps/s | |
| test_getitem[list] | 0.1893ms | 60.1669μs | 16.6204 KOps/s | 15.8844 KOps/s | |
| test_setitem_dim[int] | 47.3710μs | 26.2215μs | 38.1366 KOps/s | 36.4220 KOps/s | |
| test_setitem_dim[slice_int] | 64.8010μs | 43.3719μs | 23.0564 KOps/s | 22.5645 KOps/s | |
| test_setitem_dim[range] | 0.1367ms | 96.2299μs | 10.3918 KOps/s | 9.7686 KOps/s | |
| test_setitem_dim[tuple] | 70.3910μs | 39.8455μs | 25.0969 KOps/s | 23.9008 KOps/s | |
| test_setitem | 53.6310μs | 17.8633μs | 55.9807 KOps/s | 51.8086 KOps/s | |
| test_set | 41.5400μs | 16.9444μs | 59.0166 KOps/s | 54.3385 KOps/s | |
| test_set_shared | 0.4891ms | 0.2037ms | 4.9087 KOps/s | 4.7360 KOps/s | |
| test_update | 0.3187ms | 22.0608μs | 45.3293 KOps/s | 45.5071 KOps/s | |
| test_update_nested | 73.7310μs | 33.5865μs | 29.7738 KOps/s | 29.3148 KOps/s | |
| test_update__nested | 0.4651ms | 33.6073μs | 29.7554 KOps/s | 29.9980 KOps/s | |
| test_set_nested | 0.1391ms | 19.1399μs | 52.2470 KOps/s | 52.4721 KOps/s | |
| test_set_nested_new | 56.5700μs | 23.8666μs | 41.8996 KOps/s | 41.8073 KOps/s | |
| test_select | 74.1820μs | 39.8448μs | 25.0974 KOps/s | 24.6331 KOps/s | |
| test_select_nested | 0.1020ms | 74.1261μs | 13.4905 KOps/s | 13.5271 KOps/s | |
| test_exclude_nested | 0.1197ms | 91.7110μs | 10.9038 KOps/s | 10.9314 KOps/s | |
| test_empty[True] | 0.4303ms | 0.3994ms | 2.5039 KOps/s | 2.4928 KOps/s | |
| test_empty[False] | 7.8325μs | 1.3871μs | 720.9348 KOps/s | 655.5245 KOps/s | |
| test_to | 96.1510μs | 68.4768μs | 14.6035 KOps/s | 14.3968 KOps/s | |
| test_to_nonblocking | 0.1932ms | 68.1136μs | 14.6814 KOps/s | 14.5794 KOps/s | |
| test_unbind_speed | 1.8665ms | 0.3397ms | 2.9438 KOps/s | 3.0099 KOps/s | |
| test_unbind_speed_stack0 | 0.3958ms | 0.3323ms | 3.0097 KOps/s | 3.0051 KOps/s | |
| test_unbind_speed_stack1 | 0.1150s | 0.8507ms | 1.1756 KOps/s | 1.1631 KOps/s | |
| test_split | 1.2576ms | 1.1436ms | 874.3994 Ops/s | 716.8670 Ops/s | |
| test_chunk | 0.1149s | 1.2131ms | 824.3574 Ops/s | 918.1053 Ops/s | |
| test_to_cpu_blocking | 20.1740ms | 19.9655ms | 50.0863 Ops/s | 49.0784 Ops/s | |
| test_to_cpu_global_sync | 12.0790ms | 11.8984ms | 84.0449 Ops/s | 83.9107 Ops/s | |
| test_to_cpu_event_sync | 13.1612ms | 12.9071ms | 77.4765 Ops/s | 77.5199 Ops/s | |
| test_to_cpu_default | 13.1606ms | 12.9413ms | 77.2721 Ops/s | 68.8181 Ops/s | |
| test_consolidate[False-None] | 0.1446s | 4.8200ms | 207.4667 Ops/s | 239.3616 Ops/s | |
| test_consolidate[default-None] | 2.1147ms | 2.0319ms | 492.1440 Ops/s | 483.9473 Ops/s | |
| test_consolidate[reduce-overhead-None] | 2.0447ms | 1.9397ms | 515.5422 Ops/s | 499.9637 Ops/s | |
| test_consolidate_njt[False-None] | 8.7791ms | 8.5868ms | 116.4578 Ops/s | 114.4098 Ops/s | |
| test_to[False-False-None] | 2.2892ms | 2.2159ms | 451.2935 Ops/s | 456.1987 Ops/s | |
| test_to[True-False-None] | 2.1859ms | 1.8842ms | 530.7370 Ops/s | 531.6556 Ops/s | |
| test_to[within-False-None] | 6.2469ms | 6.1463ms | 162.6986 Ops/s | 161.9298 Ops/s | |
| test_to[True-default-None] | 10.7264ms | 10.4997ms | 95.2411 Ops/s | 91.5917 Ops/s | |
| test_to_njt[False-False-None] | 8.7894ms | 8.6515ms | 115.5874 Ops/s | 113.7357 Ops/s | |
| test_to_njt[True-False-None] | 7.1028ms | 6.9104ms | 144.7084 Ops/s | 142.2621 Ops/s | |
| test_to_njt[within-False-None] | 15.8369ms | 15.6799ms | 63.7759 Ops/s | 62.9409 Ops/s | |
| test_creation[device0] | 0.3431ms | 0.1156ms | 8.6471 KOps/s | 8.5350 KOps/s | |
| test_creation_from_tensor | 0.4405ms | 0.1126ms | 8.8839 KOps/s | 8.6634 KOps/s | |
| test_add_one[memmap_tensor0] | 0.2357ms | 6.8443μs | 146.1075 KOps/s | 145.0891 KOps/s | |
| test_contiguous[memmap_tensor0] | 12.9410μs | 0.6603μs | 1.5145 MOps/s | 2.1784 MOps/s | |
| test_stack[memmap_tensor0] | 35.8110μs | 4.2548μs | 235.0303 KOps/s | 234.4575 KOps/s | |
| test_memmaptd_index | 1.1225ms | 0.2713ms | 3.6866 KOps/s | 3.6732 KOps/s | |
| test_memmaptd_index_astensor | 0.5377ms | 0.3751ms | 2.6662 KOps/s | 2.6395 KOps/s | |
| test_memmaptd_index_op | 0.7989ms | 0.6337ms | 1.5781 KOps/s | 1.5420 KOps/s | |
| test_serialize_model | 0.1372s | 0.1343s | 7.4434 Ops/s | 7.3600 Ops/s | |
| test_serialize_model_pickle | 1.3469s | 1.2103s | 0.8263 Ops/s | 0.8265 Ops/s | |
| test_serialize_weights | 0.3176s | 0.1599s | 6.2530 Ops/s | 7.5054 Ops/s | |
| test_serialize_weights_returnearly | 82.4430ms | 64.6564ms | 15.4664 Ops/s | 6.3055 Ops/s | |
| test_serialize_weights_pickle | 1.3719s | 1.2134s | 0.8242 Ops/s | 0.8195 Ops/s | |
| test_reshape_pytree | 0.2121ms | 32.6326μs | 30.6442 KOps/s | 30.9494 KOps/s | |
| test_reshape_td | 78.3710μs | 44.6531μs | 22.3949 KOps/s | 22.6019 KOps/s | |
| test_view_pytree | 0.1755s | 41.5422μs | 24.0719 KOps/s | 31.0373 KOps/s | |
| test_view_td | 93.9210μs | 53.4170μs | 18.7206 KOps/s | 18.8897 KOps/s | |
| test_unbind_pytree | 0.2219ms | 36.4099μs | 27.4651 KOps/s | 27.0561 KOps/s | |
| test_unbind_td | 0.1912ms | 49.6966μs | 20.1221 KOps/s | 19.7235 KOps/s | |
| test_split_pytree | 0.1970ms | 42.2995μs | 23.6410 KOps/s | 23.6044 KOps/s | |
| test_split_td | 0.1047ms | 64.0833μs | 15.6047 KOps/s | 15.2308 KOps/s | |
| test_add_pytree | 0.2316ms | 42.1080μs | 23.7485 KOps/s | 23.6278 KOps/s | |
| test_add_td | 91.2020μs | 55.8080μs | 17.9186 KOps/s | 17.7855 KOps/s | |
| test_compile_add_one_nested[tensordict-compile] | 0.2948ms | 0.2232ms | 4.4813 KOps/s | 4.1076 KOps/s | |
| test_compile_add_one_nested[tensordict-eager] | 0.3354ms | 0.2032ms | 4.9222 KOps/s | 4.9684 KOps/s | |
| test_compile_add_one_nested[pytree-compile] | 0.3478ms | 0.1348ms | 7.4182 KOps/s | 7.3317 KOps/s | |
| test_compile_add_one_nested[pytree-eager] | 0.4200ms | 0.1792ms | 5.5818 KOps/s | 5.5494 KOps/s | |
| test_compile_copy_nested[tensordict-compile] | 60.8410μs | 14.8699μs | 67.2498 KOps/s | 66.2279 KOps/s | |
| test_compile_copy_nested[tensordict-eager] | 0.3098ms | 53.0736μs | 18.8418 KOps/s | 18.3461 KOps/s | |
| test_compile_copy_nested[pytree-compile] | 0.1411ms | 15.2151μs | 65.7241 KOps/s | 63.2860 KOps/s | |
| test_compile_copy_nested[pytree-eager] | 0.3702ms | 67.6325μs | 14.7858 KOps/s | 14.7991 KOps/s | |
| test_compile_add_one_flat[tensordict-compile] | 0.3194ms | 0.2459ms | 4.0664 KOps/s | 3.6282 KOps/s | |
| test_compile_add_one_flat[tensordict-eager] | 0.4194ms | 0.2829ms | 3.5349 KOps/s | 3.5333 KOps/s | |
| test_compile_add_one_flat[tensorclass-compile] | 0.3540ms | 0.1894ms | 5.2804 KOps/s | 4.9379 KOps/s | |
| test_compile_add_one_flat[tensorclass-eager] | 0.1188ms | 76.7875μs | 13.0230 KOps/s | 12.8449 KOps/s | |
| test_compile_add_one_flat[pytree-compile] | 0.4502ms | 0.1918ms | 5.2138 KOps/s | 3.5642 KOps/s | |
| test_compile_add_one_flat[pytree-eager] | 0.8349ms | 0.5212ms | 1.9188 KOps/s | 1.9404 KOps/s | |
| test_compile_add_self_flat[tensordict-eager] | 0.4969ms | 0.3321ms | 3.0107 KOps/s | 3.0035 KOps/s | |
| test_compile_add_self_flat[tensordict-compile] | 0.3697ms | 0.2495ms | 4.0075 KOps/s | 3.7113 KOps/s | |
| test_compile_add_self_flat[tensorclass-eager] | 0.1315ms | 90.7086μs | 11.0243 KOps/s | 10.5563 KOps/s | |
| test_compile_add_self_flat[tensorclass-compile] | 0.3386ms | 0.1915ms | 5.2231 KOps/s | 4.9722 KOps/s | |
| test_compile_add_self_flat[pytree-eager] | 0.6462ms | 0.4308ms | 2.3211 KOps/s | 2.3394 KOps/s | |
| test_compile_add_self_flat[pytree-compile] | 0.5003ms | 0.1960ms | 5.1012 KOps/s | 5.0831 KOps/s | |
| test_compile_copy_flat[tensordict-compile] | 0.1521ms | 19.9021μs | 50.2461 KOps/s | 48.6520 KOps/s | |
| test_compile_copy_flat[tensordict-eager] | 69.7210μs | 40.7893μs | 24.5162 KOps/s | 24.3986 KOps/s | |
| test_compile_copy_flat[pytree-compile] | 0.1525ms | 21.2965μs | 46.9561 KOps/s | 46.5650 KOps/s | |
| test_compile_copy_flat[pytree-eager] | 0.3373ms | 52.0390μs | 19.2164 KOps/s | 19.1413 KOps/s | |
| test_compile_assign_and_add[tensordict-compile] | 2.1855ms | 0.2370ms | 4.2196 KOps/s | 3.9052 KOps/s | |
| test_compile_assign_and_add[tensordict-eager] | 3.4939ms | 3.2791ms | 304.9594 Ops/s | 298.1585 Ops/s | |
| test_compile_assign_and_add[pytree-compile] | 2.0859ms | 0.1784ms | 5.6040 KOps/s | 5.4221 KOps/s | |
| test_compile_assign_and_add[pytree-eager] | 2.9570ms | 2.7957ms | 357.6954 Ops/s | 356.8386 Ops/s | |
| test_compile_indexing[tensor-tensordict-compile] | 0.2814ms | 0.1326ms | 7.5419 KOps/s | 7.1428 KOps/s | |
| test_compile_indexing[tensor-tensordict-eager] | 0.3456ms | 74.8194μs | 13.3655 KOps/s | 13.3915 KOps/s | |
| test_compile_indexing[tensor-tensorclass-compile] | 0.2198ms | 0.1177ms | 8.4986 KOps/s | 8.3741 KOps/s | |
| test_compile_indexing[tensor-tensorclass-eager] | 0.2583ms | 45.5824μs | 21.9383 KOps/s | 22.0197 KOps/s | |
| test_compile_indexing[tensor-pytree-compile] | 0.1714ms | 0.1187ms | 8.4262 KOps/s | 8.3126 KOps/s | |
| test_compile_indexing[tensor-pytree-eager] | 0.2181s | 56.8367μs | 17.5943 KOps/s | 22.1776 KOps/s | |
| test_compile_indexing[slice-tensordict-compile] | 0.2555ms | 83.2612μs | 12.0104 KOps/s | 11.5301 KOps/s | |
| test_compile_indexing[slice-tensordict-eager] | 0.2205ms | 28.5427μs | 35.0352 KOps/s | 36.2276 KOps/s | |
| test_compile_indexing[slice-tensorclass-compile] | 0.2426ms | 70.8358μs | 14.1172 KOps/s | 14.2616 KOps/s | |
| test_compile_indexing[slice-tensorclass-eager] | 0.2361ms | 22.1898μs | 45.0658 KOps/s | 44.8025 KOps/s | |
| test_compile_indexing[slice-pytree-compile] | 0.1088ms | 70.4201μs | 14.2005 KOps/s | 14.1025 KOps/s | |
| test_compile_indexing[slice-pytree-eager] | 0.2536ms | 22.1161μs | 45.2160 KOps/s | 45.3093 KOps/s | |
| test_compile_indexing[int-tensordict-compile] | 0.1384ms | 82.8365μs | 12.0720 KOps/s | 11.4889 KOps/s | |
| test_compile_indexing[int-tensordict-eager] | 0.2254ms | 28.1560μs | 35.5164 KOps/s | 35.5853 KOps/s | |
| test_compile_indexing[int-tensorclass-compile] | 0.2020ms | 70.0471μs | 14.2761 KOps/s | 14.0257 KOps/s | |
| test_compile_indexing[int-tensorclass-eager] | 0.2611ms | 22.2785μs | 44.8862 KOps/s | 45.0876 KOps/s | |
| test_compile_indexing[int-pytree-compile] | 0.1059ms | 69.8974μs | 14.3067 KOps/s | 14.2190 KOps/s | |
| test_compile_indexing[int-pytree-eager] | 0.2375ms | 22.2413μs | 44.9613 KOps/s | 45.2179 KOps/s | |
| test_compile_replace[single-eager] | 87.1620μs | 47.4701μs | 21.0659 KOps/s | 20.6504 KOps/s | |
| test_compile_replace[single-compile] | 0.2592ms | 0.1284ms | 7.7911 KOps/s | 7.5577 KOps/s | |
| test_compile_replace[multi-eager] | 0.6871ms | 0.5677ms | 1.7616 KOps/s | 1.7712 KOps/s | |
| test_compile_replace[multi-compile] | 0.2996ms | 0.1355ms | 7.3794 KOps/s | 7.2399 KOps/s | |
| test_compile_tc_getattr_20[eager] | 0.2203ms | 0.1694ms | 5.9015 KOps/s | 6.0581 KOps/s | |
| test_compile_tc_getattr_20[compile] | 0.4480ms | 0.1462ms | 6.8418 KOps/s | 6.4162 KOps/s | |
| test_compile_clone_shallow[20-eager] | 50.9510μs | 19.1663μs | 52.1749 KOps/s | 51.7593 KOps/s | |
| test_compile_clone_shallow[20-compile] | 74.2710μs | 16.4924μs | 60.6339 KOps/s | 46.0071 KOps/s | |
| test_compile_clone_shallow[40-eager] | 59.8010μs | 33.8861μs | 29.5106 KOps/s | 29.3795 KOps/s | |
| test_compile_clone_shallow[40-compile] | 64.0710μs | 18.2090μs | 54.9180 KOps/s | 53.3808 KOps/s | |
| test_compile_clone_shallow[80-eager] | 99.0710μs | 62.7487μs | 15.9366 KOps/s | 16.0453 KOps/s | |
| test_compile_clone_shallow[80-compile] | 79.2010μs | 21.4736μs | 46.5688 KOps/s | 45.6217 KOps/s | |
| test_compile_update_inplace[eager] | 0.2043ms | 61.0580μs | 16.3779 KOps/s | 16.3124 KOps/s | |
| test_compile_update_inplace[compile] | 0.3160ms | 0.1450ms | 6.8947 KOps/s | 6.7283 KOps/s | |
| test_mod_add[eager] | 0.3308ms | 0.2259ms | 4.4266 KOps/s | 4.3988 KOps/s | |
| test_mod_add[compile] | 0.3228ms | 0.1302ms | 7.6786 KOps/s | 7.1366 KOps/s | |
| test_mod_add[compile-overhead] | 0.2700ms | 0.1757ms | 5.6903 KOps/s | 5.5589 KOps/s | |
| test_mod_wrap[eager] | 0.5554ms | 0.4698ms | 2.1284 KOps/s | 2.1048 KOps/s | |
| test_mod_wrap[compile] | 0.5389ms | 0.3936ms | 2.5404 KOps/s | 2.4287 KOps/s | |
| test_mod_wrap[compile-overhead] | 8.9018ms | 4.7087ms | 212.3748 Ops/s | 215.3377 Ops/s | |
| test_mod_wrap_and_backward[eager] | 1.8943ms | 1.7059ms | 586.1840 Ops/s | 580.1403 Ops/s | |
| test_mod_wrap_and_backward[compile] | 2.4456ms | 1.5998ms | 625.0720 Ops/s | 641.8659 Ops/s | |
| test_mod_wrap_and_backward[compile-overhead] | 1.3712ms | 0.9445ms | 1.0588 KOps/s | 1.0365 KOps/s | |
| test_seq_add[eager] | 0.6380ms | 0.5141ms | 1.9453 KOps/s | 1.9445 KOps/s | |
| test_seq_add[compile] | 0.2800ms | 0.1437ms | 6.9567 KOps/s | 6.6900 KOps/s | |
| test_seq_add[compile-overhead] | 0.3402ms | 0.1848ms | 5.4100 KOps/s | 5.0940 KOps/s | |
| test_seq_wrap[eager] | 1.5396ms | 1.4406ms | 694.1491 Ops/s | 704.2453 Ops/s | |
| test_seq_wrap[compile] | 0.5603ms | 0.4290ms | 2.3307 KOps/s | 2.2877 KOps/s | |
| test_seq_wrap[compile-overhead] | 0.4322ms | 0.3044ms | 3.2849 KOps/s | 3.2143 KOps/s | |
| test_func_call_runtime[False-eager] | 0.9720ms | 0.8561ms | 1.1681 KOps/s | 1.1895 KOps/s | |
| test_func_call_runtime[False-compile] | 1.2494ms | 0.9720ms | 1.0289 KOps/s | 1.0052 KOps/s | |
| test_func_call_runtime[False-compile-overhead] | 0.6525ms | 0.5104ms | 1.9593 KOps/s | 1.9375 KOps/s | |
| test_func_call_runtime[True-eager] | 1.2448ms | 1.0531ms | 949.5358 Ops/s | 950.6077 Ops/s | |
| test_func_call_runtime[True-compile] | 1.1481ms | 0.9991ms | 1.0009 KOps/s | 991.7029 Ops/s | |
| test_func_call_runtime[True-compile-overhead] | 0.6268ms | 0.5246ms | 1.9063 KOps/s | 1.8794 KOps/s | |
| test_func_call_cm_runtime[False-eager] | 0.9262ms | 0.8146ms | 1.2276 KOps/s | 1.2447 KOps/s | |
| test_func_call_cm_runtime[False-compile] | 1.1129ms | 0.9511ms | 1.0514 KOps/s | 1.0221 KOps/s | |
| test_func_call_cm_runtime[False-compile-overhead] | 0.6316ms | 0.4935ms | 2.0262 KOps/s | 2.0142 KOps/s | |
| test_func_call_cm_runtime[True-eager] | 1.3125ms | 1.1963ms | 835.8763 Ops/s | 822.8583 Ops/s | |
| test_func_call_cm_runtime[True-compile] | 1.1535ms | 1.0028ms | 997.1995 Ops/s | 977.9950 Ops/s | |
| test_func_call_cm_runtime[True-compile-overhead] | 0.6579ms | 0.5437ms | 1.8393 KOps/s | 1.8156 KOps/s | |
| test_vmap_func_call_cm_runtime[eager] | 2.8818ms | 2.3904ms | 418.3344 Ops/s | 418.8829 Ops/s | |
| test_vmap_func_call_cm_runtime[compile] | 1.1284ms | 1.0371ms | 964.1839 Ops/s | 971.9049 Ops/s | |
| test_vmap_func_call_cm_runtime[compile-overhead] | 0.6402ms | 0.5370ms | 1.8621 KOps/s | 1.8514 KOps/s | |
| test_distributed | 0.5644ms | 0.1466ms | 6.8195 KOps/s | 6.6991 KOps/s | |
| test_tdmodule | 0.7148ms | 0.1943ms | 5.1465 KOps/s | 5.0920 KOps/s | |
| test_tdmodule_dispatch | 0.4249ms | 0.3723ms | 2.6863 KOps/s | 2.6591 KOps/s | |
| test_tdseq | 53.4110μs | 27.1779μs | 36.7946 KOps/s | 37.2160 KOps/s | |
| test_tdseq_dispatch | 0.3388ms | 0.2149ms | 4.6523 KOps/s | 4.6254 KOps/s | |
| test_instantiation_functorch | 2.1837ms | 2.0865ms | 479.2788 Ops/s | 481.2610 Ops/s | |
| test_exec_functorch | 0.3097ms | 0.1800ms | 5.5569 KOps/s | 5.5156 KOps/s | |
| test_exec_functional_call | 0.1992ms | 0.1615ms | 6.1925 KOps/s | 6.2035 KOps/s | |
| test_exec_td_decorator | 0.4605ms | 0.2372ms | 4.2150 KOps/s | 4.1956 KOps/s | |
| test_vmap_mlp_speed_decorator[True-True] | 1.1963ms | 1.0151ms | 985.0813 Ops/s | 979.9818 Ops/s | |
| test_vmap_mlp_speed_decorator[True-False] | 1.1933ms | 1.0113ms | 988.8289 Ops/s | 979.1763 Ops/s | |
| test_vmap_mlp_speed_decorator[False-True] | 0.8922ms | 0.7126ms | 1.4033 KOps/s | 1.3697 KOps/s | |
| test_vmap_mlp_speed_decorator[False-False] | 0.9053ms | 0.7130ms | 1.4026 KOps/s | 1.3842 KOps/s | |
| test_vmap_transformer_speed_decorator[True-True] | 21.9170ms | 20.8933ms | 47.8623 Ops/s | 47.3297 Ops/s | |
| test_vmap_transformer_speed_decorator[True-False] | 21.0319ms | 20.8801ms | 47.8924 Ops/s | 47.0657 Ops/s | |
| test_vmap_transformer_speed_decorator[False-True] | 20.7766ms | 20.5200ms | 48.7329 Ops/s | 47.9621 Ops/s | |
| test_vmap_transformer_speed_decorator[False-False] | 20.6768ms | 20.5027ms | 48.7741 Ops/s | 47.8864 Ops/s | |
| test_to_module_speed[True] | 1.6277ms | 1.4771ms | 677.0070 Ops/s | 668.6247 Ops/s | |
| test_to_module_speed[False] | 1.5504ms | 1.4415ms | 693.7288 Ops/s | 687.7837 Ops/s | |
| test_tc_init | 77.6710μs | 44.4047μs | 22.5201 KOps/s | 22.4207 KOps/s | |
| test_tc_init_tensor_only | 42.5210μs | 9.6288μs | 103.8555 KOps/s | 102.8437 KOps/s | |
| test_tc_init_nested | 0.1292ms | 88.3785μs | 11.3150 KOps/s | 11.4394 KOps/s | |
| test_tc_init_many_fields | 37.1310μs | 16.2605μs | 61.4988 KOps/s | 60.4090 KOps/s | |
| test_tc_first_layer_tensor | 30.5000μs | 1.7996μs | 555.6904 KOps/s | 548.2004 KOps/s | |
| test_tc_first_layer_tensor_only | 1.6820μs | 0.3972μs | 2.5178 MOps/s | 2.5135 MOps/s | |
| test_tc_first_layer_tensor_set | 25.1710μs | 3.8872μs | 257.2533 KOps/s | 255.8173 KOps/s | |
| test_tc_first_layer_tensor_only_set | 20.9210μs | 3.2593μs | 306.8113 KOps/s | 302.2718 KOps/s | |
| test_tc_first_layer_nontensor | 75.9920μs | 6.3651μs | 157.1065 KOps/s | 163.2258 KOps/s | |
| test_tc_second_layer_tensor | 32.0800μs | 4.3959μs | 227.4838 KOps/s | 227.8731 KOps/s | |
| test_tc_second_layer_nontensor | 35.2700μs | 8.9384μs | 111.8764 KOps/s | 116.5525 KOps/s | |
| test_unbind | 0.2821s | 14.2686ms | 70.0839 Ops/s | 69.4808 Ops/s | |
| test_full_like | 4.5829ms | 4.3928ms | 227.6452 Ops/s | 227.3490 Ops/s | |
| test_zeros_like | 4.5478ms | 4.3717ms | 228.7416 Ops/s | 228.7707 Ops/s | |
| test_ones_like | 4.8261ms | 4.3804ms | 228.2884 Ops/s | 228.3550 Ops/s | |
| test_clone | 6.6437ms | 6.4429ms | 155.2088 Ops/s | 156.1177 Ops/s | |
| test_squeeze | 67.6910μs | 14.4160μs | 69.3675 KOps/s | 70.1032 KOps/s | |
| test_unsqueeze | 0.1704ms | 0.1164ms | 8.5941 KOps/s | 8.9865 KOps/s | |
| test_split | 0.4075ms | 0.1837ms | 5.4450 KOps/s | 5.5784 KOps/s | |
| test_permute | 0.2804ms | 0.2115ms | 4.7283 KOps/s | 4.8752 KOps/s | |
| test_stack | 51.5396ms | 51.2305ms | 19.5196 Ops/s | 19.5725 Ops/s | |
| test_cat | 43.0672ms | 42.9066ms | 23.3064 Ops/s | 23.2798 Ops/s | |
| test_sequential_tensordict | 0.9535ms | 0.5907ms | 1.6930 KOps/s | 1.7413 KOps/s | |
| test_sequential_graph_module | 0.1750ms | 0.1227ms | 8.1519 KOps/s | 8.1628 KOps/s | |
| test_nested_tensordict | 1.1057ms | 0.8228ms | 1.2154 KOps/s | 1.2202 KOps/s | |
| test_nested_graph_module | 0.1836ms | 0.1318ms | 7.5885 KOps/s | 7.6193 KOps/s |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds opt-in GPUDirect Storage (NVIDIA cuFile) support to
consolidate()andfrom_consolidated(). When a tensordict is laid out as a single contiguous storage with per-leaf offsets — which is exactly whatconsolidate()already produces — cuFile can DMA the whole payload between disk and a registered CUDA buffer without going through host RAM. One buffer registration, onecuFileRead/cuFileWrite, views are then free.New API (both default
False, no silent fallback):Requires PyTorch ≥ 2.7 (cuFile bindings), a CUDA device,
nvidia-fskernel module loaded, and a GDS-supported filesystem (ext4 w/ direct I/O, GPFS, Lustre, WekaFS, …). Any failure raises with an actionable hint; there is no fallback in v1.What's in scope
torch.cuda.gds).tensordict/_gds.pywith capability probe,_require_gds, and the load/save helpers.torch.cuda.gdsis imported function-locally so importing tensordict stays free on installs without it.weakref.finalizeso the cuFile registration outlives all leaves and gets cleaned up at GC.test/test_memmap.py::TestGDSwith an end-to-end smoke probe gating the round-trip tests viapytest.mark.skipif.docs/source/saving.rst.Non-goals (deferred)
.memmapfiles (would require N buffer registrations).Test plan
pytest test/test_memmap.pyon macOS: 563 pass, 5 GDS tests skip correctly (no CUDA).pytest -k "consolidate or memmap"acrosstest_memmap.py,test_compatibility.py,test_tensordict.py,test_tensorclass.py— 583 pass, no regressions in the unchanged paths.test_gds_raises_when_unavailableconfirms that on a CUDA host withoutnvidia-fs,use_gds=Trueraises a clear cuFile error rather than silently corrupting data.test_gds_load_roundtrip_small,test_gds_save_roundtrip_small,test_gds_save_then_gds_load,test_gds_leaf_outlives_td) requirenvidia-fsloaded + supported FS. They skip cleanly otherwise.🤖 Generated with Claude Code