[Feature] Support group_dst/group_src in TensorDict p2p methods - #1739
Merged
Conversation
Add group_dst (send/isend) and group_src (recv/irecv) keyword arguments, mirroring the torch functional API. When set, the p2p calls are issued directly on the group's backend (pg.send/pg.recv), so standalone process groups built against a store -- never registered through init_process_group/new_group -- work on every supported torch version. The consolidated single-buffer path forwards the new arguments as well. Global-rank dst/src behavior, the tag protocol, and wire compatibility are unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
| Name | Max | Mean | Ops | Ops on Repo HEAD
|
Change |
|---|---|---|---|---|---|
| test_collector_preallocated_write[stack_out-cpu-32-2] | 0.2118ms | 0.1659ms | 6.0260 KOps/s | 6.1599 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-32-8] | 0.4261ms | 0.2862ms | 3.4942 KOps/s | 3.4598 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-32-32] | 0.7934ms | 0.7574ms | 1.3202 KOps/s | 1.3189 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-2] | 0.4229ms | 0.3304ms | 3.0267 KOps/s | 2.9697 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-8] | 1.2406ms | 1.1059ms | 904.2504 Ops/s | 894.5448 Ops/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-32] | 7.6479ms | 7.3395ms | 136.2497 Ops/s | 135.3431 Ops/s | |
| test_collector_preallocated_write[stack_out-cuda-32-2] | 0.2994ms | 0.2589ms | 3.8628 KOps/s | 4.0550 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-32-8] | 0.5125ms | 0.3826ms | 2.6140 KOps/s | 2.7475 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-32-32] | 0.9833ms | 0.8148ms | 1.2274 KOps/s | 1.2470 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-2] | 0.3387ms | 0.2611ms | 3.8293 KOps/s | 4.0584 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-8] | 0.5036ms | 0.3844ms | 2.6016 KOps/s | 2.7398 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-32] | 0.9296ms | 0.8715ms | 1.1474 KOps/s | 1.1620 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-2] | 0.3101ms | 0.2117ms | 4.7239 KOps/s | 4.7737 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-8] | 1.2861ms | 0.7963ms | 1.2557 KOps/s | 1.2400 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-32] | 4.3251ms | 3.2283ms | 309.7644 Ops/s | 314.4893 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-2] | 0.5255ms | 0.3734ms | 2.6784 KOps/s | 2.6894 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-8] | 1.9966ms | 1.7658ms | 566.3063 Ops/s | 607.2226 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-32] | 10.2401ms | 9.9978ms | 100.0217 Ops/s | 97.7904 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-2] | 0.4521ms | 0.3862ms | 2.5894 KOps/s | 2.4698 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-8] | 1.6172ms | 1.5288ms | 654.1008 Ops/s | 656.2872 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-32] | 6.2583ms | 5.8845ms | 169.9382 Ops/s | 175.4789 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-2] | 0.4570ms | 0.3827ms | 2.6133 KOps/s | 2.6103 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-8] | 1.6061ms | 1.4638ms | 683.1746 Ops/s | 693.1746 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-32] | 6.2225ms | 6.0545ms | 165.1655 Ops/s | 171.0265 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-32-2] | 0.2159ms | 0.1667ms | 5.9998 KOps/s | 5.9173 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-32-8] | 0.7661ms | 0.6486ms | 1.5418 KOps/s | 1.5413 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-32-32] | 2.7522ms | 2.6041ms | 384.0074 Ops/s | 387.0067 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-2] | 0.4132ms | 0.3174ms | 3.1505 KOps/s | 3.1131 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-8] | 1.7014ms | 1.5712ms | 636.4598 Ops/s | 657.5170 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-32] | 9.7196ms | 9.5331ms | 104.8975 Ops/s | 106.1683 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-32-2] | 0.3741ms | 0.3164ms | 3.1604 KOps/s | 3.1562 KOps/s | |
| test_collector_preallocated_write[copy_at-cuda-32-8] | 1.3902ms | 1.1820ms | 846.0578 Ops/s | 847.1315 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-32-32] | 4.7229ms | 4.6238ms | 216.2702 Ops/s | 216.0834 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-2] | 0.4507ms | 0.3229ms | 3.0967 KOps/s | 3.1422 KOps/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-8] | 1.3149ms | 1.2179ms | 821.0705 Ops/s | 841.6360 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-32] | 4.9252ms | 4.8231ms | 207.3366 Ops/s | 215.1040 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] | 0.1869ms | 0.1187ms | 8.4268 KOps/s | 8.5263 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] | 0.5127ms | 0.4586ms | 2.1804 KOps/s | 2.1693 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] | 1.8760ms | 1.8211ms | 549.1300 Ops/s | 543.3375 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] | 0.3053ms | 0.2498ms | 4.0037 KOps/s | 3.8635 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] | 1.4269ms | 1.2946ms | 772.4338 Ops/s | 834.2593 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] | 8.8861ms | 8.5731ms | 116.6434 Ops/s | 116.8976 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] | 0.3925ms | 0.2892ms | 3.4576 KOps/s | 3.6488 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] | 1.2010ms | 1.0664ms | 937.7688 Ops/s | 982.7862 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] | 4.0813ms | 3.9613ms | 252.4445 Ops/s | 250.4851 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] | 0.3543ms | 0.2719ms | 3.6784 KOps/s | 3.6697 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] | 1.0806ms | 1.0156ms | 984.6639 Ops/s | 979.4520 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] | 4.2150ms | 3.9836ms | 251.0312 Ops/s | 250.5221 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-128-128] | 15.8068ms | 15.6566ms | 63.8706 Ops/s | 63.7467 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-128-256] | 32.1217ms | 31.8322ms | 31.4147 Ops/s | 31.6952 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-4096-128] | 84.0172ms | 83.6780ms | 11.9506 Ops/s | 12.0315 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-4096-256] | 0.1983s | 0.1975s | 5.0623 Ops/s | 5.1402 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-128-128] | 13.3072ms | 13.1837ms | 75.8512 Ops/s | 75.5638 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-128-256] | 26.0326ms | 25.6597ms | 38.9717 Ops/s | 38.6828 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-4096-128] | 15.5162ms | 13.4283ms | 74.4697 Ops/s | 75.3255 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-4096-256] | 26.3337ms | 26.1578ms | 38.2295 Ops/s | 38.3028 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] | 54.6474ms | 54.1401ms | 18.4706 Ops/s | 20.2410 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] | 0.1024s | 0.1018s | 9.8202 Ops/s | 9.9388 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] | 0.1533s | 0.1521s | 6.5758 Ops/s | 7.0978 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] | 0.3300s | 0.3290s | 3.0395 Ops/s | 3.1754 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] | 75.0680ms | 73.0729ms | 13.6850 Ops/s | 13.1904 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] | 0.1469s | 0.1453s | 6.8816 Ops/s | 6.8741 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] | 74.7539ms | 73.0181ms | 13.6952 Ops/s | 13.8802 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] | 0.1585s | 0.1545s | 6.4714 Ops/s | 6.8842 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-128-128] | 29.6988ms | 29.4779ms | 33.9238 Ops/s | 34.1484 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-128-256] | 59.9499ms | 59.7999ms | 16.7224 Ops/s | 16.8395 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-4096-128] | 0.1285s | 0.1279s | 7.8196 Ops/s | 8.5369 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-4096-256] | 0.2761s | 0.2752s | 3.6339 Ops/s | 3.8065 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-128-128] | 42.4895ms | 42.3664ms | 23.6036 Ops/s | 23.5921 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-128-256] | 84.9340ms | 84.7858ms | 11.7944 Ops/s | 11.7909 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-4096-128] | 43.0908ms | 42.6694ms | 23.4360 Ops/s | 23.4470 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-4096-256] | 85.5426ms | 85.3717ms | 11.7135 Ops/s | 11.7282 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] | 20.0781ms | 19.8824ms | 50.2957 Ops/s | 50.0092 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] | 42.7341ms | 41.2890ms | 24.2195 Ops/s | 24.5500 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] | 0.1188s | 0.1159s | 8.6246 Ops/s | 9.5929 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] | 0.2533s | 0.2527s | 3.9566 Ops/s | 4.1799 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] | 36.4688ms | 36.2657ms | 27.5743 Ops/s | 27.4143 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] | 72.7881ms | 72.4981ms | 13.7935 Ops/s | 13.7249 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] | 36.5349ms | 36.1870ms | 27.6343 Ops/s | 27.5186 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] | 77.3304ms | 75.9362ms | 13.1689 Ops/s | 13.6705 Ops/s | |
| test_plain_set_nested | 40.0310μs | 14.7074μs | 67.9930 KOps/s | 68.8398 KOps/s | |
| test_plain_set_stack_nested | 58.0610μs | 14.3991μs | 69.4490 KOps/s | 69.9535 KOps/s | |
| test_plain_set_nested_inplace | 74.4920μs | 15.5812μs | 64.1798 KOps/s | 62.8803 KOps/s | |
| test_plain_set_stack_nested_inplace | 89.0620μs | 15.5351μs | 64.3705 KOps/s | 64.3710 KOps/s | |
| test_items | 29.7910μs | 5.4810μs | 182.4481 KOps/s | 181.5364 KOps/s | |
| test_items_nested | 0.5379ms | 0.4451ms | 2.2464 KOps/s | 2.2456 KOps/s | |
| test_items_nested_locked | 0.5570ms | 0.4501ms | 2.2219 KOps/s | 2.2194 KOps/s | |
| test_items_nested_leaf | 0.1607ms | 93.1427μs | 10.7362 KOps/s | 10.6628 KOps/s | |
| test_items_stack_nested | 0.5111ms | 0.4413ms | 2.2661 KOps/s | 2.2386 KOps/s | |
| test_items_stack_nested_leaf | 0.1343ms | 92.9888μs | 10.7540 KOps/s | 10.6587 KOps/s | |
| test_items_stack_nested_locked | 0.5299ms | 0.4432ms | 2.2563 KOps/s | 2.2452 KOps/s | |
| test_keys | 27.2410μs | 4.1157μs | 242.9703 KOps/s | 239.8685 KOps/s | |
| test_keys_nested | 0.1999ms | 0.1276ms | 7.8343 KOps/s | 7.9655 KOps/s | |
| test_keys_nested_locked | 0.8264ms | 0.1351ms | 7.4022 KOps/s | 7.4409 KOps/s | |
| test_keys_nested_leaf | 0.1607ms | 0.1182ms | 8.4633 KOps/s | 8.5006 KOps/s | |
| test_keys_stack_nested | 0.1663ms | 0.1282ms | 7.8020 KOps/s | 7.9334 KOps/s | |
| test_keys_stack_nested_leaf | 0.1569ms | 0.1188ms | 8.4156 KOps/s | 8.5412 KOps/s | |
| test_keys_stack_nested_locked | 0.2041ms | 0.1351ms | 7.4030 KOps/s | 7.4690 KOps/s | |
| test_values | 4.3781μs | 0.9733μs | 1.0274 MOps/s | 974.8165 KOps/s | |
| test_values_nested | 85.9610μs | 51.5719μs | 19.3904 KOps/s | 19.4994 KOps/s | |
| test_values_nested_locked | 90.6220μs | 53.4219μs | 18.7189 KOps/s | 18.5276 KOps/s | |
| test_values_nested_leaf | 91.8620μs | 59.1178μs | 16.9154 KOps/s | 16.9567 KOps/s | |
| test_values_stack_nested | 90.5020μs | 51.0503μs | 19.5885 KOps/s | 19.4298 KOps/s | |
| test_values_stack_nested_leaf | 0.1029ms | 58.3834μs | 17.1282 KOps/s | 16.9989 KOps/s | |
| test_values_stack_nested_locked | 99.7720μs | 54.1176μs | 18.4783 KOps/s | 18.4278 KOps/s | |
| test_membership | 5.4385μs | 0.7999μs | 1.2501 MOps/s | 1.2896 MOps/s | |
| test_membership_nested | 27.6510μs | 2.8237μs | 354.1486 KOps/s | 356.5754 KOps/s | |
| test_membership_nested_leaf | 17.6455μs | 2.7086μs | 369.1884 KOps/s | 372.6254 KOps/s | |
| test_membership_stacked_nested | 38.8410μs | 2.7394μs | 365.0430 KOps/s | 369.9362 KOps/s | |
| test_membership_stacked_nested_leaf | 32.3210μs | 2.7390μs | 365.1027 KOps/s | 369.3447 KOps/s | |
| test_membership_nested_last | 37.5910μs | 4.2698μs | 234.2032 KOps/s | 235.4971 KOps/s | |
| test_membership_nested_leaf_last | 34.2310μs | 4.2223μs | 236.8373 KOps/s | 233.7955 KOps/s | |
| test_membership_stacked_nested_last | 50.8510μs | 4.0945μs | 244.2308 KOps/s | 245.8474 KOps/s | |
| test_membership_stacked_nested_leaf_last | 45.3910μs | 4.0551μs | 246.6040 KOps/s | 245.8078 KOps/s | |
| test_nested_getleaf | 63.4420μs | 20.4289μs | 48.9503 KOps/s | 49.2310 KOps/s | |
| test_nested_get | 44.2710μs | 19.1664μs | 52.1747 KOps/s | 51.6401 KOps/s | |
| test_stacked_getleaf | 63.4720μs | 20.0108μs | 49.9730 KOps/s | 49.7051 KOps/s | |
| test_stacked_get | 57.6210μs | 19.1931μs | 52.1020 KOps/s | 52.6277 KOps/s | |
| test_nested_getitemleaf | 51.3610μs | 20.9631μs | 47.7029 KOps/s | 47.5064 KOps/s | |
| test_nested_getitem | 85.9120μs | 19.7464μs | 50.6422 KOps/s | 50.2528 KOps/s | |
| test_stacked_getitemleaf | 58.3210μs | 20.4768μs | 48.8357 KOps/s | 48.0859 KOps/s | |
| test_stacked_getitem | 57.5220μs | 19.3881μs | 51.5780 KOps/s | 51.3639 KOps/s | |
| test_lock_nested | 0.5936ms | 0.4797ms | 2.0846 KOps/s | 2.0618 KOps/s | |
| test_lock_stack_nested | 0.6489ms | 0.4862ms | 2.0567 KOps/s | 2.0638 KOps/s | |
| test_unlock_nested | 0.4821ms | 0.3832ms | 2.6097 KOps/s | 2.6339 KOps/s | |
| test_unlock_stack_nested | 0.5621ms | 0.3863ms | 2.5890 KOps/s | 2.6144 KOps/s | |
| test_flatten_speed | 0.2823ms | 0.1159ms | 8.6287 KOps/s | 8.4720 KOps/s | |
| test_unflatten_speed | 0.6474ms | 0.5372ms | 1.8617 KOps/s | 1.8657 KOps/s | |
| test_common_ops | 0.8755ms | 0.7070ms | 1.4144 KOps/s | 1.4711 KOps/s | |
| test_creation | 0.1365ms | 3.0645μs | 326.3212 KOps/s | 335.2914 KOps/s | |
| test_creation_empty | 33.3110μs | 6.7293μs | 148.6045 KOps/s | 151.1765 KOps/s | |
| test_creation_nested_1 | 43.2610μs | 11.0922μs | 90.1538 KOps/s | 91.0168 KOps/s | |
| test_creation_nested_2 | 40.6210μs | 12.8630μs | 77.7425 KOps/s | 78.4626 KOps/s | |
| test_creation_many_keys[10] | 46.7410μs | 20.1236μs | 49.6929 KOps/s | 49.8210 KOps/s | |
| test_creation_many_keys[50] | 0.1273ms | 86.0563μs | 11.6203 KOps/s | 11.5413 KOps/s | |
| test_creation_many_keys[100] | 0.2217ms | 0.1698ms | 5.8896 KOps/s | 5.8602 KOps/s | |
| test_creation_nested_many_keys[10] | 86.2320μs | 43.1683μs | 23.1651 KOps/s | 23.2654 KOps/s | |
| test_creation_nested_many_keys[50] | 0.2387ms | 0.1767ms | 5.6598 KOps/s | 5.7047 KOps/s | |
| test_clone | 41.7910μs | 12.2705μs | 81.4964 KOps/s | 81.8866 KOps/s | |
| test_getitem[int] | 1.5222ms | 14.9316μs | 66.9721 KOps/s | 67.8304 KOps/s | |
| test_getitem[slice_int] | 0.1388ms | 24.4383μs | 40.9194 KOps/s | 42.2156 KOps/s | |
| test_getitem[range] | 0.1759ms | 59.9409μs | 16.6831 KOps/s | 16.6807 KOps/s | |
| test_getitem[tuple] | 0.1405ms | 23.5314μs | 42.4965 KOps/s | 42.4611 KOps/s | |
| test_getitem[list] | 0.1764ms | 55.8453μs | 17.9066 KOps/s | 18.1012 KOps/s | |
| test_setitem_dim[int] | 43.9410μs | 24.4384μs | 40.9192 KOps/s | 40.0492 KOps/s | |
| test_setitem_dim[slice_int] | 63.3920μs | 40.5705μs | 24.6484 KOps/s | 24.1776 KOps/s | |
| test_setitem_dim[range] | 0.1305ms | 90.3578μs | 11.0671 KOps/s | 10.8803 KOps/s | |
| test_setitem_dim[tuple] | 73.5920μs | 38.0746μs | 26.2642 KOps/s | 25.9911 KOps/s | |
| test_setitem | 43.2610μs | 16.4790μs | 60.6833 KOps/s | 61.3144 KOps/s | |
| test_set | 48.2610μs | 15.8808μs | 62.9690 KOps/s | 63.4704 KOps/s | |
| test_set_shared | 0.6926ms | 0.2106ms | 4.7491 KOps/s | 4.7816 KOps/s | |
| test_update | 0.4616ms | 20.6234μs | 48.4885 KOps/s | 48.5436 KOps/s | |
| test_update_nested | 69.3210μs | 31.9586μs | 31.2905 KOps/s | 31.6644 KOps/s | |
| test_update__nested | 0.5346ms | 31.2321μs | 32.0183 KOps/s | 31.3838 KOps/s | |
| test_set_nested | 48.4410μs | 17.6544μs | 56.6431 KOps/s | 58.0995 KOps/s | |
| test_set_nested_new | 63.6010μs | 22.5233μs | 44.3985 KOps/s | 44.6774 KOps/s | |
| test_select | 73.3620μs | 38.1096μs | 26.2401 KOps/s | 25.9973 KOps/s | |
| test_select_nested | 0.1195ms | 70.5198μs | 14.1804 KOps/s | 14.2167 KOps/s | |
| test_exclude_nested | 0.1296ms | 86.1324μs | 11.6100 KOps/s | 11.6550 KOps/s | |
| test_empty[True] | 0.4803ms | 0.3792ms | 2.6372 KOps/s | 2.6187 KOps/s | |
| test_empty[False] | 7.2953μs | 1.3157μs | 760.0295 KOps/s | 739.7141 KOps/s | |
| test_to | 0.1101ms | 70.5301μs | 14.1783 KOps/s | 14.3452 KOps/s | |
| test_to_nonblocking | 0.1203ms | 69.5910μs | 14.3697 KOps/s | 14.5978 KOps/s | |
| test_unbind_speed | 0.4194ms | 0.3272ms | 3.0565 KOps/s | 3.0742 KOps/s | |
| test_unbind_speed_stack0 | 0.3866ms | 0.3245ms | 3.0815 KOps/s | 3.1213 KOps/s | |
| test_unbind_speed_stack1 | 0.1165s | 0.8339ms | 1.1992 KOps/s | 1.2038 KOps/s | |
| test_split | 0.1162s | 1.3831ms | 722.9945 Ops/s | 657.8285 Ops/s | |
| test_chunk | 1.3042ms | 1.1833ms | 845.1000 Ops/s | 839.2718 Ops/s | |
| test_to_cpu_blocking | 0.1357s | 21.8375ms | 45.7927 Ops/s | 51.1208 Ops/s | |
| test_to_cpu_global_sync | 11.4674ms | 11.3805ms | 87.8698 Ops/s | 87.0251 Ops/s | |
| test_to_cpu_event_sync | 12.9197ms | 12.3801ms | 80.7748 Ops/s | 71.1672 Ops/s | |
| test_to_cpu_default | 12.6839ms | 12.3993ms | 80.6496 Ops/s | 79.9695 Ops/s | |
| test_consolidate[False-None] | 4.4224ms | 4.0059ms | 249.6300 Ops/s | 249.1823 Ops/s | |
| test_consolidate[default-None] | 3.1482ms | 2.1813ms | 458.4437 Ops/s | 453.4562 Ops/s | |
| test_consolidate[reduce-overhead-None] | 3.1336ms | 2.1007ms | 476.0357 Ops/s | 469.7286 Ops/s | |
| test_consolidate_njt[False-None] | 5.3206ms | 5.0500ms | 198.0189 Ops/s | 201.7125 Ops/s | |
| test_to[False-False-None] | 2.3127ms | 2.1508ms | 464.9396 Ops/s | 456.3719 Ops/s | |
| test_to[True-False-None] | 2.1962ms | 1.9108ms | 523.3389 Ops/s | 532.6624 Ops/s | |
| test_to[within-False-None] | 6.1639ms | 6.0012ms | 166.6328 Ops/s | 165.0832 Ops/s | |
| test_to[True-default-None] | 10.3897ms | 10.1928ms | 98.1085 Ops/s | 99.2381 Ops/s | |
| test_to_njt[False-False-None] | 7.2793ms | 6.8434ms | 146.1272 Ops/s | 144.4439 Ops/s | |
| test_to_njt[True-False-None] | 4.0543ms | 3.9068ms | 255.9664 Ops/s | 259.7596 Ops/s | |
| test_to_njt[within-False-None] | 9.2560ms | 8.8198ms | 113.3811 Ops/s | 112.7731 Ops/s | |
| test_creation[device0] | 0.4895ms | 0.1180ms | 8.4745 KOps/s | 8.7324 KOps/s | |
| test_creation_from_tensor | 0.5129ms | 0.1157ms | 8.6452 KOps/s | 8.7974 KOps/s | |
| test_add_one[memmap_tensor0] | 39.4310μs | 5.9645μs | 167.6583 KOps/s | 166.2272 KOps/s | |
| test_contiguous[memmap_tensor0] | 29.0510μs | 0.6129μs | 1.6316 MOps/s | 2.1202 MOps/s | |
| test_stack[memmap_tensor0] | 87.0310μs | 4.0566μs | 246.5119 KOps/s | 248.2668 KOps/s | |
| test_memmaptd_index | 1.2433ms | 0.2681ms | 3.7295 KOps/s | 3.7075 KOps/s | |
| test_memmaptd_index_astensor | 0.5151ms | 0.3687ms | 2.7125 KOps/s | 2.7506 KOps/s | |
| test_memmaptd_index_op | 0.9959ms | 0.6124ms | 1.6328 KOps/s | 1.6556 KOps/s | |
| test_serialize_model | 0.1381s | 0.1349s | 7.4150 Ops/s | 3.2621 Ops/s | |
| test_serialize_model_pickle | 1.3472s | 1.2097s | 0.8267 Ops/s | 0.8243 Ops/s | |
| test_serialize_weights | 0.1371s | 0.1355s | 7.3803 Ops/s | 7.4718 Ops/s | |
| test_serialize_weights_returnearly | 64.3532ms | 59.7848ms | 16.7267 Ops/s | 16.1431 Ops/s | |
| test_serialize_weights_pickle | 1.3710s | 1.2159s | 0.8225 Ops/s | 0.7710 Ops/s | |
| test_reshape_pytree | 0.2040ms | 31.2793μs | 31.9700 KOps/s | 32.4585 KOps/s | |
| test_reshape_td | 84.1720μs | 43.8332μs | 22.8138 KOps/s | 22.9476 KOps/s | |
| test_view_pytree | 0.2270ms | 30.5225μs | 32.7627 KOps/s | 32.8491 KOps/s | |
| test_view_td | 0.1450ms | 51.0366μs | 19.5938 KOps/s | 18.9639 KOps/s | |
| test_unbind_pytree | 0.2434ms | 34.3258μs | 29.1326 KOps/s | 28.7564 KOps/s | |
| test_unbind_td | 0.1750ms | 48.4737μs | 20.6297 KOps/s | 20.6606 KOps/s | |
| test_split_pytree | 0.2366ms | 39.5990μs | 25.2531 KOps/s | 25.2625 KOps/s | |
| test_split_td | 0.1146ms | 71.8063μs | 13.9264 KOps/s | 14.4376 KOps/s | |
| test_add_pytree | 0.1925ms | 38.1053μs | 26.2431 KOps/s | 26.4603 KOps/s | |
| test_add_td | 91.6520μs | 50.5534μs | 19.7811 KOps/s | 19.8923 KOps/s | |
| test_compile_add_one_nested[tensordict-compile] | 0.4012ms | 0.2746ms | 3.6420 KOps/s | 3.6539 KOps/s | |
| test_compile_add_one_nested[tensordict-eager] | 0.3206ms | 0.1930ms | 5.1813 KOps/s | 5.1503 KOps/s | |
| test_compile_add_one_nested[pytree-compile] | 0.2079ms | 0.1554ms | 6.4333 KOps/s | 6.6014 KOps/s | |
| test_compile_add_one_nested[pytree-eager] | 0.4937ms | 0.1747ms | 5.7249 KOps/s | 5.7248 KOps/s | |
| test_compile_copy_nested[tensordict-compile] | 67.6310μs | 21.5571μs | 46.3884 KOps/s | 48.0546 KOps/s | |
| test_compile_copy_nested[tensordict-eager] | 0.2905ms | 50.7170μs | 19.7173 KOps/s | 19.4466 KOps/s | |
| test_compile_copy_nested[pytree-compile] | 0.1211ms | 19.5135μs | 51.2465 KOps/s | 52.0772 KOps/s | |
| test_compile_copy_nested[pytree-eager] | 0.3759ms | 63.7049μs | 15.6974 KOps/s | 15.6604 KOps/s | |
| test_compile_add_one_flat[tensordict-compile] | 0.4587ms | 0.3046ms | 3.2826 KOps/s | 3.1047 KOps/s | |
| test_compile_add_one_flat[tensordict-eager] | 0.3507ms | 0.2844ms | 3.5164 KOps/s | 3.5061 KOps/s | |
| test_compile_add_one_flat[tensorclass-compile] | 0.2967ms | 0.2138ms | 4.6783 KOps/s | 4.7106 KOps/s | |
| test_compile_add_one_flat[tensorclass-eager] | 0.1284ms | 75.2968μs | 13.2808 KOps/s | 13.2946 KOps/s | |
| test_compile_add_one_flat[pytree-compile] | 0.4683ms | 0.2412ms | 4.1456 KOps/s | 4.1946 KOps/s | |
| test_compile_add_one_flat[pytree-eager] | 0.8171ms | 0.5272ms | 1.8969 KOps/s | 1.9043 KOps/s | |
| test_compile_add_self_flat[tensordict-eager] | 0.3990ms | 0.3309ms | 3.0219 KOps/s | 2.9826 KOps/s | |
| test_compile_add_self_flat[tensordict-compile] | 0.4035ms | 0.3039ms | 3.2903 KOps/s | 3.1215 KOps/s | |
| test_compile_add_self_flat[tensorclass-eager] | 0.1581ms | 89.8301μs | 11.1321 KOps/s | 10.7071 KOps/s | |
| test_compile_add_self_flat[tensorclass-compile] | 0.2798ms | 0.2141ms | 4.6713 KOps/s | 4.5794 KOps/s | |
| test_compile_add_self_flat[pytree-eager] | 0.6694ms | 0.4493ms | 2.2255 KOps/s | 2.2359 KOps/s | |
| test_compile_add_self_flat[pytree-compile] | 0.5063ms | 0.2393ms | 4.1794 KOps/s | 4.1628 KOps/s | |
| test_compile_copy_flat[tensordict-compile] | 90.2820μs | 25.7809μs | 38.7884 KOps/s | 35.5967 KOps/s | |
| test_compile_copy_flat[tensordict-eager] | 0.1045ms | 39.6853μs | 25.1982 KOps/s | 24.8768 KOps/s | |
| test_compile_copy_flat[pytree-compile] | 0.1444ms | 24.9000μs | 40.1607 KOps/s | 39.1965 KOps/s | |
| test_compile_copy_flat[pytree-eager] | 0.3224ms | 49.8132μs | 20.0750 KOps/s | 19.7428 KOps/s | |
| test_compile_assign_and_add[tensordict-compile] | 2.0272ms | 0.2525ms | 3.9597 KOps/s | 3.5417 KOps/s | |
| test_compile_assign_and_add[tensordict-eager] | 3.4300ms | 3.3060ms | 302.4799 Ops/s | 294.5042 Ops/s | |
| test_compile_assign_and_add[pytree-compile] | 1.9066ms | 0.1950ms | 5.1272 KOps/s | 5.1573 KOps/s | |
| test_compile_assign_and_add[pytree-eager] | 3.0070ms | 2.7896ms | 358.4765 Ops/s | 354.6403 Ops/s | |
| test_compile_indexing[tensor-tensordict-compile] | 0.2383ms | 0.1583ms | 6.3165 KOps/s | 6.5251 KOps/s | |
| test_compile_indexing[tensor-tensordict-eager] | 0.3828ms | 73.4403μs | 13.6165 KOps/s | 13.8422 KOps/s | |
| test_compile_indexing[tensor-tensorclass-compile] | 0.2664ms | 0.1360ms | 7.3503 KOps/s | 7.5526 KOps/s | |
| test_compile_indexing[tensor-tensorclass-eager] | 0.3102ms | 42.7752μs | 23.3780 KOps/s | 22.9582 KOps/s | |
| test_compile_indexing[tensor-pytree-compile] | 0.1747ms | 0.1358ms | 7.3656 KOps/s | 7.4411 KOps/s | |
| test_compile_indexing[tensor-pytree-eager] | 0.2477ms | 42.7273μs | 23.4043 KOps/s | 22.9182 KOps/s | |
| test_compile_indexing[slice-tensordict-compile] | 0.2077ms | 89.2440μs | 11.2052 KOps/s | 10.9498 KOps/s | |
| test_compile_indexing[slice-tensordict-eager] | 0.2073ms | 27.4937μs | 36.3720 KOps/s | 37.4677 KOps/s | |
| test_compile_indexing[slice-tensorclass-compile] | 0.2050ms | 69.9712μs | 14.2916 KOps/s | 13.9942 KOps/s | |
| test_compile_indexing[slice-tensorclass-eager] | 0.2526ms | 21.3680μs | 46.7990 KOps/s | 48.4157 KOps/s | |
| test_compile_indexing[slice-pytree-compile] | 0.1076ms | 71.3633μs | 14.0128 KOps/s | 14.1399 KOps/s | |
| test_compile_indexing[slice-pytree-eager] | 0.2915ms | 21.2226μs | 47.1195 KOps/s | 47.6828 KOps/s | |
| test_compile_indexing[int-tensordict-compile] | 0.1246ms | 87.5859μs | 11.4174 KOps/s | 11.2565 KOps/s | |
| test_compile_indexing[int-tensordict-eager] | 0.2839ms | 27.3072μs | 36.6204 KOps/s | 37.4975 KOps/s | |
| test_compile_indexing[int-tensorclass-compile] | 0.1044ms | 70.7941μs | 14.1255 KOps/s | 14.3358 KOps/s | |
| test_compile_indexing[int-tensorclass-eager] | 0.2555ms | 21.3161μs | 46.9129 KOps/s | 48.0307 KOps/s | |
| test_compile_indexing[int-pytree-compile] | 0.1081ms | 73.6376μs | 13.5800 KOps/s | 14.2709 KOps/s | |
| test_compile_indexing[int-pytree-eager] | 0.2632ms | 21.4028μs | 46.7228 KOps/s | 47.9956 KOps/s | |
| test_compile_replace[single-eager] | 86.5710μs | 48.1627μs | 20.7629 KOps/s | 21.2768 KOps/s | |
| test_compile_replace[single-compile] | 0.2532ms | 0.1452ms | 6.8867 KOps/s | 6.8678 KOps/s | |
| test_compile_replace[multi-eager] | 0.6365ms | 0.5562ms | 1.7978 KOps/s | 1.7950 KOps/s | |
| test_compile_replace[multi-compile] | 0.2210ms | 0.1563ms | 6.3979 KOps/s | 6.2867 KOps/s | |
| test_compile_tc_getattr_20[eager] | 0.2336ms | 0.1721ms | 5.8120 KOps/s | 5.8228 KOps/s | |
| test_compile_tc_getattr_20[compile] | 0.3532ms | 0.1735ms | 5.7649 KOps/s | 5.7482 KOps/s | |
| test_compile_clone_shallow[20-eager] | 57.1410μs | 18.6275μs | 53.6841 KOps/s | 53.6621 KOps/s | |
| test_compile_clone_shallow[20-compile] | 85.5420μs | 23.2184μs | 43.0694 KOps/s | 44.9866 KOps/s | |
| test_compile_clone_shallow[40-eager] | 74.6310μs | 32.8043μs | 30.4838 KOps/s | 30.7233 KOps/s | |
| test_compile_clone_shallow[40-compile] | 0.1204ms | 26.6080μs | 37.5827 KOps/s | 40.7411 KOps/s | |
| test_compile_clone_shallow[80-eager] | 94.1320μs | 60.7520μs | 16.4604 KOps/s | 16.4163 KOps/s | |
| test_compile_clone_shallow[80-compile] | 78.7920μs | 29.5517μs | 33.8390 KOps/s | 34.9214 KOps/s | |
| test_compile_update_inplace[eager] | 0.1574ms | 59.6010μs | 16.7783 KOps/s | 16.5480 KOps/s | |
| test_compile_update_inplace[compile] | 0.4070ms | 0.1237ms | 8.0831 KOps/s | 8.3728 KOps/s | |
| test_mod_add[eager] | 0.2645ms | 0.2193ms | 4.5589 KOps/s | 4.5534 KOps/s | |
| test_mod_add[compile] | 0.1928ms | 0.1191ms | 8.3973 KOps/s | 8.4717 KOps/s | |
| test_mod_add[compile-overhead] | 0.2779ms | 0.1948ms | 5.1332 KOps/s | 5.0779 KOps/s | |
| test_mod_wrap[eager] | 0.5518ms | 0.4605ms | 2.1718 KOps/s | 2.1697 KOps/s | |
| test_mod_wrap[compile] | 0.4317ms | 0.3510ms | 2.8493 KOps/s | 2.9344 KOps/s | |
| test_mod_wrap[compile-overhead] | 7.9685ms | 4.3015ms | 232.4766 Ops/s | 253.9003 Ops/s | |
| test_mod_wrap_and_backward[eager] | 2.2129ms | 1.6479ms | 606.8212 Ops/s | 610.8968 Ops/s | |
| test_mod_wrap_and_backward[compile] | 1.7402ms | 1.4011ms | 713.7232 Ops/s | 758.6400 Ops/s | |
| test_mod_wrap_and_backward[compile-overhead] | 1.5325ms | 0.9295ms | 1.0758 KOps/s | 1.0585 KOps/s | |
| test_seq_add[eager] | 0.5933ms | 0.4917ms | 2.0340 KOps/s | 2.0421 KOps/s | |
| test_seq_add[compile] | 0.2629ms | 0.1316ms | 7.5978 KOps/s | 7.5331 KOps/s | |
| test_seq_add[compile-overhead] | 0.2803ms | 0.2101ms | 4.7604 KOps/s | 4.8797 KOps/s | |
| test_seq_wrap[eager] | 1.4719ms | 1.3796ms | 724.8625 Ops/s | 726.6171 Ops/s | |
| test_seq_wrap[compile] | 0.4215ms | 0.3585ms | 2.7893 KOps/s | 2.6753 KOps/s | |
| test_seq_wrap[compile-overhead] | 0.4593ms | 0.3203ms | 3.1218 KOps/s | 3.1650 KOps/s | |
| test_func_call_runtime[False-eager] | 0.9251ms | 0.8436ms | 1.1854 KOps/s | 1.2722 KOps/s | |
| test_func_call_runtime[False-compile] | 0.8795ms | 0.7532ms | 1.3277 KOps/s | 1.3392 KOps/s | |
| test_func_call_runtime[False-compile-overhead] | 0.6713ms | 0.4996ms | 2.0014 KOps/s | 2.0153 KOps/s | |
| test_func_call_runtime[True-eager] | 1.1388ms | 1.0353ms | 965.8736 Ops/s | 966.3137 Ops/s | |
| test_func_call_runtime[True-compile] | 0.8383ms | 0.7618ms | 1.3127 KOps/s | 1.3130 KOps/s | |
| test_func_call_runtime[True-compile-overhead] | 0.7009ms | 0.5162ms | 1.9374 KOps/s | 1.9376 KOps/s | |
| test_func_call_cm_runtime[False-eager] | 0.9326ms | 0.8102ms | 1.2343 KOps/s | 1.2685 KOps/s | |
| test_func_call_cm_runtime[False-compile] | 0.8852ms | 0.7291ms | 1.3715 KOps/s | 1.3270 KOps/s | |
| test_func_call_cm_runtime[False-compile-overhead] | 0.5614ms | 0.4748ms | 2.1062 KOps/s | 2.0957 KOps/s | |
| test_func_call_cm_runtime[True-eager] | 1.3372ms | 1.1801ms | 847.3578 Ops/s | 840.7244 Ops/s | |
| test_func_call_cm_runtime[True-compile] | 0.9425ms | 0.8370ms | 1.1948 KOps/s | 1.1911 KOps/s | |
| test_func_call_cm_runtime[True-compile-overhead] | 1.2096ms | 0.8384ms | 1.1927 KOps/s | 1.2039 KOps/s | |
| test_vmap_func_call_cm_runtime[eager] | 3.0832ms | 2.6126ms | 382.7616 Ops/s | 380.3194 Ops/s | |
| test_vmap_func_call_cm_runtime[compile] | 4.0898ms | 3.6003ms | 277.7509 Ops/s | 277.4744 Ops/s | |
| test_vmap_func_call_cm_runtime[compile-overhead] | 4.0783ms | 3.6032ms | 277.5285 Ops/s | 277.5944 Ops/s | |
| test_distributed | 1.6011ms | 0.1589ms | 6.2928 KOps/s | 6.9780 KOps/s | |
| test_tdmodule | 0.5059ms | 0.1881ms | 5.3177 KOps/s | 5.3136 KOps/s | |
| test_tdmodule_dispatch | 0.3973ms | 0.3597ms | 2.7804 KOps/s | 2.7564 KOps/s | |
| test_tdseq | 44.8410μs | 26.0684μs | 38.3606 KOps/s | 38.3502 KOps/s | |
| test_tdseq_dispatch | 0.2506ms | 0.2099ms | 4.7636 KOps/s | 4.7340 KOps/s | |
| test_instantiation_functorch | 2.0733ms | 1.9428ms | 514.7220 Ops/s | 514.5116 Ops/s | |
| test_exec_functorch | 0.2515ms | 0.1680ms | 5.9528 KOps/s | 5.9351 KOps/s | |
| test_exec_functional_call | 0.2075ms | 0.1512ms | 6.6135 KOps/s | 6.6536 KOps/s | |
| test_exec_td_decorator | 0.4982ms | 0.2343ms | 4.2686 KOps/s | 4.2400 KOps/s | |
| test_vmap_mlp_speed_decorator[True-True] | 1.2618ms | 1.0934ms | 914.6042 Ops/s | 912.2556 Ops/s | |
| test_vmap_mlp_speed_decorator[True-False] | 1.2976ms | 1.0867ms | 920.2577 Ops/s | 917.7064 Ops/s | |
| test_vmap_mlp_speed_decorator[False-True] | 0.9991ms | 0.8002ms | 1.2498 KOps/s | 1.2446 KOps/s | |
| test_vmap_mlp_speed_decorator[False-False] | 1.0362ms | 0.7967ms | 1.2552 KOps/s | 1.2486 KOps/s | |
| test_vmap_transformer_speed_decorator[True-True] | 26.9322ms | 24.6532ms | 40.5626 Ops/s | 40.8084 Ops/s | |
| test_vmap_transformer_speed_decorator[True-False] | 24.6958ms | 24.5109ms | 40.7981 Ops/s | 40.8594 Ops/s | |
| test_vmap_transformer_speed_decorator[False-True] | 24.3419ms | 24.1417ms | 41.4221 Ops/s | 41.4322 Ops/s | |
| test_vmap_transformer_speed_decorator[False-False] | 24.2896ms | 24.0882ms | 41.5141 Ops/s | 41.4785 Ops/s | |
| test_to_module_speed[True] | 1.6859ms | 1.5451ms | 647.2280 Ops/s | 626.1310 Ops/s | |
| test_to_module_speed[False] | 1.6385ms | 1.5260ms | 655.3052 Ops/s | 632.4160 Ops/s | |
| test_to_module_plain_tensor_speed[None] | 2.2814ms | 1.6372ms | 610.7870 Ops/s | 589.3178 Ops/s | |
| test_to_module_plain_tensor_speed[False] | 2.0505ms | 1.4881ms | 672.0135 Ops/s | 656.0463 Ops/s | |
| test_to_module_plain_tensor_speed[True] | 3.5186ms | 3.1910ms | 313.3791 Ops/s | 306.7175 Ops/s | |
| test_tc_init | 76.7320μs | 43.4132μs | 23.0345 KOps/s | 23.5745 KOps/s | |
| test_tc_init_tensor_only | 42.9010μs | 9.2450μs | 108.1669 KOps/s | 111.5957 KOps/s | |
| test_tc_init_nested | 0.1225ms | 85.4381μs | 11.7044 KOps/s | 12.0187 KOps/s | |
| test_tc_init_many_fields | 52.3510μs | 17.0377μs | 58.6935 KOps/s | 60.6790 KOps/s | |
| test_tc_first_layer_tensor | 30.7700μs | 1.6936μs | 590.4493 KOps/s | 595.0115 KOps/s | |
| test_tc_first_layer_tensor_only | 2.4734μs | 0.3913μs | 2.5556 MOps/s | 2.5736 MOps/s | |
| test_tc_first_layer_tensor_set | 34.4400μs | 4.0171μs | 248.9341 KOps/s | 249.5501 KOps/s | |
| test_tc_first_layer_tensor_only_set | 37.3510μs | 3.3610μs | 297.5269 KOps/s | 294.3138 KOps/s | |
| test_tc_first_layer_nontensor | 27.2310μs | 5.8137μs | 172.0078 KOps/s | 172.4627 KOps/s | |
| test_tc_second_layer_tensor | 33.1710μs | 4.1830μs | 239.0634 KOps/s | 253.8748 KOps/s | |
| test_tc_second_layer_nontensor | 38.0510μs | 8.2462μs | 121.2682 KOps/s | 122.8558 KOps/s | |
| test_unbind | 0.2874s | 13.6798ms | 73.1004 Ops/s | 71.0456 Ops/s | |
| test_full_like | 4.5937ms | 4.3904ms | 227.7700 Ops/s | 229.4524 Ops/s | |
| test_zeros_like | 4.5482ms | 4.3693ms | 228.8687 Ops/s | 229.9852 Ops/s | |
| test_ones_like | 4.4944ms | 4.3717ms | 228.7440 Ops/s | 229.9083 Ops/s | |
| test_clone | 6.6503ms | 6.4447ms | 155.1654 Ops/s | 155.9562 Ops/s | |
| test_squeeze | 74.3620μs | 13.5150μs | 73.9921 KOps/s | 74.6164 KOps/s | |
| test_unsqueeze | 0.2901ms | 0.1104ms | 9.0539 KOps/s | 9.2259 KOps/s | |
| test_split | 0.2580ms | 0.1859ms | 5.3795 KOps/s | 5.4924 KOps/s | |
| test_permute | 0.2451ms | 0.1905ms | 5.2503 KOps/s | 5.2966 KOps/s | |
| test_stack | 18.4137ms | 18.1921ms | 54.9688 Ops/s | 55.4053 Ops/s | |
| test_cat | 18.6840ms | 18.1774ms | 55.0135 Ops/s | 55.5503 Ops/s | |
| test_sequential_tensordict | 0.6865ms | 0.5493ms | 1.8205 KOps/s | 1.7983 KOps/s | |
| test_sequential_graph_module | 0.1650ms | 0.1119ms | 8.9365 KOps/s | 8.8119 KOps/s | |
| test_nested_tensordict | 0.8999ms | 0.7903ms | 1.2653 KOps/s | 1.2794 KOps/s | |
| test_nested_graph_module | 0.1864ms | 0.1193ms | 8.3855 KOps/s | 8.4758 KOps/s |
Contributor
|
| Name | Max | Mean | Ops | Ops on Repo HEAD
|
Change |
|---|---|---|---|---|---|
| test_collector_preallocated_write[stack_out-cpu-32-2] | 0.2039ms | 0.1666ms | 6.0042 KOps/s | 6.0718 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-32-8] | 0.3974ms | 0.2948ms | 3.3922 KOps/s | 3.3718 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-32-32] | 0.8791ms | 0.7825ms | 1.2779 KOps/s | 1.2680 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-2] | 0.3893ms | 0.3344ms | 2.9904 KOps/s | 2.9639 KOps/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-8] | 1.3667ms | 1.2010ms | 832.6715 Ops/s | 896.2992 Ops/s | |
| test_collector_preallocated_write[stack_out-cpu-4096-32] | 8.0232ms | 7.6168ms | 131.2895 Ops/s | 130.2980 Ops/s | |
| test_collector_preallocated_write[stack_out-cuda-32-2] | 0.3529ms | 0.2559ms | 3.9079 KOps/s | 3.9862 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-32-8] | 0.4302ms | 0.3695ms | 2.7067 KOps/s | 2.6346 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-32-32] | 0.9343ms | 0.8262ms | 1.2104 KOps/s | 1.2053 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-2] | 0.3947ms | 0.2477ms | 4.0364 KOps/s | 3.9981 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-8] | 0.5174ms | 0.3691ms | 2.7097 KOps/s | 2.6404 KOps/s | |
| test_collector_preallocated_write[stack_out-cuda-4096-32] | 0.9803ms | 0.8862ms | 1.1285 KOps/s | 1.1046 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-2] | 0.2657ms | 0.2080ms | 4.8067 KOps/s | 4.7506 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-8] | 0.8831ms | 0.8116ms | 1.2321 KOps/s | 1.2316 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-32-32] | 3.3501ms | 3.1955ms | 312.9402 Ops/s | 309.8055 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-2] | 0.5319ms | 0.3754ms | 2.6640 KOps/s | 2.6828 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-8] | 2.0095ms | 1.8125ms | 551.7197 Ops/s | 572.1622 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cpu-4096-32] | 10.9713ms | 10.5811ms | 94.5083 Ops/s | 92.0050 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-2] | 0.4662ms | 0.4006ms | 2.4960 KOps/s | 2.5205 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-8] | 1.7712ms | 1.4503ms | 689.5100 Ops/s | 684.8796 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-32-32] | 5.8036ms | 5.6287ms | 177.6600 Ops/s | 174.8459 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-2] | 0.4593ms | 0.3875ms | 2.5807 KOps/s | 2.5606 KOps/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-8] | 1.5511ms | 1.4497ms | 689.8060 Ops/s | 683.8941 Ops/s | |
| test_collector_preallocated_write[set_at_loop-cuda-4096-32] | 5.9035ms | 5.6805ms | 176.0413 Ops/s | 174.4599 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-32-2] | 0.2149ms | 0.1683ms | 5.9419 KOps/s | 5.9026 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-32-8] | 0.7658ms | 0.6574ms | 1.5212 KOps/s | 1.5196 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-32-32] | 2.7023ms | 2.6100ms | 383.1406 Ops/s | 383.4960 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-2] | 0.4031ms | 0.3118ms | 3.2069 KOps/s | 3.1677 KOps/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-8] | 1.9163ms | 1.5656ms | 638.7472 Ops/s | 641.3495 Ops/s | |
| test_collector_preallocated_write[copy_at-cpu-4096-32] | 10.0282ms | 9.7391ms | 102.6792 Ops/s | 99.5962 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-32-2] | 0.5044ms | 0.3226ms | 3.1001 KOps/s | 3.0721 KOps/s | |
| test_collector_preallocated_write[copy_at-cuda-32-8] | 1.3244ms | 1.2002ms | 833.2275 Ops/s | 823.5967 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-32-32] | 4.8825ms | 4.6855ms | 213.4230 Ops/s | 210.4866 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-2] | 0.3794ms | 0.3241ms | 3.0858 KOps/s | 3.0555 KOps/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-8] | 1.3614ms | 1.2091ms | 827.0493 Ops/s | 822.1589 Ops/s | |
| test_collector_preallocated_write[copy_at-cuda-4096-32] | 4.8824ms | 4.7326ms | 211.2987 Ops/s | 214.2318 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-2] | 0.1583ms | 0.1199ms | 8.3402 KOps/s | 8.6553 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-8] | 0.6397ms | 0.4719ms | 2.1190 KOps/s | 2.1874 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-32-32] | 1.9693ms | 1.8809ms | 531.6529 Ops/s | 548.4403 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-2] | 0.3642ms | 0.2622ms | 3.8134 KOps/s | 3.8227 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-8] | 1.5479ms | 1.3313ms | 751.1481 Ops/s | 799.0378 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cpu-4096-32] | 9.4523ms | 8.9599ms | 111.6081 Ops/s | 109.1281 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-2] | 0.4489ms | 0.2761ms | 3.6220 KOps/s | 3.7719 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-8] | 1.2094ms | 1.0209ms | 979.5466 Ops/s | 989.9621 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-32-32] | 4.1261ms | 4.0012ms | 249.9229 Ops/s | 253.7771 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-2] | 0.3436ms | 0.2748ms | 3.6392 KOps/s | 3.7404 KOps/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-8] | 1.0890ms | 1.0218ms | 978.6733 Ops/s | 990.5179 Ops/s | |
| test_collector_preallocated_write[manual_leaf_copy-cuda-4096-32] | 4.2758ms | 4.1367ms | 241.7412 Ops/s | 250.5770 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-128-128] | 17.2464ms | 16.6618ms | 60.0175 Ops/s | 59.6535 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-128-256] | 33.9321ms | 33.6697ms | 29.7003 Ops/s | 29.2794 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-4096-128] | 87.3174ms | 86.5421ms | 11.5551 Ops/s | 10.4428 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cpu-4096-256] | 0.2061s | 0.2047s | 4.8846 Ops/s | 4.6670 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-128-128] | 13.9907ms | 13.8444ms | 72.2313 Ops/s | 72.4687 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-128-256] | 27.1423ms | 27.0249ms | 37.0030 Ops/s | 36.9844 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-4096-128] | 14.0084ms | 13.9283ms | 71.7963 Ops/s | 71.3505 Ops/s | |
| test_wide_nested_preallocated_write[stack_out-cuda-4096-256] | 27.4218ms | 27.2936ms | 36.6387 Ops/s | 36.3555 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-128-128] | 54.2249ms | 52.5731ms | 19.0211 Ops/s | 19.7922 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-128-256] | 0.1046s | 0.1042s | 9.5972 Ops/s | 9.7914 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-4096-128] | 0.1573s | 0.1530s | 6.5374 Ops/s | 6.5890 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cpu-4096-256] | 0.3361s | 0.3349s | 2.9860 Ops/s | 3.0349 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-128-128] | 78.2118ms | 75.7143ms | 13.2075 Ops/s | 13.8919 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-128-256] | 0.1533s | 0.1531s | 6.5301 Ops/s | 6.9176 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-4096-128] | 77.3201ms | 74.7773ms | 13.3730 Ops/s | 13.7844 Ops/s | |
| test_wide_nested_preallocated_write[set_at_loop-cuda-4096-256] | 0.1698s | 0.1525s | 6.5581 Ops/s | 6.9192 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-128-128] | 30.2450ms | 30.1124ms | 33.2089 Ops/s | 32.6169 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-128-256] | 61.1915ms | 61.0474ms | 16.3807 Ops/s | 16.1240 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-4096-128] | 0.1218s | 0.1206s | 8.2951 Ops/s | 8.0133 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cpu-4096-256] | 0.2832s | 0.2823s | 3.5420 Ops/s | 3.5161 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-128-128] | 43.7257ms | 43.4419ms | 23.0193 Ops/s | 22.9993 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-128-256] | 87.1871ms | 86.9787ms | 11.4971 Ops/s | 11.4899 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-4096-128] | 44.1348ms | 43.9190ms | 22.7692 Ops/s | 22.7752 Ops/s | |
| test_wide_nested_preallocated_write[copy_at-cuda-4096-256] | 87.8542ms | 87.3833ms | 11.4438 Ops/s | 11.3483 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-128] | 20.5527ms | 20.3832ms | 49.0600 Ops/s | 49.6463 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-128-256] | 41.9197ms | 41.6659ms | 24.0004 Ops/s | 24.3328 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-128] | 0.1109s | 0.1089s | 9.1812 Ops/s | 8.8231 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cpu-4096-256] | 0.2562s | 0.2540s | 3.9372 Ops/s | 3.8295 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-128] | 38.4190ms | 38.2483ms | 26.1450 Ops/s | 27.3202 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-128-256] | 76.0803ms | 73.3824ms | 13.6272 Ops/s | 13.9308 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-128] | 36.8110ms | 36.5654ms | 27.3483 Ops/s | 27.6470 Ops/s | |
| test_wide_nested_preallocated_write[manual_leaf_copy-cuda-4096-256] | 73.3030ms | 72.7766ms | 13.7407 Ops/s | 13.9429 Ops/s | |
| test_plain_set_nested | 39.5800μs | 14.9526μs | 66.8778 KOps/s | 66.2056 KOps/s | |
| test_plain_set_stack_nested | 64.0610μs | 14.6916μs | 68.0659 KOps/s | 67.8693 KOps/s | |
| test_plain_set_nested_inplace | 57.5700μs | 16.2346μs | 61.5970 KOps/s | 60.3684 KOps/s | |
| test_plain_set_stack_nested_inplace | 56.3100μs | 15.9578μs | 62.6654 KOps/s | 62.1631 KOps/s | |
| test_items | 35.4910μs | 5.9495μs | 168.0819 KOps/s | 163.5744 KOps/s | |
| test_items_nested | 0.5151ms | 0.4616ms | 2.1663 KOps/s | 2.1582 KOps/s | |
| test_items_nested_locked | 0.5730ms | 0.4623ms | 2.1633 KOps/s | 2.1338 KOps/s | |
| test_items_nested_leaf | 0.1507ms | 97.0398μs | 10.3050 KOps/s | 10.1413 KOps/s | |
| test_items_stack_nested | 0.6465ms | 0.4619ms | 2.1651 KOps/s | 2.1567 KOps/s | |
| test_items_stack_nested_leaf | 0.1682ms | 95.1340μs | 10.5115 KOps/s | 10.2657 KOps/s | |
| test_items_stack_nested_locked | 0.5845ms | 0.4584ms | 2.1815 KOps/s | 2.1188 KOps/s | |
| test_keys | 33.8100μs | 4.1527μs | 240.8085 KOps/s | 235.1392 KOps/s | |
| test_keys_nested | 0.1772ms | 0.1288ms | 7.7636 KOps/s | 7.8480 KOps/s | |
| test_keys_nested_locked | 0.7936ms | 0.1374ms | 7.2801 KOps/s | 7.2792 KOps/s | |
| test_keys_nested_leaf | 0.1548ms | 0.1194ms | 8.3754 KOps/s | 8.4234 KOps/s | |
| test_keys_stack_nested | 0.1752ms | 0.1286ms | 7.7766 KOps/s | 7.8541 KOps/s | |
| test_keys_stack_nested_leaf | 0.2080ms | 0.1186ms | 8.4335 KOps/s | 8.3857 KOps/s | |
| test_keys_stack_nested_locked | 0.1949ms | 0.1370ms | 7.2986 KOps/s | 7.3790 KOps/s | |
| test_values | 5.8800μs | 1.0243μs | 976.2417 KOps/s | 937.2777 KOps/s | |
| test_values_nested | 79.2100μs | 51.9725μs | 19.2409 KOps/s | 19.0437 KOps/s | |
| test_values_nested_locked | 0.1071ms | 54.9308μs | 18.2047 KOps/s | 17.8728 KOps/s | |
| test_values_nested_leaf | 0.1104ms | 59.0372μs | 16.9385 KOps/s | 16.6274 KOps/s | |
| test_values_stack_nested | 84.9210μs | 51.9339μs | 19.2552 KOps/s | 19.1077 KOps/s | |
| test_values_stack_nested_leaf | 94.3610μs | 59.8761μs | 16.7011 KOps/s | 16.7041 KOps/s | |
| test_values_stack_nested_locked | 0.1017ms | 55.1330μs | 18.1380 KOps/s | 17.9340 KOps/s | |
| test_membership | 5.5168μs | 0.8312μs | 1.2031 MOps/s | 1.1525 MOps/s | |
| test_membership_nested | 36.8800μs | 2.8982μs | 345.0412 KOps/s | 326.5616 KOps/s | |
| test_membership_nested_leaf | 36.8210μs | 2.8918μs | 345.8031 KOps/s | 329.5357 KOps/s | |
| test_membership_stacked_nested | 35.9500μs | 2.8210μs | 354.4903 KOps/s | 335.6099 KOps/s | |
| test_membership_stacked_nested_leaf | 46.4800μs | 2.7728μs | 360.6510 KOps/s | 338.9109 KOps/s | |
| test_membership_nested_last | 26.8600μs | 4.3830μs | 228.1561 KOps/s | 218.2358 KOps/s | |
| test_membership_nested_leaf_last | 33.8400μs | 4.3680μs | 228.9353 KOps/s | 221.9712 KOps/s | |
| test_membership_stacked_nested_last | 34.5400μs | 4.2176μs | 237.1017 KOps/s | 230.1726 KOps/s | |
| test_membership_stacked_nested_leaf_last | 54.2810μs | 4.1697μs | 239.8268 KOps/s | 228.8804 KOps/s | |
| test_nested_getleaf | 84.7410μs | 20.8136μs | 48.0455 KOps/s | 46.6874 KOps/s | |
| test_nested_get | 52.0110μs | 19.9597μs | 50.1009 KOps/s | 49.2646 KOps/s | |
| test_stacked_getleaf | 61.7210μs | 20.8540μs | 47.9525 KOps/s | 48.4755 KOps/s | |
| test_stacked_get | 63.5410μs | 20.0117μs | 49.9706 KOps/s | 50.0453 KOps/s | |
| test_nested_getitemleaf | 47.8900μs | 21.6726μs | 46.1413 KOps/s | 45.6304 KOps/s | |
| test_nested_getitem | 59.7300μs | 20.4774μs | 48.8343 KOps/s | 48.3755 KOps/s | |
| test_stacked_getitemleaf | 75.4600μs | 20.8802μs | 47.8922 KOps/s | 46.5584 KOps/s | |
| test_stacked_getitem | 61.8000μs | 20.0529μs | 49.8680 KOps/s | 49.1100 KOps/s | |
| test_lock_nested | 0.5945ms | 0.4996ms | 2.0017 KOps/s | 1.9933 KOps/s | |
| test_lock_stack_nested | 0.6389ms | 0.5069ms | 1.9729 KOps/s | 1.9490 KOps/s | |
| test_unlock_nested | 0.5059ms | 0.3962ms | 2.5242 KOps/s | 2.5351 KOps/s | |
| test_unlock_stack_nested | 0.6699ms | 0.4004ms | 2.4975 KOps/s | 2.4690 KOps/s | |
| test_flatten_speed | 0.3123ms | 0.1232ms | 8.1162 KOps/s | 8.0170 KOps/s | |
| test_unflatten_speed | 0.6600ms | 0.5559ms | 1.7988 KOps/s | 1.7593 KOps/s | |
| test_common_ops | 0.8314ms | 0.6939ms | 1.4411 KOps/s | 1.4221 KOps/s | |
| test_creation | 0.1521ms | 3.1500μs | 317.4623 KOps/s | 312.9590 KOps/s | |
| test_creation_empty | 35.0210μs | 6.9417μs | 144.0564 KOps/s | 142.5312 KOps/s | |
| test_creation_nested_1 | 38.0000μs | 11.3884μs | 87.8085 KOps/s | 86.1210 KOps/s | |
| test_creation_nested_2 | 43.4610μs | 13.3880μs | 74.6937 KOps/s | 73.9129 KOps/s | |
| test_creation_many_keys[10] | 46.5010μs | 21.0798μs | 47.4387 KOps/s | 46.5398 KOps/s | |
| test_creation_many_keys[50] | 0.1212ms | 90.6035μs | 11.0371 KOps/s | 10.8397 KOps/s | |
| test_creation_many_keys[100] | 0.2309ms | 0.1773ms | 5.6388 KOps/s | 5.5581 KOps/s | |
| test_creation_nested_many_keys[10] | 76.3810μs | 45.4536μs | 22.0005 KOps/s | 21.8976 KOps/s | |
| test_creation_nested_many_keys[50] | 0.2306ms | 0.1846ms | 5.4161 KOps/s | 5.3765 KOps/s | |
| test_clone | 40.8000μs | 12.9738μs | 77.0781 KOps/s | 77.6013 KOps/s | |
| test_getitem[int] | 1.6124ms | 15.3642μs | 65.0862 KOps/s | 65.5716 KOps/s | |
| test_getitem[slice_int] | 0.1441ms | 24.7225μs | 40.4491 KOps/s | 40.6084 KOps/s | |
| test_getitem[range] | 0.1762ms | 62.2567μs | 16.0625 KOps/s | 16.3043 KOps/s | |
| test_getitem[tuple] | 0.1471ms | 23.6860μs | 42.2191 KOps/s | 41.6360 KOps/s | |
| test_getitem[list] | 0.1799ms | 56.4523μs | 17.7141 KOps/s | 17.4668 KOps/s | |
| test_setitem_dim[int] | 64.7400μs | 25.6319μs | 39.0138 KOps/s | 39.7922 KOps/s | |
| test_setitem_dim[slice_int] | 71.8000μs | 43.3439μs | 23.0713 KOps/s | 24.0292 KOps/s | |
| test_setitem_dim[range] | 0.1332ms | 95.5433μs | 10.4665 KOps/s | 10.7072 KOps/s | |
| test_setitem_dim[tuple] | 74.8100μs | 40.4969μs | 24.6933 KOps/s | 25.6746 KOps/s | |
| test_setitem | 55.3600μs | 17.0706μs | 58.5803 KOps/s | 58.8108 KOps/s | |
| test_set | 84.7410μs | 16.3024μs | 61.3407 KOps/s | 60.8039 KOps/s | |
| test_set_shared | 0.5800ms | 0.2110ms | 4.7388 KOps/s | 4.8341 KOps/s | |
| test_update | 0.2764ms | 20.9292μs | 47.7801 KOps/s | 47.7498 KOps/s | |
| test_update_nested | 68.8010μs | 32.5418μs | 30.7297 KOps/s | 30.3842 KOps/s | |
| test_update__nested | 0.5097ms | 32.2161μs | 31.0404 KOps/s | 30.8905 KOps/s | |
| test_set_nested | 57.2400μs | 17.9150μs | 55.8192 KOps/s | 55.6270 KOps/s | |
| test_set_nested_new | 58.3300μs | 22.6570μs | 44.1364 KOps/s | 44.3225 KOps/s | |
| test_select | 0.1294ms | 38.8315μs | 25.7523 KOps/s | 25.4058 KOps/s | |
| test_select_nested | 0.1081ms | 73.6765μs | 13.5728 KOps/s | 13.5958 KOps/s | |
| test_exclude_nested | 0.1294ms | 90.1634μs | 11.0910 KOps/s | 11.0376 KOps/s | |
| test_empty[True] | 0.5050ms | 0.3927ms | 2.5468 KOps/s | 2.4926 KOps/s | |
| test_empty[False] | 9.9550μs | 1.3798μs | 724.7666 KOps/s | 716.0147 KOps/s | |
| test_to | 0.1131ms | 71.6202μs | 13.9625 KOps/s | 14.2644 KOps/s | |
| test_to_nonblocking | 0.1151ms | 72.1382μs | 13.8623 KOps/s | 14.3783 KOps/s | |
| test_unbind_speed | 0.3880ms | 0.3379ms | 2.9592 KOps/s | 2.9833 KOps/s | |
| test_unbind_speed_stack0 | 0.4194ms | 0.3329ms | 3.0042 KOps/s | 3.0028 KOps/s | |
| test_unbind_speed_stack1 | 0.1183s | 0.8503ms | 1.1760 KOps/s | 1.1542 KOps/s | |
| test_split | 0.1184s | 1.4536ms | 687.9338 Ops/s | 623.7439 Ops/s | |
| test_chunk | 1.3062ms | 1.2409ms | 805.8474 Ops/s | 801.7565 Ops/s | |
| test_to_cpu_blocking | 20.1625ms | 20.0049ms | 49.9876 Ops/s | 49.6571 Ops/s | |
| test_to_cpu_global_sync | 11.6816ms | 11.6095ms | 86.1366 Ops/s | 84.9243 Ops/s | |
| test_to_cpu_event_sync | 13.0106ms | 12.6596ms | 78.9911 Ops/s | 78.0524 Ops/s | |
| test_to_cpu_default | 12.9396ms | 12.6441ms | 79.0885 Ops/s | 69.4015 Ops/s | |
| test_consolidate[False-None] | 4.2365ms | 4.1837ms | 239.0237 Ops/s | 236.5227 Ops/s | |
| test_consolidate[default-None] | 3.2675ms | 2.3560ms | 424.4510 Ops/s | 435.5766 Ops/s | |
| test_consolidate[reduce-overhead-None] | 3.2360ms | 2.2485ms | 444.7504 Ops/s | 450.6566 Ops/s | |
| test_consolidate_njt[False-None] | 5.1251ms | 5.0469ms | 198.1423 Ops/s | 193.9521 Ops/s | |
| test_to[False-False-None] | 2.3061ms | 2.1829ms | 458.1145 Ops/s | 469.5476 Ops/s | |
| test_to[True-False-None] | 2.2234ms | 1.9488ms | 513.1297 Ops/s | 517.1403 Ops/s | |
| test_to[within-False-None] | 6.5391ms | 6.2811ms | 159.2070 Ops/s | 160.2760 Ops/s | |
| test_to[True-default-None] | 10.4035ms | 10.2649ms | 97.4197 Ops/s | 92.7562 Ops/s | |
| test_to_njt[False-False-None] | 7.0988ms | 6.9327ms | 144.2431 Ops/s | 140.8914 Ops/s | |
| test_to_njt[True-False-None] | 3.9977ms | 3.8267ms | 261.3208 Ops/s | 254.6954 Ops/s | |
| test_to_njt[within-False-None] | 9.0303ms | 8.9482ms | 111.7537 Ops/s | 109.2539 Ops/s | |
| test_creation[device0] | 0.4587ms | 0.1145ms | 8.7313 KOps/s | 8.7001 KOps/s | |
| test_creation_from_tensor | 0.5280ms | 0.1126ms | 8.8836 KOps/s | 8.8926 KOps/s | |
| test_add_one[memmap_tensor0] | 0.3713ms | 6.3762μs | 156.8334 KOps/s | 166.1752 KOps/s | |
| test_contiguous[memmap_tensor0] | 27.5500μs | 0.6943μs | 1.4404 MOps/s | 2.0533 MOps/s | |
| test_stack[memmap_tensor0] | 84.1800μs | 4.2528μs | 235.1368 KOps/s | 246.0617 KOps/s | |
| test_memmaptd_index | 1.2921ms | 0.2719ms | 3.6774 KOps/s | 3.6853 KOps/s | |
| test_memmaptd_index_astensor | 0.5271ms | 0.3777ms | 2.6474 KOps/s | 2.6375 KOps/s | |
| test_memmaptd_index_op | 1.0501ms | 0.6173ms | 1.6199 KOps/s | 1.6004 KOps/s | |
| test_serialize_model | 0.1358s | 0.1350s | 7.4094 Ops/s | 7.3132 Ops/s | |
| test_serialize_model_pickle | 1.3775s | 1.2147s | 0.8233 Ops/s | 0.8250 Ops/s | |
| test_serialize_weights | 0.1356s | 0.1345s | 7.4347 Ops/s | 3.1756 Ops/s | |
| test_serialize_weights_returnearly | 75.5965ms | 65.7323ms | 15.2132 Ops/s | 15.4902 Ops/s | |
| test_serialize_weights_pickle | 1.3631s | 1.2130s | 0.8244 Ops/s | 0.8233 Ops/s | |
| test_reshape_pytree | 0.2049ms | 32.3866μs | 30.8769 KOps/s | 31.3224 KOps/s | |
| test_reshape_td | 88.0200μs | 45.5869μs | 21.9361 KOps/s | 22.0495 KOps/s | |
| test_view_pytree | 0.2247ms | 31.9232μs | 31.3252 KOps/s | 31.7911 KOps/s | |
| test_view_td | 0.2199ms | 53.9782μs | 18.5260 KOps/s | 18.3444 KOps/s | |
| test_unbind_pytree | 0.2363ms | 35.8333μs | 27.9070 KOps/s | 27.8380 KOps/s | |
| test_unbind_td | 0.1599ms | 49.2720μs | 20.2955 KOps/s | 19.9441 KOps/s | |
| test_split_pytree | 0.2087ms | 41.2419μs | 24.2472 KOps/s | 24.2102 KOps/s | |
| test_split_td | 0.1826ms | 71.4643μs | 13.9930 KOps/s | 14.2690 KOps/s | |
| test_add_pytree | 0.1929ms | 39.9058μs | 25.0590 KOps/s | 25.7769 KOps/s | |
| test_add_td | 0.1057ms | 52.4167μs | 19.0779 KOps/s | 19.2144 KOps/s | |
| test_compile_add_one_nested[tensordict-compile] | 0.3632ms | 0.2751ms | 3.6350 KOps/s | 3.7190 KOps/s | |
| test_compile_add_one_nested[tensordict-eager] | 0.2794ms | 0.2013ms | 4.9666 KOps/s | 4.9708 KOps/s | |
| test_compile_add_one_nested[pytree-compile] | 0.2757ms | 0.1599ms | 6.2546 KOps/s | 6.2975 KOps/s | |
| test_compile_add_one_nested[pytree-eager] | 0.6127ms | 0.1825ms | 5.4786 KOps/s | 5.5271 KOps/s | |
| test_compile_copy_nested[tensordict-compile] | 83.4900μs | 32.7385μs | 30.5451 KOps/s | 47.1033 KOps/s | |
| test_compile_copy_nested[tensordict-eager] | 0.1013ms | 54.5054μs | 18.3468 KOps/s | 18.2952 KOps/s | |
| test_compile_copy_nested[pytree-compile] | 0.1957ms | 19.4732μs | 51.3527 KOps/s | 51.6171 KOps/s | |
| test_compile_copy_nested[pytree-eager] | 0.3801ms | 66.9995μs | 14.9255 KOps/s | 15.0327 KOps/s | |
| test_compile_add_one_flat[tensordict-compile] | 0.5059ms | 0.3048ms | 3.2804 KOps/s | 3.0875 KOps/s | |
| test_compile_add_one_flat[tensordict-eager] | 0.3840ms | 0.2867ms | 3.4879 KOps/s | 3.4341 KOps/s | |
| test_compile_add_one_flat[tensorclass-compile] | 0.3524ms | 0.2085ms | 4.7968 KOps/s | 4.5672 KOps/s | |
| test_compile_add_one_flat[tensorclass-eager] | 0.1372ms | 75.4454μs | 13.2546 KOps/s | 13.1767 KOps/s | |
| test_compile_add_one_flat[pytree-compile] | 0.3307ms | 0.2426ms | 4.1222 KOps/s | 4.0479 KOps/s | |
| test_compile_add_one_flat[pytree-eager] | 0.9145ms | 0.5441ms | 1.8377 KOps/s | 1.8362 KOps/s | |
| test_compile_add_self_flat[tensordict-eager] | 0.4846ms | 0.3428ms | 2.9174 KOps/s | 2.9114 KOps/s | |
| test_compile_add_self_flat[tensordict-compile] | 0.4882ms | 0.3065ms | 3.2626 KOps/s | 3.0667 KOps/s | |
| test_compile_add_self_flat[tensorclass-eager] | 0.1461ms | 94.4476μs | 10.5879 KOps/s | 10.8734 KOps/s | |
| test_compile_add_self_flat[tensorclass-compile] | 0.3524ms | 0.2126ms | 4.7034 KOps/s | 4.5414 KOps/s | |
| test_compile_add_self_flat[pytree-eager] | 0.7063ms | 0.4498ms | 2.2230 KOps/s | 2.1819 KOps/s | |
| test_compile_add_self_flat[pytree-compile] | 0.4866ms | 0.2432ms | 4.1122 KOps/s | 3.9993 KOps/s | |
| test_compile_copy_flat[tensordict-compile] | 81.5010μs | 26.6415μs | 37.5354 KOps/s | 36.3883 KOps/s | |
| test_compile_copy_flat[tensordict-eager] | 78.4610μs | 40.8291μs | 24.4923 KOps/s | 24.3854 KOps/s | |
| test_compile_copy_flat[pytree-compile] | 0.1127ms | 25.4324μs | 39.3199 KOps/s | 38.2091 KOps/s | |
| test_compile_copy_flat[pytree-eager] | 0.3431ms | 50.8122μs | 19.6803 KOps/s | 19.5607 KOps/s | |
| test_compile_assign_and_add[tensordict-compile] | 2.1268ms | 0.2514ms | 3.9785 KOps/s | 3.5906 KOps/s | |
| test_compile_assign_and_add[tensordict-eager] | 3.5985ms | 3.3738ms | 296.3999 Ops/s | 291.1351 Ops/s | |
| test_compile_assign_and_add[pytree-compile] | 1.9420ms | 0.1949ms | 5.1307 KOps/s | 5.0478 KOps/s | |
| test_compile_assign_and_add[pytree-eager] | 3.0873ms | 2.8670ms | 348.7969 Ops/s | 354.3401 Ops/s | |
| test_compile_indexing[tensor-tensordict-compile] | 0.3662ms | 0.1559ms | 6.4163 KOps/s | 6.2916 KOps/s | |
| test_compile_indexing[tensor-tensordict-eager] | 0.4082ms | 76.3088μs | 13.1047 KOps/s | 12.7646 KOps/s | |
| test_compile_indexing[tensor-tensorclass-compile] | 0.2759ms | 0.1351ms | 7.4033 KOps/s | 7.4976 KOps/s | |
| test_compile_indexing[tensor-tensorclass-eager] | 0.2320s | 58.4547μs | 17.1073 KOps/s | 22.3020 KOps/s | |
| test_compile_indexing[tensor-pytree-compile] | 0.2322ms | 0.1365ms | 7.3256 KOps/s | 7.3524 KOps/s | |
| test_compile_indexing[tensor-pytree-eager] | 0.2768ms | 44.9365μs | 22.2536 KOps/s | 21.8646 KOps/s | |
| test_compile_indexing[slice-tensordict-compile] | 0.1979ms | 92.0286μs | 10.8662 KOps/s | 11.0520 KOps/s | |
| test_compile_indexing[slice-tensordict-eager] | 0.2302ms | 27.8014μs | 35.9694 KOps/s | 36.4528 KOps/s | |
| test_compile_indexing[slice-tensorclass-compile] | 0.2148ms | 71.9594μs | 13.8967 KOps/s | 14.2061 KOps/s | |
| test_compile_indexing[slice-tensorclass-eager] | 0.2600ms | 22.2828μs | 44.8777 KOps/s | 45.1997 KOps/s | |
| test_compile_indexing[slice-pytree-compile] | 0.1738ms | 72.1430μs | 13.8614 KOps/s | 14.0560 KOps/s | |
| test_compile_indexing[slice-pytree-eager] | 0.2802ms | 21.9453μs | 45.5678 KOps/s | 45.7934 KOps/s | |
| test_compile_indexing[int-tensordict-compile] | 0.2149ms | 89.3386μs | 11.1934 KOps/s | 11.0529 KOps/s | |
| test_compile_indexing[int-tensordict-eager] | 0.2855ms | 28.0216μs | 35.6867 KOps/s | 36.5831 KOps/s | |
| test_compile_indexing[int-tensorclass-compile] | 0.2410ms | 72.5732μs | 13.7792 KOps/s | 14.0665 KOps/s | |
| test_compile_indexing[int-tensorclass-eager] | 0.2730ms | 22.2368μs | 44.9705 KOps/s | 45.7098 KOps/s | |
| test_compile_indexing[int-pytree-compile] | 0.1127ms | 71.5045μs | 13.9851 KOps/s | 13.8900 KOps/s | |
| test_compile_indexing[int-pytree-eager] | 0.2688ms | 22.1151μs | 45.2180 KOps/s | 46.5294 KOps/s | |
| test_compile_replace[single-eager] | 0.2186ms | 48.0136μs | 20.8274 KOps/s | 20.1356 KOps/s | |
| test_compile_replace[single-compile] | 0.3248ms | 0.1453ms | 6.8824 KOps/s | 6.6929 KOps/s | |
| test_compile_replace[multi-eager] | 0.6588ms | 0.5782ms | 1.7296 KOps/s | 1.7660 KOps/s | |
| test_compile_replace[multi-compile] | 0.2888ms | 0.1566ms | 6.3847 KOps/s | 6.2603 KOps/s | |
| test_compile_tc_getattr_20[eager] | 0.3696ms | 0.1796ms | 5.5665 KOps/s | 5.7263 KOps/s | |
| test_compile_tc_getattr_20[compile] | 0.4296ms | 0.1750ms | 5.7128 KOps/s | 5.4789 KOps/s | |
| test_compile_clone_shallow[20-eager] | 47.6800μs | 19.1440μs | 52.2358 KOps/s | 53.7359 KOps/s | |
| test_compile_clone_shallow[20-compile] | 88.0810μs | 23.1459μs | 43.2043 KOps/s | 42.9670 KOps/s | |
| test_compile_clone_shallow[40-eager] | 64.8200μs | 33.7894μs | 29.5951 KOps/s | 29.9847 KOps/s | |
| test_compile_clone_shallow[40-compile] | 0.1882ms | 25.1371μs | 39.7818 KOps/s | 39.9955 KOps/s | |
| test_compile_clone_shallow[80-eager] | 0.1135ms | 62.2135μs | 16.0737 KOps/s | 16.0701 KOps/s | |
| test_compile_clone_shallow[80-compile] | 81.3710μs | 28.7917μs | 34.7323 KOps/s | 34.8085 KOps/s | |
| test_compile_update_inplace[eager] | 0.2410ms | 62.5383μs | 15.9902 KOps/s | 16.0082 KOps/s | |
| test_compile_update_inplace[compile] | 0.1881ms | 0.1205ms | 8.3003 KOps/s | 8.1225 KOps/s | |
| test_mod_add[eager] | 0.3899ms | 0.2274ms | 4.3975 KOps/s | 4.4151 KOps/s | |
| test_mod_add[compile] | 0.6369ms | 0.1220ms | 8.1934 KOps/s | 8.0514 KOps/s | |
| test_mod_add[compile-overhead] | 0.2798ms | 0.1947ms | 5.1352 KOps/s | 5.0351 KOps/s | |
| test_mod_wrap[eager] | 0.6431ms | 0.4694ms | 2.1303 KOps/s | 2.1158 KOps/s | |
| test_mod_wrap[compile] | 0.4740ms | 0.3473ms | 2.8797 KOps/s | 2.8721 KOps/s | |
| test_mod_wrap[compile-overhead] | 7.1248ms | 3.9937ms | 250.3958 Ops/s | 249.1468 Ops/s | |
| test_mod_wrap_and_backward[eager] | 1.8245ms | 1.6422ms | 608.9405 Ops/s | 592.1142 Ops/s | |
| test_mod_wrap_and_backward[compile] | 1.5501ms | 1.3244ms | 755.0772 Ops/s | 734.8051 Ops/s | |
| test_mod_wrap_and_backward[compile-overhead] | 1.5701ms | 0.9358ms | 1.0687 KOps/s | 1.0551 KOps/s | |
| test_seq_add[eager] | 0.6820ms | 0.5114ms | 1.9556 KOps/s | 1.9621 KOps/s | |
| test_seq_add[compile] | 0.2942ms | 0.1325ms | 7.5449 KOps/s | 7.4229 KOps/s | |
| test_seq_add[compile-overhead] | 0.3293ms | 0.2036ms | 4.9105 KOps/s | 4.7943 KOps/s | |
| test_seq_wrap[eager] | 1.4936ms | 1.4089ms | 709.7592 Ops/s | 705.1525 Ops/s | |
| test_seq_wrap[compile] | 0.4403ms | 0.3596ms | 2.7809 KOps/s | 2.7018 KOps/s | |
| test_seq_wrap[compile-overhead] | 0.4973ms | 0.3211ms | 3.1143 KOps/s | 2.9355 KOps/s | |
| test_func_call_runtime[False-eager] | 0.9429ms | 0.8002ms | 1.2496 KOps/s | 1.1739 KOps/s | |
| test_func_call_runtime[False-compile] | 0.9067ms | 0.7612ms | 1.3136 KOps/s | 1.3226 KOps/s | |
| test_func_call_runtime[False-compile-overhead] | 0.6687ms | 0.5074ms | 1.9709 KOps/s | 1.9616 KOps/s | |
| test_func_call_runtime[True-eager] | 1.1126ms | 1.0534ms | 949.3471 Ops/s | 951.1328 Ops/s | |
| test_func_call_runtime[True-compile] | 0.8504ms | 0.7777ms | 1.2859 KOps/s | 1.3004 KOps/s | |
| test_func_call_runtime[True-compile-overhead] | 0.6972ms | 0.5260ms | 1.9012 KOps/s | 1.8454 KOps/s | |
| test_func_call_cm_runtime[False-eager] | 0.8553ms | 0.7991ms | 1.2515 KOps/s | 1.1914 KOps/s | |
| test_func_call_cm_runtime[False-compile] | 0.8853ms | 0.7448ms | 1.3426 KOps/s | 1.3466 KOps/s | |
| test_func_call_cm_runtime[False-compile-overhead] | 0.5674ms | 0.4875ms | 2.0511 KOps/s | 2.0349 KOps/s | |
| test_func_call_cm_runtime[True-eager] | 1.3078ms | 1.1960ms | 836.1429 Ops/s | 832.2615 Ops/s | |
| test_func_call_cm_runtime[True-compile] | 0.9164ms | 0.8573ms | 1.1664 KOps/s | 1.1707 KOps/s | |
| test_func_call_cm_runtime[True-compile-overhead] | 1.2090ms | 0.8781ms | 1.1388 KOps/s | 1.1298 KOps/s | |
| test_vmap_func_call_cm_runtime[eager] | 3.1270ms | 2.6359ms | 379.3749 Ops/s | 364.4256 Ops/s | |
| test_vmap_func_call_cm_runtime[compile] | 4.0889ms | 3.6222ms | 276.0788 Ops/s | 274.1436 Ops/s | |
| test_vmap_func_call_cm_runtime[compile-overhead] | 4.0806ms | 3.6242ms | 275.9197 Ops/s | 274.8798 Ops/s | |
| test_distributed | 0.4728ms | 0.1445ms | 6.9190 KOps/s | 6.9438 KOps/s | |
| test_tdmodule | 0.4809ms | 0.1931ms | 5.1780 KOps/s | 5.1658 KOps/s | |
| test_tdmodule_dispatch | 0.4179ms | 0.3726ms | 2.6839 KOps/s | 2.6645 KOps/s | |
| test_tdseq | 52.0100μs | 26.1260μs | 38.2761 KOps/s | 38.0775 KOps/s | |
| test_tdseq_dispatch | 0.2666ms | 0.2165ms | 4.6196 KOps/s | 4.5815 KOps/s | |
| test_instantiation_functorch | 2.1367ms | 2.0375ms | 490.7906 Ops/s | 495.7012 Ops/s | |
| test_exec_functorch | 0.2327ms | 0.1741ms | 5.7448 KOps/s | 5.8432 KOps/s | |
| test_exec_functional_call | 0.4729ms | 0.1532ms | 6.5286 KOps/s | 6.6400 KOps/s | |
| test_exec_td_decorator | 0.5072ms | 0.2395ms | 4.1747 KOps/s | 4.2064 KOps/s | |
| test_vmap_mlp_speed_decorator[True-True] | 1.3231ms | 1.1112ms | 899.9291 Ops/s | 896.8809 Ops/s | |
| test_vmap_mlp_speed_decorator[True-False] | 1.3936ms | 1.1066ms | 903.6947 Ops/s | 883.6515 Ops/s | |
| test_vmap_mlp_speed_decorator[False-True] | 1.0247ms | 0.8091ms | 1.2360 KOps/s | 1.1824 KOps/s | |
| test_vmap_mlp_speed_decorator[False-False] | 1.0046ms | 0.8084ms | 1.2370 KOps/s | 1.1860 KOps/s | |
| test_vmap_transformer_speed_decorator[True-True] | 27.1769ms | 24.7346ms | 40.4292 Ops/s | 39.0378 Ops/s | |
| test_vmap_transformer_speed_decorator[True-False] | 24.8276ms | 24.6018ms | 40.6475 Ops/s | 39.2116 Ops/s | |
| test_vmap_transformer_speed_decorator[False-True] | 24.5297ms | 24.2465ms | 41.2430 Ops/s | 39.8632 Ops/s | |
| test_vmap_transformer_speed_decorator[False-False] | 24.3857ms | 24.1886ms | 41.3417 Ops/s | 39.9423 Ops/s | |
| test_to_module_speed[True] | 1.7472ms | 1.6364ms | 611.1100 Ops/s | 606.1134 Ops/s | |
| test_to_module_speed[False] | 1.6884ms | 1.6132ms | 619.8948 Ops/s | 620.8026 Ops/s | |
| test_to_module_plain_tensor_speed[None] | 2.6092ms | 1.7260ms | 579.3717 Ops/s | 579.2191 Ops/s | |
| test_to_module_plain_tensor_speed[False] | 2.2897ms | 1.5547ms | 643.2250 Ops/s | 643.4279 Ops/s | |
| test_to_module_plain_tensor_speed[True] | 3.4374ms | 3.3327ms | 300.0554 Ops/s | 295.7917 Ops/s | |
| test_tc_init | 77.9610μs | 43.6764μs | 22.8957 KOps/s | 22.7733 KOps/s | |
| test_tc_init_tensor_only | 44.9400μs | 9.5226μs | 105.0128 KOps/s | 106.0813 KOps/s | |
| test_tc_init_nested | 0.1219ms | 86.3384μs | 11.5823 KOps/s | 11.4595 KOps/s | |
| test_tc_init_many_fields | 85.9910μs | 17.0882μs | 58.5201 KOps/s | 57.2054 KOps/s | |
| test_tc_first_layer_tensor | 17.9400μs | 1.7720μs | 564.3383 KOps/s | 558.3251 KOps/s | |
| test_tc_first_layer_tensor_only | 1.7470μs | 0.3999μs | 2.5004 MOps/s | 2.4327 MOps/s | |
| test_tc_first_layer_tensor_set | 36.3700μs | 4.2157μs | 237.2072 KOps/s | 233.9673 KOps/s | |
| test_tc_first_layer_tensor_only_set | 37.0000μs | 3.4645μs | 288.6441 KOps/s | 279.2516 KOps/s | |
| test_tc_first_layer_nontensor | 27.2300μs | 6.0920μs | 164.1503 KOps/s | 163.3643 KOps/s | |
| test_tc_second_layer_tensor | 35.1110μs | 4.2978μs | 232.6777 KOps/s | 229.1058 KOps/s | |
| test_tc_second_layer_nontensor | 46.3000μs | 8.6351μs | 115.8069 KOps/s | 114.5294 KOps/s | |
| test_unbind | 0.2934s | 13.7834ms | 72.5508 Ops/s | 74.0032 Ops/s | |
| test_full_like | 4.8437ms | 4.4156ms | 226.4716 Ops/s | 225.0772 Ops/s | |
| test_zeros_like | 4.6064ms | 4.4165ms | 226.4239 Ops/s | 226.6414 Ops/s | |
| test_ones_like | 4.6814ms | 4.4394ms | 225.2569 Ops/s | 226.6945 Ops/s | |
| test_clone | 6.8646ms | 6.6416ms | 150.5669 Ops/s | 150.5293 Ops/s | |
| test_squeeze | 67.2900μs | 13.8953μs | 71.9667 KOps/s | 72.1334 KOps/s | |
| test_unsqueeze | 0.1708ms | 0.1112ms | 8.9913 KOps/s | 9.2684 KOps/s | |
| test_split | 0.2567ms | 0.1869ms | 5.3503 KOps/s | 5.3523 KOps/s | |
| test_permute | 0.3007ms | 0.1970ms | 5.0772 KOps/s | 5.2621 KOps/s | |
| test_stack | 19.2207ms | 18.5040ms | 54.0422 Ops/s | 53.8687 Ops/s | |
| test_cat | 19.0422ms | 18.5802ms | 53.8207 Ops/s | 53.8714 Ops/s | |
| test_sequential_tensordict | 0.8590ms | 0.5625ms | 1.7777 KOps/s | 1.7278 KOps/s | |
| test_sequential_graph_module | 0.2803ms | 0.1111ms | 9.0005 KOps/s | 8.4731 KOps/s | |
| test_nested_tensordict | 0.9205ms | 0.8058ms | 1.2410 KOps/s | 1.1982 KOps/s | |
| test_nested_graph_module | 0.2318ms | 0.1215ms | 8.2307 KOps/s | 8.0437 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.
Description
Adds
group_dst(forsend/isend) andgroup_src(forrecv/irecv) keyword arguments to the TensorDict p2p methods, mirroring the torch functional API. The peer is specified either globally (dst/src) or relative togroup(group_dst/group_src), never both.When the group-relative spelling is used, the p2p calls are issued directly on the group's backend (
pg.send([tensor], group_dst, tag)/pg.recv([tensor], group_src, tag)) instead of going through the functional API. This makes the methods work with standaloneProcessGroupobjects constructed directly against a store (e.g.dist.ProcessGroupGloo(PrefixStore(...), rank, world_size, timeout)) that were never registered throughinit_process_group/new_group— the functional API rejects those because it resolves ranks through the c10d registry (anddist.recv(..., group_src=...)still hits the registry on current torch, so it cannot be built on directly).Motivation
Elastic topologies (dynamic worker fleets, per-client server/client pair groups) deliberately avoid a fixed global world: no all-participants startup barrier, workers can join and leave, and the default process group stays free for training collectives. Today such code has to hand-roll a per-leaf
pg.send/pg.recvloop that reimplementsTensorDictBase._send. With this change it can delegate totd.isend/td.irecvand gets theconsolidated=Truesingle-buffer path (one p2p op per message instead of one per leaf) for free. Unblocks a follow-up on pytorch/rl#3958.Changes
send/isend: new keyword-onlygroup_dst;recv/irecv: new keyword-onlygroup_src;dst/srcbecome optional._check_p2p_peerhelper):group_dst/group_srcrequiregroup, are mutually exclusive withdst/src, and exactly one peer spelling must be provided.consolidated=Truesend/recv path forwards the new arguments.LazyStackedTensorDictoverrides forward the new parameters (_recvnow also forwardsnon_blocking, which was previously dropped)._tensorcollection.pyi,tensorclass.pyi) updated; tensorclasses get the feature through the wrapped methods.pseudo_rand), and wire compatibility are untouched.Tests
Extends
test/distributed/test_distributed.py:TCPStore/PrefixStorewith noinit_process_groupanywhere:send/recv,isend/recv,irecv(with and withoutreturn_premature), and aconsolidated=Trueround trip, all including a nested key.group_dst/group_srcwith anew_groupsubgroup.group_dstwithoutgroup,dstandgroup_dsttogether, and neither provided.Existing send/recv suites (58 tests) pass unchanged.
🤖 Generated with Claude Code