[Refactor] Version-gate HigherOrderOperator dispatch with implement_for - #1669
Open
vmoens wants to merge 1 commit into
Open
[Refactor] Version-gate HigherOrderOperator dispatch with implement_for#1669vmoens wants to merge 1 commit into
vmoens wants to merge 1 commit into
Conversation
…atch
Extract HOP handling from inline __torch_function__ into a shared
_maybe_dispatch_higher_order_op helper in _torch_func.py, guarded by
@implement_for("torch", "2.1") since HigherOrderOperator was introduced
in PyTorch 2.1. Force resolution at import time to avoid _gcd_import
graph breaks inside torch.compile.
Follow-up to #1668.
Made-with: Cursor
Contributor
|
| Name | Max | Mean | Ops | Ops on Repo HEAD
|
Change |
|---|---|---|---|---|---|
| test_plain_set_nested | 31.7210μs | 14.9605μs | 66.8427 KOps/s | 66.2667 KOps/s | |
| test_plain_set_stack_nested | 48.9410μs | 15.3496μs | 65.1484 KOps/s | 66.1379 KOps/s | |
| test_plain_set_nested_inplace | 43.6710μs | 17.0082μs | 58.7951 KOps/s | 59.2111 KOps/s | |
| test_plain_set_stack_nested_inplace | 49.6110μs | 16.5993μs | 60.2435 KOps/s | 59.6464 KOps/s | |
| test_items | 68.3310μs | 5.9435μs | 168.2500 KOps/s | 167.9049 KOps/s | |
| test_items_nested | 0.5324ms | 0.4609ms | 2.1697 KOps/s | 2.1528 KOps/s | |
| test_items_nested_locked | 0.5317ms | 0.4647ms | 2.1521 KOps/s | 2.1397 KOps/s | |
| test_items_nested_leaf | 0.1549ms | 97.0341μs | 10.3057 KOps/s | 10.2064 KOps/s | |
| test_items_stack_nested | 0.6102ms | 0.4702ms | 2.1270 KOps/s | 2.1637 KOps/s | |
| test_items_stack_nested_leaf | 0.1495ms | 97.7410μs | 10.2311 KOps/s | 10.1972 KOps/s | |
| test_items_stack_nested_locked | 0.5927ms | 0.4689ms | 2.1328 KOps/s | 2.1453 KOps/s | |
| test_keys | 23.4000μs | 4.2208μs | 236.9244 KOps/s | 238.1910 KOps/s | |
| test_keys_nested | 0.1875ms | 0.1294ms | 7.7257 KOps/s | 7.5959 KOps/s | |
| test_keys_nested_locked | 2.2279ms | 0.1391ms | 7.1904 KOps/s | 7.0101 KOps/s | |
| test_keys_nested_leaf | 0.1506ms | 0.1202ms | 8.3184 KOps/s | 8.1822 KOps/s | |
| test_keys_stack_nested | 0.1648ms | 0.1302ms | 7.6778 KOps/s | 7.5596 KOps/s | |
| test_keys_stack_nested_leaf | 0.1805ms | 0.1193ms | 8.3795 KOps/s | 8.1974 KOps/s | |
| test_keys_stack_nested_locked | 0.2269ms | 0.1381ms | 7.2422 KOps/s | 7.1174 KOps/s | |
| test_values | 4.6331μs | 1.0039μs | 996.0860 KOps/s | 974.0034 KOps/s | |
| test_values_nested | 93.3210μs | 52.2302μs | 19.1460 KOps/s | 19.1527 KOps/s | |
| test_values_nested_locked | 87.4620μs | 55.3154μs | 18.0782 KOps/s | 17.6250 KOps/s | |
| test_values_nested_leaf | 98.0420μs | 59.5315μs | 16.7978 KOps/s | 16.2465 KOps/s | |
| test_values_stack_nested | 94.4110μs | 52.2686μs | 19.1319 KOps/s | 18.6915 KOps/s | |
| test_values_stack_nested_leaf | 98.9810μs | 59.8159μs | 16.7180 KOps/s | 16.3810 KOps/s | |
| test_values_stack_nested_locked | 86.5020μs | 54.7951μs | 18.2498 KOps/s | 17.7420 KOps/s | |
| test_membership | 6.3502μs | 0.8311μs | 1.2033 MOps/s | 1.1985 MOps/s | |
| test_membership_nested | 42.3300μs | 2.8578μs | 349.9228 KOps/s | 342.1246 KOps/s | |
| test_membership_nested_leaf | 23.1305μs | 2.7271μs | 366.6856 KOps/s | 343.4744 KOps/s | |
| test_membership_stacked_nested | 38.3410μs | 2.8625μs | 349.3454 KOps/s | 344.5155 KOps/s | |
| test_membership_stacked_nested_leaf | 54.6610μs | 2.8491μs | 350.9902 KOps/s | 345.6692 KOps/s | |
| test_membership_nested_last | 41.9910μs | 4.2968μs | 232.7304 KOps/s | 229.0998 KOps/s | |
| test_membership_nested_leaf_last | 33.7510μs | 4.2780μs | 233.7517 KOps/s | 227.5887 KOps/s | |
| test_membership_stacked_nested_last | 40.7310μs | 4.2704μs | 234.1705 KOps/s | 228.6346 KOps/s | |
| test_membership_stacked_nested_leaf_last | 23.9810μs | 4.3000μs | 232.5590 KOps/s | 228.9101 KOps/s | |
| test_nested_getleaf | 50.1610μs | 21.4316μs | 46.6601 KOps/s | 45.6832 KOps/s | |
| test_nested_get | 48.8210μs | 20.3354μs | 49.1753 KOps/s | 48.8410 KOps/s | |
| test_stacked_getleaf | 53.6210μs | 21.3461μs | 46.8470 KOps/s | 46.0890 KOps/s | |
| test_stacked_get | 47.4310μs | 20.3963μs | 49.0285 KOps/s | 48.7422 KOps/s | |
| test_nested_getitemleaf | 0.1214ms | 21.8071μs | 45.8567 KOps/s | 45.8126 KOps/s | |
| test_nested_getitem | 50.5810μs | 20.7548μs | 48.1817 KOps/s | 49.0019 KOps/s | |
| test_stacked_getitemleaf | 51.8810μs | 21.8132μs | 45.8437 KOps/s | 45.4344 KOps/s | |
| test_stacked_getitem | 57.1410μs | 20.6931μs | 48.3254 KOps/s | 48.3059 KOps/s | |
| test_lock_nested | 0.7723ms | 0.4769ms | 2.0968 KOps/s | 2.0726 KOps/s | |
| test_lock_stack_nested | 0.6204ms | 0.4844ms | 2.0644 KOps/s | 2.0477 KOps/s | |
| test_unlock_nested | 0.7174ms | 0.3939ms | 2.5390 KOps/s | 2.5452 KOps/s | |
| test_unlock_stack_nested | 0.4556ms | 0.3939ms | 2.5389 KOps/s | 2.5191 KOps/s | |
| test_flatten_speed | 0.5405ms | 0.1220ms | 8.1934 KOps/s | 8.2617 KOps/s | |
| test_unflatten_speed | 1.0425ms | 0.5736ms | 1.7434 KOps/s | 1.7383 KOps/s | |
| test_common_ops | 0.8641ms | 0.6964ms | 1.4360 KOps/s | 1.4149 KOps/s | |
| test_creation | 0.1118ms | 3.1437μs | 318.0942 KOps/s | 316.1195 KOps/s | |
| test_creation_empty | 49.1210μs | 7.0036μs | 142.7830 KOps/s | 141.2744 KOps/s | |
| test_creation_nested_1 | 33.6300μs | 11.4840μs | 87.0776 KOps/s | 85.4284 KOps/s | |
| test_creation_nested_2 | 39.2710μs | 13.4406μs | 74.4012 KOps/s | 73.9093 KOps/s | |
| test_creation_many_keys[10] | 43.8610μs | 21.2299μs | 47.1034 KOps/s | 47.3715 KOps/s | |
| test_creation_many_keys[50] | 0.1521ms | 90.6204μs | 11.0350 KOps/s | 10.9937 KOps/s | |
| test_creation_many_keys[100] | 0.2504ms | 0.1784ms | 5.6041 KOps/s | 5.6655 KOps/s | |
| test_creation_nested_many_keys[10] | 88.3210μs | 44.9748μs | 22.2347 KOps/s | 21.9534 KOps/s | |
| test_creation_nested_many_keys[50] | 0.2595ms | 0.1849ms | 5.4073 KOps/s | 5.4260 KOps/s | |
| test_clone | 55.1810μs | 13.2751μs | 75.3291 KOps/s | 76.6774 KOps/s | |
| test_getitem[int] | 1.6351ms | 15.2127μs | 65.7344 KOps/s | 56.5385 KOps/s | |
| test_getitem[slice_int] | 0.1370ms | 24.6640μs | 40.5449 KOps/s | 39.8096 KOps/s | |
| test_getitem[range] | 0.1808ms | 62.9786μs | 15.8784 KOps/s | 14.8691 KOps/s | |
| test_getitem[tuple] | 0.1451ms | 24.3261μs | 41.1082 KOps/s | 42.2206 KOps/s | |
| test_getitem[list] | 0.2567ms | 58.7045μs | 17.0345 KOps/s | 17.0439 KOps/s | |
| test_setitem_dim[int] | 44.9210μs | 25.3501μs | 39.4476 KOps/s | 38.7962 KOps/s | |
| test_setitem_dim[slice_int] | 87.7220μs | 42.6547μs | 23.4441 KOps/s | 23.1635 KOps/s | |
| test_setitem_dim[range] | 0.1420ms | 95.3038μs | 10.4928 KOps/s | 10.5679 KOps/s | |
| test_setitem_dim[tuple] | 74.2310μs | 39.1016μs | 25.5744 KOps/s | 25.6608 KOps/s | |
| test_setitem | 67.4310μs | 17.8213μs | 56.1126 KOps/s | 56.1456 KOps/s | |
| test_set | 60.2210μs | 17.1208μs | 58.4086 KOps/s | 58.6190 KOps/s | |
| test_set_shared | 0.5068ms | 0.2035ms | 4.9145 KOps/s | 4.9054 KOps/s | |
| test_update | 0.4383ms | 22.0056μs | 45.4430 KOps/s | 46.1597 KOps/s | |
| test_update_nested | 77.3720μs | 33.3693μs | 29.9676 KOps/s | 29.6087 KOps/s | |
| test_update__nested | 0.5397ms | 34.1016μs | 29.3241 KOps/s | 28.5365 KOps/s | |
| test_set_nested | 59.4920μs | 19.1046μs | 52.3435 KOps/s | 52.2335 KOps/s | |
| test_set_nested_new | 0.4617ms | 23.8370μs | 41.9517 KOps/s | 41.3254 KOps/s | |
| test_select | 77.8610μs | 40.5624μs | 24.6534 KOps/s | 24.5421 KOps/s | |
| test_select_nested | 0.4963ms | 74.3806μs | 13.4444 KOps/s | 13.4803 KOps/s | |
| test_exclude_nested | 0.5117ms | 91.8313μs | 10.8895 KOps/s | 10.7777 KOps/s | |
| test_empty[True] | 0.8143ms | 0.3979ms | 2.5134 KOps/s | 2.4839 KOps/s | |
| test_empty[False] | 0.1059ms | 1.3201μs | 757.5067 KOps/s | 749.0665 KOps/s | |
| test_to | 0.1048ms | 72.3623μs | 13.8193 KOps/s | 13.6151 KOps/s | |
| test_to_nonblocking | 0.5044ms | 66.0438μs | 15.1415 KOps/s | 14.0172 KOps/s | |
| test_unbind_speed | 0.4091ms | 0.3393ms | 2.9472 KOps/s | 2.8140 KOps/s | |
| test_unbind_speed_stack0 | 0.8045ms | 0.3379ms | 2.9596 KOps/s | 2.9604 KOps/s | |
| test_unbind_speed_stack1 | 0.1058s | 0.9221ms | 1.0845 KOps/s | 1.1723 KOps/s | |
| test_split | 1.5492ms | 1.1370ms | 879.5277 Ops/s | 777.7721 Ops/s | |
| test_chunk | 0.1055s | 1.2168ms | 821.8500 Ops/s | 920.7448 Ops/s | |
| test_to_cpu_blocking | 29.3065ms | 28.8055ms | 34.7156 Ops/s | 34.4050 Ops/s | |
| test_to_cpu_global_sync | 11.9851ms | 11.6509ms | 85.8300 Ops/s | 76.3532 Ops/s | |
| test_to_cpu_event_sync | 12.9749ms | 12.6259ms | 79.2025 Ops/s | 78.4151 Ops/s | |
| test_to_cpu_default | 0.1190s | 13.9851ms | 71.5045 Ops/s | 78.3772 Ops/s | |
| test_consolidate[False-None] | 4.5297ms | 4.1096ms | 243.3331 Ops/s | 210.0161 Ops/s | |
| test_consolidate[default-None] | 2.1909ms | 2.0660ms | 484.0347 Ops/s | 477.1632 Ops/s | |
| test_consolidate[reduce-overhead-None] | 2.0908ms | 1.9804ms | 504.9523 Ops/s | 496.7739 Ops/s | |
| test_consolidate_njt[False-None] | 9.2544ms | 8.8814ms | 112.5952 Ops/s | 115.1117 Ops/s | |
| test_to[False-False-None] | 2.2494ms | 2.1665ms | 461.5718 Ops/s | 457.3456 Ops/s | |
| test_to[True-False-None] | 2.2452ms | 1.9679ms | 508.1481 Ops/s | 512.7949 Ops/s | |
| test_to[within-False-None] | 6.4563ms | 6.1672ms | 162.1470 Ops/s | 160.1761 Ops/s | |
| test_to[True-default-None] | 9.4675ms | 9.1605ms | 109.1640 Ops/s | 102.3162 Ops/s | |
| test_to_njt[False-False-None] | 9.2944ms | 9.0808ms | 110.1221 Ops/s | 111.4601 Ops/s | |
| test_to_njt[True-False-None] | 7.7179ms | 7.4602ms | 134.0448 Ops/s | 134.8843 Ops/s | |
| test_to_njt[within-False-None] | 16.9440ms | 16.7400ms | 59.7371 Ops/s | 61.2754 Ops/s | |
| test_creation[device0] | 0.3912ms | 0.1206ms | 8.2937 KOps/s | 8.7743 KOps/s | |
| test_creation_from_tensor | 0.5331ms | 0.1131ms | 8.8402 KOps/s | 8.8815 KOps/s | |
| test_add_one[memmap_tensor0] | 0.3975ms | 6.5426μs | 152.8441 KOps/s | 151.6186 KOps/s | |
| test_contiguous[memmap_tensor0] | 27.8000μs | 0.6537μs | 1.5297 MOps/s | 2.2512 MOps/s | |
| test_stack[memmap_tensor0] | 31.5600μs | 4.6973μs | 212.8878 KOps/s | 210.6553 KOps/s | |
| test_memmaptd_index | 1.0929ms | 0.2705ms | 3.6962 KOps/s | 3.7323 KOps/s | |
| test_memmaptd_index_astensor | 0.5446ms | 0.3774ms | 2.6497 KOps/s | 2.6669 KOps/s | |
| test_memmaptd_index_op | 0.7994ms | 0.6153ms | 1.6253 KOps/s | 1.5941 KOps/s | |
| test_serialize_model | 0.1362s | 0.1347s | 7.4239 Ops/s | 7.4032 Ops/s | |
| test_serialize_model_pickle | 1.3502s | 1.1849s | 0.8439 Ops/s | 0.8250 Ops/s | |
| test_serialize_weights | 0.1371s | 0.1347s | 7.4259 Ops/s | 7.4075 Ops/s | |
| test_serialize_weights_returnearly | 0.4392s | 88.0855ms | 11.3526 Ops/s | 15.7247 Ops/s | |
| test_serialize_weights_pickle | 1.3647s | 1.2139s | 0.8238 Ops/s | 0.8229 Ops/s | |
| test_reshape_pytree | 0.2047ms | 32.3577μs | 30.9045 KOps/s | 30.5956 KOps/s | |
| test_reshape_td | 84.8520μs | 45.9357μs | 21.7695 KOps/s | 21.8763 KOps/s | |
| test_view_pytree | 0.2202ms | 31.9675μs | 31.2818 KOps/s | 30.7380 KOps/s | |
| test_view_td | 79.7210μs | 54.3269μs | 18.4071 KOps/s | 18.6867 KOps/s | |
| test_unbind_pytree | 0.1855ms | 36.1484μs | 27.6637 KOps/s | 27.5037 KOps/s | |
| test_unbind_td | 0.1176ms | 50.3663μs | 19.8545 KOps/s | 19.8050 KOps/s | |
| test_split_pytree | 0.2469ms | 41.6083μs | 24.0337 KOps/s | 23.5882 KOps/s | |
| test_split_td | 0.1998ms | 63.7076μs | 15.6967 KOps/s | 15.5290 KOps/s | |
| test_add_pytree | 0.1902ms | 41.2382μs | 24.2494 KOps/s | 23.9717 KOps/s | |
| test_add_td | 93.0910μs | 55.3081μs | 18.0805 KOps/s | 17.7085 KOps/s | |
| test_compile_add_one_nested[tensordict-compile] | 0.2527ms | 0.1612ms | 6.2037 KOps/s | 5.8241 KOps/s | |
| test_compile_add_one_nested[tensordict-eager] | 0.2989ms | 0.2043ms | 4.8940 KOps/s | 5.0007 KOps/s | |
| test_compile_add_one_nested[pytree-compile] | 0.2382ms | 0.1261ms | 7.9283 KOps/s | 7.4420 KOps/s | |
| test_compile_add_one_nested[pytree-eager] | 0.4426ms | 0.1780ms | 5.6178 KOps/s | 5.4640 KOps/s | |
| test_compile_copy_nested[tensordict-compile] | 0.4088ms | 16.6398μs | 60.0969 KOps/s | 59.3689 KOps/s | |
| test_compile_copy_nested[tensordict-eager] | 91.3610μs | 54.1731μs | 18.4594 KOps/s | 18.2645 KOps/s | |
| test_compile_copy_nested[pytree-compile] | 0.1787ms | 16.6458μs | 60.0752 KOps/s | 62.3919 KOps/s | |
| test_compile_copy_nested[pytree-eager] | 0.3777ms | 67.3521μs | 14.8474 KOps/s | 14.6347 KOps/s | |
| test_compile_add_one_flat[tensordict-compile] | 0.2889ms | 0.2003ms | 4.9924 KOps/s | 4.8601 KOps/s | |
| test_compile_add_one_flat[tensordict-eager] | 0.3475ms | 0.2791ms | 3.5827 KOps/s | 3.5394 KOps/s | |
| test_compile_add_one_flat[tensorclass-compile] | 0.1750ms | 0.1365ms | 7.3269 KOps/s | 6.9045 KOps/s | |
| test_compile_add_one_flat[tensorclass-eager] | 0.1308ms | 76.9538μs | 12.9948 KOps/s | 12.8441 KOps/s | |
| test_compile_add_one_flat[pytree-compile] | 0.2383ms | 0.1837ms | 5.4431 KOps/s | 5.3130 KOps/s | |
| test_compile_add_one_flat[pytree-eager] | 0.8548ms | 0.5545ms | 1.8035 KOps/s | 1.8447 KOps/s | |
| test_compile_add_self_flat[tensordict-eager] | 0.4003ms | 0.3291ms | 3.0390 KOps/s | 2.9183 KOps/s | |
| test_compile_add_self_flat[tensordict-compile] | 0.2533ms | 0.2012ms | 4.9702 KOps/s | 4.5049 KOps/s | |
| test_compile_add_self_flat[tensorclass-eager] | 0.1383ms | 91.2595μs | 10.9578 KOps/s | 10.6579 KOps/s | |
| test_compile_add_self_flat[tensorclass-compile] | 0.2732ms | 0.1379ms | 7.2492 KOps/s | 6.5530 KOps/s | |
| test_compile_add_self_flat[pytree-eager] | 0.6842ms | 0.4432ms | 2.2565 KOps/s | 2.2186 KOps/s | |
| test_compile_add_self_flat[pytree-compile] | 0.2315ms | 0.1805ms | 5.5411 KOps/s | 5.2334 KOps/s | |
| test_compile_copy_flat[tensordict-compile] | 90.1320μs | 19.7047μs | 50.7494 KOps/s | 49.2319 KOps/s | |
| test_compile_copy_flat[tensordict-eager] | 0.1051ms | 41.5010μs | 24.0958 KOps/s | 23.8240 KOps/s | |
| test_compile_copy_flat[pytree-compile] | 0.1196ms | 16.8416μs | 59.3768 KOps/s | 59.2348 KOps/s | |
| test_compile_copy_flat[pytree-eager] | 0.3573ms | 53.0490μs | 18.8505 KOps/s | 18.9368 KOps/s | |
| test_compile_assign_and_add[tensordict-compile] | 2.1189ms | 0.1901ms | 5.2598 KOps/s | 4.8445 KOps/s | |
| test_compile_assign_and_add[tensordict-eager] | 3.6775ms | 3.3402ms | 299.3838 Ops/s | 296.4754 Ops/s | |
| test_compile_assign_and_add[pytree-compile] | 2.1073ms | 0.1788ms | 5.5918 KOps/s | 5.4431 KOps/s | |
| test_compile_assign_and_add[pytree-eager] | 3.0615ms | 2.9465ms | 339.3884 Ops/s | 351.9458 Ops/s | |
| test_compile_indexing[tensor-tensordict-compile] | 0.2104ms | 0.1330ms | 7.5200 KOps/s | 7.5606 KOps/s | |
| test_compile_indexing[tensor-tensordict-eager] | 0.3092ms | 76.8997μs | 13.0039 KOps/s | 13.2990 KOps/s | |
| test_compile_indexing[tensor-tensorclass-compile] | 0.2364ms | 0.1133ms | 8.8262 KOps/s | 8.4614 KOps/s | |
| test_compile_indexing[tensor-tensorclass-eager] | 0.2554ms | 47.3140μs | 21.1354 KOps/s | 21.8112 KOps/s | |
| test_compile_indexing[tensor-pytree-compile] | 0.1547ms | 0.1140ms | 8.7702 KOps/s | 8.4018 KOps/s | |
| test_compile_indexing[tensor-pytree-eager] | 0.2849ms | 46.6701μs | 21.4270 KOps/s | 20.4451 KOps/s | |
| test_compile_indexing[slice-tensordict-compile] | 0.2070ms | 68.5540μs | 14.5870 KOps/s | 13.5656 KOps/s | |
| test_compile_indexing[slice-tensordict-eager] | 0.2104ms | 28.3887μs | 35.2253 KOps/s | 35.2885 KOps/s | |
| test_compile_indexing[slice-tensorclass-compile] | 98.9610μs | 58.3289μs | 17.1442 KOps/s | 16.8557 KOps/s | |
| test_compile_indexing[slice-tensorclass-eager] | 0.2414ms | 22.1413μs | 45.1644 KOps/s | 45.0905 KOps/s | |
| test_compile_indexing[slice-pytree-compile] | 0.1001ms | 60.5929μs | 16.5036 KOps/s | 16.7602 KOps/s | |
| test_compile_indexing[slice-pytree-eager] | 0.2635ms | 22.0865μs | 45.2765 KOps/s | 45.2313 KOps/s | |
| test_compile_indexing[int-tensordict-compile] | 0.1110ms | 70.2017μs | 14.2447 KOps/s | 13.5680 KOps/s | |
| test_compile_indexing[int-tensordict-eager] | 0.2498ms | 27.1344μs | 36.8536 KOps/s | 35.8305 KOps/s | |
| test_compile_indexing[int-tensorclass-compile] | 0.1737ms | 59.0400μs | 16.9377 KOps/s | 16.8807 KOps/s | |
| test_compile_indexing[int-tensorclass-eager] | 0.2390ms | 21.9756μs | 45.5049 KOps/s | 45.3052 KOps/s | |
| test_compile_indexing[int-pytree-compile] | 0.1282ms | 59.0948μs | 16.9219 KOps/s | 16.8009 KOps/s | |
| test_compile_indexing[int-pytree-eager] | 0.2696ms | 21.9181μs | 45.6244 KOps/s | 44.7232 KOps/s | |
| test_compile_replace[single-eager] | 0.1689ms | 46.9537μs | 21.2976 KOps/s | 19.6542 KOps/s | |
| test_compile_replace[single-compile] | 0.1696ms | 0.1214ms | 8.2394 KOps/s | 7.8742 KOps/s | |
| test_compile_replace[multi-eager] | 0.6535ms | 0.5811ms | 1.7209 KOps/s | 1.7551 KOps/s | |
| test_compile_replace[multi-compile] | 0.2943ms | 0.1283ms | 7.7948 KOps/s | 7.5280 KOps/s | |
| test_compile_tc_getattr_20[eager] | 0.2217ms | 0.1735ms | 5.7627 KOps/s | 5.7260 KOps/s | |
| test_compile_tc_getattr_20[compile] | 0.2638ms | 0.1367ms | 7.3153 KOps/s | 7.0415 KOps/s | |
| test_compile_clone_shallow[20-eager] | 49.2110μs | 19.2400μs | 51.9750 KOps/s | 51.2128 KOps/s | |
| test_compile_clone_shallow[20-compile] | 99.4420μs | 17.1744μs | 58.2260 KOps/s | 56.1490 KOps/s | |
| test_compile_clone_shallow[40-eager] | 66.2010μs | 33.6552μs | 29.7131 KOps/s | 28.9673 KOps/s | |
| test_compile_clone_shallow[40-compile] | 82.2910μs | 18.6462μs | 53.6301 KOps/s | 51.8622 KOps/s | |
| test_compile_clone_shallow[80-eager] | 96.7010μs | 63.1953μs | 15.8240 KOps/s | 15.5982 KOps/s | |
| test_compile_clone_shallow[80-compile] | 0.1058ms | 23.0752μs | 43.3366 KOps/s | 45.8324 KOps/s | |
| test_compile_update_inplace[eager] | 0.2197ms | 59.6211μs | 16.7726 KOps/s | 16.6046 KOps/s | |
| test_compile_update_inplace[compile] | 0.2985ms | 0.1567ms | 6.3822 KOps/s | 6.3734 KOps/s | |
| test_mod_add[eager] | 96.9910μs | 48.8930μs | 20.4528 KOps/s | 20.3387 KOps/s | |
| test_mod_add[compile] | 0.5856ms | 0.1184ms | 8.4478 KOps/s | 8.2056 KOps/s | |
| test_mod_add[compile-overhead] | 0.4600ms | 0.1689ms | 5.9218 KOps/s | 5.8169 KOps/s | |
| test_mod_wrap[eager] | 0.4434ms | 0.3037ms | 3.2922 KOps/s | 3.4232 KOps/s | |
| test_mod_wrap[compile] | 0.4391ms | 0.3674ms | 2.7221 KOps/s | 2.5034 KOps/s | |
| test_mod_wrap[compile-overhead] | 9.4205ms | 5.0743ms | 197.0715 Ops/s | 197.5556 Ops/s | |
| test_mod_wrap_and_backward[eager] | 1.7880ms | 1.6586ms | 602.9085 Ops/s | 655.1687 Ops/s | |
| test_mod_wrap_and_backward[compile] | 1.8617ms | 1.5767ms | 634.2266 Ops/s | 672.8053 Ops/s | |
| test_mod_wrap_and_backward[compile-overhead] | 1.4745ms | 1.0243ms | 976.2332 Ops/s | 1.0632 KOps/s | |
| test_seq_add[eager] | 0.2051ms | 0.1534ms | 6.5192 KOps/s | 6.2686 KOps/s | |
| test_seq_add[compile] | 0.2303ms | 0.1288ms | 7.7617 KOps/s | 6.6856 KOps/s | |
| test_seq_add[compile-overhead] | 0.2835ms | 0.1709ms | 5.8523 KOps/s | 5.3236 KOps/s | |
| test_seq_wrap[eager] | 0.6731ms | 0.5195ms | 1.9250 KOps/s | 1.8878 KOps/s | |
| test_seq_wrap[compile] | 0.4975ms | 0.3872ms | 2.5825 KOps/s | 2.4260 KOps/s | |
| test_seq_wrap[compile-overhead] | 0.3756ms | 0.2893ms | 3.4572 KOps/s | 3.3244 KOps/s | |
| test_func_call_runtime[False-eager] | 0.9902ms | 0.8722ms | 1.1465 KOps/s | 1.1732 KOps/s | |
| test_func_call_runtime[False-compile] | 1.1168ms | 0.9408ms | 1.0629 KOps/s | 1.0610 KOps/s | |
| test_func_call_runtime[False-compile-overhead] | 0.6192ms | 0.4925ms | 2.0306 KOps/s | 1.9817 KOps/s | |
| test_func_call_runtime[True-eager] | 1.4091ms | 1.0758ms | 929.5506 Ops/s | 913.3479 Ops/s | |
| test_func_call_runtime[True-compile] | 1.1303ms | 0.9355ms | 1.0689 KOps/s | 1.0080 KOps/s | |
| test_func_call_runtime[True-compile-overhead] | 0.5675ms | 0.5066ms | 1.9740 KOps/s | 1.9053 KOps/s | |
| test_func_call_cm_runtime[False-eager] | 0.9600ms | 0.8656ms | 1.1553 KOps/s | 1.1210 KOps/s | |
| test_func_call_cm_runtime[False-compile] | 1.0158ms | 0.9047ms | 1.1053 KOps/s | 1.0445 KOps/s | |
| test_func_call_cm_runtime[False-compile-overhead] | 0.6256ms | 0.4703ms | 2.1262 KOps/s | 2.0545 KOps/s | |
| test_func_call_cm_runtime[True-eager] | 1.3745ms | 1.2179ms | 821.1168 Ops/s | 786.6495 Ops/s | |
| test_func_call_cm_runtime[True-compile] | 1.2000ms | 0.9539ms | 1.0484 KOps/s | 1.0342 KOps/s | |
| test_func_call_cm_runtime[True-compile-overhead] | 0.5833ms | 0.5136ms | 1.9471 KOps/s | 1.8947 KOps/s | |
| test_vmap_func_call_cm_runtime[eager] | 3.0866ms | 2.3828ms | 419.6684 Ops/s | 411.9144 Ops/s | |
| test_vmap_func_call_cm_runtime[compile] | 1.0936ms | 0.9624ms | 1.0390 KOps/s | 1.0207 KOps/s | |
| test_vmap_func_call_cm_runtime[compile-overhead] | 0.5788ms | 0.5189ms | 1.9271 KOps/s | 1.8610 KOps/s | |
| test_distributed | 0.6276ms | 0.1541ms | 6.4889 KOps/s | 6.4832 KOps/s | |
| test_tdmodule | 0.4815ms | 28.0317μs | 35.6739 KOps/s | 36.3692 KOps/s | |
| test_tdmodule_dispatch | 76.6110μs | 45.5081μs | 21.9741 KOps/s | 22.4177 KOps/s | |
| test_tdseq | 46.0000μs | 26.9015μs | 37.1726 KOps/s | 37.3445 KOps/s | |
| test_tdseq_dispatch | 85.7310μs | 47.4005μs | 21.0968 KOps/s | 21.3226 KOps/s | |
| test_instantiation_functorch | 2.1962ms | 2.0675ms | 483.6859 Ops/s | 476.3043 Ops/s | |
| test_exec_functorch | 0.2200ms | 0.1771ms | 5.6453 KOps/s | 5.5906 KOps/s | |
| test_exec_functional_call | 0.2201ms | 0.1587ms | 6.3029 KOps/s | 6.2935 KOps/s | |
| test_exec_td_decorator | 0.4639ms | 0.2364ms | 4.2304 KOps/s | 4.2647 KOps/s | |
| test_vmap_mlp_speed_decorator[True-True] | 1.0270ms | 0.8253ms | 1.2117 KOps/s | 1.2001 KOps/s | |
| test_vmap_mlp_speed_decorator[True-False] | 1.0221ms | 0.8289ms | 1.2065 KOps/s | 1.1942 KOps/s | |
| test_vmap_mlp_speed_decorator[False-True] | 0.9475ms | 0.7187ms | 1.3914 KOps/s | 1.3470 KOps/s | |
| test_vmap_mlp_speed_decorator[False-False] | 0.8852ms | 0.7154ms | 1.3979 KOps/s | 1.3933 KOps/s | |
| test_vmap_transformer_speed_decorator[True-True] | 21.5479ms | 20.9804ms | 47.6636 Ops/s | 47.8021 Ops/s | |
| test_vmap_transformer_speed_decorator[True-False] | 21.4531ms | 20.9728ms | 47.6808 Ops/s | 47.8969 Ops/s | |
| test_vmap_transformer_speed_decorator[False-True] | 21.6002ms | 20.8768ms | 47.9000 Ops/s | 48.2869 Ops/s | |
| test_vmap_transformer_speed_decorator[False-False] | 21.8221ms | 20.8478ms | 47.9666 Ops/s | 48.3703 Ops/s | |
| test_to_module_speed[True] | 2.0627ms | 1.4687ms | 680.8696 Ops/s | 667.4861 Ops/s | |
| test_to_module_speed[False] | 1.5421ms | 1.4371ms | 695.8261 Ops/s | 682.6216 Ops/s | |
| test_tc_init | 82.3010μs | 44.8596μs | 22.2918 KOps/s | 22.0322 KOps/s | |
| test_tc_init_tensor_only | 39.1810μs | 9.9494μs | 100.5090 KOps/s | 100.1852 KOps/s | |
| test_tc_init_nested | 0.1321ms | 89.7984μs | 11.1361 KOps/s | 11.0696 KOps/s | |
| test_tc_init_many_fields | 48.5210μs | 16.5052μs | 60.5869 KOps/s | 59.7656 KOps/s | |
| test_tc_first_layer_tensor | 19.0000μs | 1.8065μs | 553.5703 KOps/s | 542.5716 KOps/s | |
| test_tc_first_layer_tensor_only | 4.1310μs | 0.4032μs | 2.4804 MOps/s | 2.5473 MOps/s | |
| test_tc_first_layer_tensor_set | 29.7310μs | 3.9528μs | 252.9877 KOps/s | 252.3387 KOps/s | |
| test_tc_first_layer_tensor_only_set | 32.6700μs | 3.2786μs | 305.0108 KOps/s | 302.9309 KOps/s | |
| test_tc_first_layer_nontensor | 25.6010μs | 6.2107μs | 161.0137 KOps/s | 162.4397 KOps/s | |
| test_tc_second_layer_tensor | 26.6610μs | 4.4351μs | 225.4752 KOps/s | 224.5992 KOps/s | |
| test_tc_second_layer_nontensor | 50.6310μs | 8.6634μs | 115.4287 KOps/s | 114.6376 KOps/s | |
| test_unbind | 0.2726s | 16.7644ms | 59.6502 Ops/s | 68.9716 Ops/s | |
| test_full_like | 9.4307ms | 7.3797ms | 135.5073 Ops/s | 226.8154 Ops/s | |
| test_zeros_like | 5.0378ms | 4.3844ms | 228.0809 Ops/s | 230.1066 Ops/s | |
| test_ones_like | 4.7148ms | 4.2805ms | 233.6187 Ops/s | 227.1531 Ops/s | |
| test_clone | 6.9259ms | 6.5821ms | 151.9271 Ops/s | 151.4178 Ops/s | |
| test_squeeze | 0.1634ms | 14.2631μs | 70.1110 KOps/s | 70.6011 KOps/s | |
| test_unsqueeze | 0.1842ms | 0.1109ms | 9.0134 KOps/s | 8.6849 KOps/s | |
| test_split | 0.3964ms | 0.1835ms | 5.4496 KOps/s | 5.3000 KOps/s | |
| test_permute | 0.2685ms | 0.2093ms | 4.7768 KOps/s | 4.7150 KOps/s | |
| test_stack | 52.0131ms | 51.5846ms | 19.3856 Ops/s | 19.2918 Ops/s | |
| test_cat | 52.2483ms | 51.6675ms | 19.3545 Ops/s | 28.3999 Ops/s | |
| test_sequential_tensordict | 0.3095ms | 0.2291ms | 4.3647 KOps/s | 4.5784 KOps/s | |
| test_sequential_graph_module | 0.1908ms | 0.1231ms | 8.1229 KOps/s | 8.4182 KOps/s | |
| test_nested_tensordict | 0.6488ms | 0.2912ms | 3.4340 KOps/s | 3.3952 KOps/s | |
| test_nested_graph_module | 0.5312ms | 0.1332ms | 7.5050 KOps/s | 7.6583 KOps/s |
Contributor
|
| Name | Max | Mean | Ops | Ops on Repo HEAD
|
Change |
|---|---|---|---|---|---|
| test_plain_set_nested | 31.2810μs | 14.9546μs | 66.8690 KOps/s | 66.9588 KOps/s | |
| test_plain_set_stack_nested | 39.0610μs | 15.2356μs | 65.6358 KOps/s | 66.5725 KOps/s | |
| test_plain_set_nested_inplace | 59.9610μs | 16.6462μs | 60.0737 KOps/s | 60.0177 KOps/s | |
| test_plain_set_stack_nested_inplace | 58.2010μs | 16.3126μs | 61.3023 KOps/s | 61.1922 KOps/s | |
| test_items | 28.7510μs | 5.9797μs | 167.2322 KOps/s | 165.4620 KOps/s | |
| test_items_nested | 0.6035ms | 0.4620ms | 2.1645 KOps/s | 2.1401 KOps/s | |
| test_items_nested_locked | 0.5734ms | 0.4655ms | 2.1484 KOps/s | 2.1285 KOps/s | |
| test_items_nested_leaf | 0.2075ms | 98.4336μs | 10.1591 KOps/s | 10.1141 KOps/s | |
| test_items_stack_nested | 0.6506ms | 0.4664ms | 2.1440 KOps/s | 2.1557 KOps/s | |
| test_items_stack_nested_leaf | 0.2326ms | 97.7249μs | 10.2328 KOps/s | 10.2446 KOps/s | |
| test_items_stack_nested_locked | 0.6267ms | 0.4646ms | 2.1523 KOps/s | 2.1219 KOps/s | |
| test_keys | 25.9800μs | 4.1899μs | 238.6696 KOps/s | 225.6068 KOps/s | |
| test_keys_nested | 0.2576ms | 0.1291ms | 7.7455 KOps/s | 7.6885 KOps/s | |
| test_keys_nested_locked | 2.2661ms | 0.1385ms | 7.2206 KOps/s | 7.1773 KOps/s | |
| test_keys_nested_leaf | 0.1611ms | 0.1195ms | 8.3705 KOps/s | 8.3180 KOps/s | |
| test_keys_stack_nested | 0.3152ms | 0.1293ms | 7.7312 KOps/s | 7.7110 KOps/s | |
| test_keys_stack_nested_leaf | 0.2621ms | 0.1196ms | 8.3595 KOps/s | 8.3390 KOps/s | |
| test_keys_stack_nested_locked | 0.3030ms | 0.1367ms | 7.3156 KOps/s | 7.2973 KOps/s | |
| test_values | 6.8182μs | 1.0240μs | 976.5992 KOps/s | 981.8897 KOps/s | |
| test_values_nested | 0.1324ms | 52.5172μs | 19.0414 KOps/s | 19.0823 KOps/s | |
| test_values_nested_locked | 0.1374ms | 55.0947μs | 18.1506 KOps/s | 18.2039 KOps/s | |
| test_values_nested_leaf | 0.1531ms | 59.1555μs | 16.9046 KOps/s | 16.7464 KOps/s | |
| test_values_stack_nested | 0.1926ms | 51.9955μs | 19.2324 KOps/s | 19.1767 KOps/s | |
| test_values_stack_nested_leaf | 0.1460ms | 59.8687μs | 16.7032 KOps/s | 16.6437 KOps/s | |
| test_values_stack_nested_locked | 90.1620μs | 55.0914μs | 18.1517 KOps/s | 17.9764 KOps/s | |
| test_membership | 5.2935μs | 0.8294μs | 1.2057 MOps/s | 1.1672 MOps/s | |
| test_membership_nested | 26.0100μs | 2.8893μs | 346.1064 KOps/s | 346.4887 KOps/s | |
| test_membership_nested_leaf | 16.1900μs | 2.7777μs | 360.0108 KOps/s | 358.8627 KOps/s | |
| test_membership_stacked_nested | 28.2000μs | 2.8913μs | 345.8689 KOps/s | 344.9379 KOps/s | |
| test_membership_stacked_nested_leaf | 32.4310μs | 2.8842μs | 346.7196 KOps/s | 343.8149 KOps/s | |
| test_membership_nested_last | 31.9300μs | 4.2929μs | 232.9453 KOps/s | 228.7580 KOps/s | |
| test_membership_nested_leaf_last | 32.0500μs | 4.3326μs | 230.8083 KOps/s | 228.9187 KOps/s | |
| test_membership_stacked_nested_last | 38.4000μs | 4.2952μs | 232.8206 KOps/s | 228.7246 KOps/s | |
| test_membership_stacked_nested_leaf_last | 46.3910μs | 4.3434μs | 230.2327 KOps/s | 228.6745 KOps/s | |
| test_nested_getleaf | 51.6410μs | 21.8231μs | 45.8229 KOps/s | 46.1036 KOps/s | |
| test_nested_get | 82.7910μs | 20.5508μs | 48.6600 KOps/s | 48.6914 KOps/s | |
| test_stacked_getleaf | 84.9510μs | 21.3675μs | 46.8000 KOps/s | 45.8249 KOps/s | |
| test_stacked_get | 66.7810μs | 20.3746μs | 49.0807 KOps/s | 48.5574 KOps/s | |
| test_nested_getitemleaf | 78.5610μs | 21.8898μs | 45.6834 KOps/s | 44.6780 KOps/s | |
| test_nested_getitem | 44.7400μs | 20.8053μs | 48.0646 KOps/s | 47.3627 KOps/s | |
| test_stacked_getitemleaf | 71.1710μs | 22.2610μs | 44.9216 KOps/s | 44.8430 KOps/s | |
| test_stacked_getitem | 63.9610μs | 20.9469μs | 47.7398 KOps/s | 46.8066 KOps/s | |
| test_lock_nested | 0.6556ms | 0.4740ms | 2.1097 KOps/s | 2.0777 KOps/s | |
| test_lock_stack_nested | 0.6689ms | 0.4826ms | 2.0719 KOps/s | 2.0493 KOps/s | |
| test_unlock_nested | 0.5616ms | 0.3920ms | 2.5509 KOps/s | 2.5380 KOps/s | |
| test_unlock_stack_nested | 0.4524ms | 0.3912ms | 2.5561 KOps/s | 2.5195 KOps/s | |
| test_flatten_speed | 0.1527ms | 0.1224ms | 8.1706 KOps/s | 8.1971 KOps/s | |
| test_unflatten_speed | 0.7585ms | 0.5772ms | 1.7326 KOps/s | 1.7463 KOps/s | |
| test_common_ops | 0.8893ms | 0.6847ms | 1.4605 KOps/s | 1.4288 KOps/s | |
| test_creation | 91.4020μs | 3.1148μs | 321.0442 KOps/s | 316.8808 KOps/s | |
| test_creation_empty | 35.9600μs | 6.9502μs | 143.8814 KOps/s | 142.5564 KOps/s | |
| test_creation_nested_1 | 68.7710μs | 11.4487μs | 87.3463 KOps/s | 85.9484 KOps/s | |
| test_creation_nested_2 | 49.8010μs | 13.1951μs | 75.7854 KOps/s | 74.7506 KOps/s | |
| test_creation_many_keys[10] | 69.1210μs | 20.6467μs | 48.4338 KOps/s | 47.1169 KOps/s | |
| test_creation_many_keys[50] | 0.1255ms | 89.3078μs | 11.1972 KOps/s | 10.9401 KOps/s | |
| test_creation_many_keys[100] | 0.3555ms | 0.1747ms | 5.7251 KOps/s | 5.5663 KOps/s | |
| test_creation_nested_many_keys[10] | 0.1385ms | 44.5912μs | 22.4259 KOps/s | 22.0842 KOps/s | |
| test_creation_nested_many_keys[50] | 0.3325ms | 0.1822ms | 5.4893 KOps/s | 5.3502 KOps/s | |
| test_clone | 53.5310μs | 13.1926μs | 75.7999 KOps/s | 76.7278 KOps/s | |
| test_getitem[int] | 1.6079ms | 15.3017μs | 65.3524 KOps/s | 59.0784 KOps/s | |
| test_getitem[slice_int] | 0.1433ms | 24.6598μs | 40.5519 KOps/s | 40.5645 KOps/s | |
| test_getitem[range] | 0.1827ms | 63.0974μs | 15.8485 KOps/s | 14.9701 KOps/s | |
| test_getitem[tuple] | 0.1379ms | 23.8821μs | 41.8723 KOps/s | 40.7795 KOps/s | |
| test_getitem[list] | 0.1812ms | 57.0690μs | 17.5226 KOps/s | 17.1321 KOps/s | |
| test_setitem_dim[int] | 67.7310μs | 25.1768μs | 39.7191 KOps/s | 38.0912 KOps/s | |
| test_setitem_dim[slice_int] | 81.9710μs | 41.8528μs | 23.8932 KOps/s | 23.3966 KOps/s | |
| test_setitem_dim[range] | 0.1660ms | 93.5866μs | 10.6853 KOps/s | 10.5197 KOps/s | |
| test_setitem_dim[tuple] | 61.8810μs | 39.2739μs | 25.4622 KOps/s | 25.1851 KOps/s | |
| test_setitem | 57.1910μs | 17.5306μs | 57.0432 KOps/s | 57.2246 KOps/s | |
| test_set | 65.8610μs | 16.7013μs | 59.8755 KOps/s | 59.2972 KOps/s | |
| test_set_shared | 0.5491ms | 0.2030ms | 4.9259 KOps/s | 4.8804 KOps/s | |
| test_update | 0.3486ms | 21.1140μs | 47.3620 KOps/s | 46.1155 KOps/s | |
| test_update_nested | 73.4710μs | 32.7921μs | 30.4951 KOps/s | 30.0527 KOps/s | |
| test_update__nested | 0.4551ms | 33.6295μs | 29.7358 KOps/s | 28.8448 KOps/s | |
| test_set_nested | 52.3400μs | 18.2571μs | 54.7732 KOps/s | 53.4293 KOps/s | |
| test_set_nested_new | 77.7410μs | 23.8630μs | 41.9059 KOps/s | 42.8613 KOps/s | |
| test_select | 79.5010μs | 39.8043μs | 25.1229 KOps/s | 24.5634 KOps/s | |
| test_select_nested | 0.1867ms | 73.7077μs | 13.5671 KOps/s | 13.5137 KOps/s | |
| test_exclude_nested | 0.1976ms | 91.5436μs | 10.9238 KOps/s | 10.9760 KOps/s | |
| test_empty[True] | 0.5518ms | 0.3958ms | 2.5266 KOps/s | 2.5396 KOps/s | |
| test_empty[False] | 8.1327μs | 1.3081μs | 764.4721 KOps/s | 767.4838 KOps/s | |
| test_to | 0.1052ms | 73.0544μs | 13.6884 KOps/s | 13.8994 KOps/s | |
| test_to_nonblocking | 0.1071ms | 66.4795μs | 15.0422 KOps/s | 15.1968 KOps/s | |
| test_unbind_speed | 0.5095ms | 0.3329ms | 3.0036 KOps/s | 2.9738 KOps/s | |
| test_unbind_speed_stack0 | 0.5071ms | 0.3325ms | 3.0071 KOps/s | 3.0025 KOps/s | |
| test_unbind_speed_stack1 | 0.1054s | 0.8311ms | 1.2032 KOps/s | 1.1762 KOps/s | |
| test_split | 0.1058s | 1.2580ms | 794.9436 Ops/s | 780.1050 Ops/s | |
| test_chunk | 0.1068s | 1.2106ms | 826.0271 Ops/s | 919.6894 Ops/s | |
| test_to_cpu_blocking | 20.6049ms | 19.8632ms | 50.3443 Ops/s | 45.4836 Ops/s | |
| test_to_cpu_global_sync | 11.8906ms | 11.7498ms | 85.1076 Ops/s | 85.1112 Ops/s | |
| test_to_cpu_event_sync | 13.0218ms | 12.7018ms | 78.7289 Ops/s | 78.7793 Ops/s | |
| test_to_cpu_default | 0.1191s | 14.0994ms | 70.9249 Ops/s | 78.2619 Ops/s | |
| test_consolidate[False-None] | 4.3770ms | 4.0829ms | 244.9224 Ops/s | 242.7403 Ops/s | |
| test_consolidate[default-None] | 2.1774ms | 2.0436ms | 489.3353 Ops/s | 477.6962 Ops/s | |
| test_consolidate[reduce-overhead-None] | 2.1442ms | 1.9756ms | 506.1689 Ops/s | 494.7592 Ops/s | |
| test_consolidate_njt[False-None] | 8.7259ms | 8.4729ms | 118.0240 Ops/s | 115.3910 Ops/s | |
| test_to[False-False-None] | 2.3516ms | 2.1663ms | 461.6215 Ops/s | 456.7997 Ops/s | |
| test_to[True-False-None] | 2.2011ms | 1.9386ms | 515.8250 Ops/s | 525.3712 Ops/s | |
| test_to[within-False-None] | 6.3607ms | 6.1643ms | 162.2247 Ops/s | 162.3787 Ops/s | |
| test_to[True-default-None] | 9.4398ms | 9.2752ms | 107.8148 Ops/s | 102.0410 Ops/s | |
| test_to_njt[False-False-None] | 8.7817ms | 8.5908ms | 116.4041 Ops/s | 113.3097 Ops/s | |
| test_to_njt[True-False-None] | 7.1936ms | 6.9737ms | 143.3966 Ops/s | 142.1920 Ops/s | |
| test_to_njt[within-False-None] | 15.9209ms | 15.5913ms | 64.1383 Ops/s | 63.2713 Ops/s | |
| test_creation[device0] | 0.3966ms | 0.1160ms | 8.6239 KOps/s | 8.7697 KOps/s | |
| test_creation_from_tensor | 0.3977ms | 0.1168ms | 8.5650 KOps/s | 8.9989 KOps/s | |
| test_add_one[memmap_tensor0] | 0.2949ms | 6.6765μs | 149.7794 KOps/s | 150.1483 KOps/s | |
| test_contiguous[memmap_tensor0] | 22.5710μs | 0.6563μs | 1.5238 MOps/s | 2.2332 MOps/s | |
| test_stack[memmap_tensor0] | 29.7200μs | 4.7287μs | 211.4747 KOps/s | 214.7060 KOps/s | |
| test_memmaptd_index | 1.0534ms | 0.2688ms | 3.7208 KOps/s | 3.7109 KOps/s | |
| test_memmaptd_index_astensor | 0.5501ms | 0.3725ms | 2.6848 KOps/s | 2.6959 KOps/s | |
| test_memmaptd_index_op | 0.8692ms | 0.6180ms | 1.6181 KOps/s | 1.5900 KOps/s | |
| test_serialize_model | 0.3235s | 0.1617s | 6.1833 Ops/s | 7.4280 Ops/s | |
| test_serialize_model_pickle | 1.3805s | 1.1994s | 0.8338 Ops/s | 0.8368 Ops/s | |
| test_serialize_weights | 0.1371s | 0.1339s | 7.4686 Ops/s | 7.4406 Ops/s | |
| test_serialize_weights_returnearly | 0.4524s | 86.3680ms | 11.5784 Ops/s | 6.9929 Ops/s | |
| test_serialize_weights_pickle | 1.3691s | 1.2145s | 0.8234 Ops/s | 0.8228 Ops/s | |
| test_reshape_pytree | 0.2045ms | 32.2965μs | 30.9631 KOps/s | 30.6675 KOps/s | |
| test_reshape_td | 71.8410μs | 45.9699μs | 21.7534 KOps/s | 22.0223 KOps/s | |
| test_view_pytree | 0.2140ms | 32.0796μs | 31.1725 KOps/s | 30.9520 KOps/s | |
| test_view_td | 86.5710μs | 53.4526μs | 18.7082 KOps/s | 18.8873 KOps/s | |
| test_unbind_pytree | 0.2293ms | 35.8704μs | 27.8781 KOps/s | 27.4128 KOps/s | |
| test_unbind_td | 0.1057ms | 50.2425μs | 19.9035 KOps/s | 20.0497 KOps/s | |
| test_split_pytree | 0.2454ms | 42.3829μs | 23.5944 KOps/s | 23.6869 KOps/s | |
| test_split_td | 0.1421ms | 64.2592μs | 15.5620 KOps/s | 15.3617 KOps/s | |
| test_add_pytree | 0.2696ms | 41.3913μs | 24.1597 KOps/s | 23.9963 KOps/s | |
| test_add_td | 0.1216ms | 55.2594μs | 18.0965 KOps/s | 18.3410 KOps/s | |
| test_compile_add_one_nested[tensordict-compile] | 0.2726ms | 0.1593ms | 6.2762 KOps/s | 6.0076 KOps/s | |
| test_compile_add_one_nested[tensordict-eager] | 0.4796ms | 0.2038ms | 4.9073 KOps/s | 5.0129 KOps/s | |
| test_compile_add_one_nested[pytree-compile] | 0.3946ms | 0.1276ms | 7.8353 KOps/s | 7.8758 KOps/s | |
| test_compile_add_one_nested[pytree-eager] | 0.4266ms | 0.1792ms | 5.5790 KOps/s | 5.6171 KOps/s | |
| test_compile_copy_nested[tensordict-compile] | 0.3148ms | 17.8227μs | 56.1081 KOps/s | 61.7800 KOps/s | |
| test_compile_copy_nested[tensordict-eager] | 0.1447ms | 54.6080μs | 18.3123 KOps/s | 18.5474 KOps/s | |
| test_compile_copy_nested[pytree-compile] | 0.1826ms | 16.0579μs | 62.2746 KOps/s | 61.7088 KOps/s | |
| test_compile_copy_nested[pytree-eager] | 0.3468ms | 67.6604μs | 14.7797 KOps/s | 14.8094 KOps/s | |
| test_compile_add_one_flat[tensordict-compile] | 0.2998ms | 0.1996ms | 5.0106 KOps/s | 4.8994 KOps/s | |
| test_compile_add_one_flat[tensordict-eager] | 0.4308ms | 0.2787ms | 3.5879 KOps/s | 3.6162 KOps/s | |
| test_compile_add_one_flat[tensorclass-compile] | 0.3199ms | 0.1359ms | 7.3610 KOps/s | 7.2905 KOps/s | |
| test_compile_add_one_flat[tensorclass-eager] | 0.1815ms | 74.7067μs | 13.3857 KOps/s | 13.4934 KOps/s | |
| test_compile_add_one_flat[pytree-compile] | 0.2156ms | 0.1788ms | 5.5914 KOps/s | 5.4737 KOps/s | |
| test_compile_add_one_flat[pytree-eager] | 0.8195ms | 0.5294ms | 1.8891 KOps/s | 1.8777 KOps/s | |
| test_compile_add_self_flat[tensordict-eager] | 0.5064ms | 0.3308ms | 3.0231 KOps/s | 3.0208 KOps/s | |
| test_compile_add_self_flat[tensordict-compile] | 0.2786ms | 0.1997ms | 5.0068 KOps/s | 4.6853 KOps/s | |
| test_compile_add_self_flat[tensorclass-eager] | 0.1873ms | 90.2540μs | 11.0798 KOps/s | 11.1694 KOps/s | |
| test_compile_add_self_flat[tensorclass-compile] | 0.2919ms | 0.1364ms | 7.3301 KOps/s | 7.0599 KOps/s | |
| test_compile_add_self_flat[pytree-eager] | 0.1826s | 0.5247ms | 1.9057 KOps/s | 2.2581 KOps/s | |
| test_compile_add_self_flat[pytree-compile] | 0.2773ms | 0.1809ms | 5.5284 KOps/s | 5.3676 KOps/s | |
| test_compile_copy_flat[tensordict-compile] | 84.1910μs | 19.3901μs | 51.5728 KOps/s | 48.8979 KOps/s | |
| test_compile_copy_flat[tensordict-eager] | 0.1225ms | 41.9815μs | 23.8200 KOps/s | 24.1256 KOps/s | |
| test_compile_copy_flat[pytree-compile] | 0.2408ms | 16.3197μs | 61.2756 KOps/s | 59.2159 KOps/s | |
| test_compile_copy_flat[pytree-eager] | 0.3425ms | 53.0482μs | 18.8508 KOps/s | 19.0952 KOps/s | |
| test_compile_assign_and_add[tensordict-compile] | 2.0892ms | 0.1886ms | 5.3029 KOps/s | 4.7998 KOps/s | |
| test_compile_assign_and_add[tensordict-eager] | 3.6142ms | 3.3434ms | 299.1001 Ops/s | 296.0989 Ops/s | |
| test_compile_assign_and_add[pytree-compile] | 2.1010ms | 0.1753ms | 5.7045 KOps/s | 5.4953 KOps/s | |
| test_compile_assign_and_add[pytree-eager] | 3.0384ms | 2.8416ms | 351.9087 Ops/s | 352.9361 Ops/s | |
| test_compile_indexing[tensor-tensordict-compile] | 0.2487ms | 0.1266ms | 7.8988 KOps/s | 7.5420 KOps/s | |
| test_compile_indexing[tensor-tensordict-eager] | 0.3093ms | 73.6143μs | 13.5843 KOps/s | 13.5555 KOps/s | |
| test_compile_indexing[tensor-tensorclass-compile] | 0.1991ms | 0.1125ms | 8.8892 KOps/s | 8.6728 KOps/s | |
| test_compile_indexing[tensor-tensorclass-eager] | 0.2494ms | 44.3845μs | 22.5304 KOps/s | 22.1070 KOps/s | |
| test_compile_indexing[tensor-pytree-compile] | 0.2942ms | 0.1137ms | 8.7935 KOps/s | 8.2629 KOps/s | |
| test_compile_indexing[tensor-pytree-eager] | 0.2594ms | 44.2183μs | 22.6151 KOps/s | 21.8874 KOps/s | |
| test_compile_indexing[slice-tensordict-compile] | 0.2310ms | 70.9251μs | 14.0994 KOps/s | 13.3574 KOps/s | |
| test_compile_indexing[slice-tensordict-eager] | 0.2060ms | 27.4504μs | 36.4293 KOps/s | 36.2887 KOps/s | |
| test_compile_indexing[slice-tensorclass-compile] | 0.1580ms | 57.8454μs | 17.2875 KOps/s | 16.1237 KOps/s | |
| test_compile_indexing[slice-tensorclass-eager] | 0.2361ms | 21.8747μs | 45.7149 KOps/s | 45.3093 KOps/s | |
| test_compile_indexing[slice-pytree-compile] | 0.1625ms | 58.8243μs | 16.9998 KOps/s | 16.2393 KOps/s | |
| test_compile_indexing[slice-pytree-eager] | 0.2876ms | 21.8446μs | 45.7779 KOps/s | 45.4342 KOps/s | |
| test_compile_indexing[int-tensordict-compile] | 0.2031ms | 71.0820μs | 14.0683 KOps/s | 13.4547 KOps/s | |
| test_compile_indexing[int-tensordict-eager] | 0.2718ms | 27.0365μs | 36.9870 KOps/s | 36.7906 KOps/s | |
| test_compile_indexing[int-tensorclass-compile] | 0.1418ms | 57.5838μs | 17.3660 KOps/s | 16.3449 KOps/s | |
| test_compile_indexing[int-tensorclass-eager] | 0.2261ms | 21.6054μs | 46.2847 KOps/s | 45.4164 KOps/s | |
| test_compile_indexing[int-pytree-compile] | 0.1429ms | 58.5551μs | 17.0779 KOps/s | 16.6347 KOps/s | |
| test_compile_indexing[int-pytree-eager] | 0.2592ms | 21.8036μs | 45.8640 KOps/s | 45.5943 KOps/s | |
| test_compile_replace[single-eager] | 0.1194ms | 47.1775μs | 21.1966 KOps/s | 19.9545 KOps/s | |
| test_compile_replace[single-compile] | 0.2314ms | 0.1213ms | 8.2443 KOps/s | 7.7296 KOps/s | |
| test_compile_replace[multi-eager] | 0.7350ms | 0.5643ms | 1.7720 KOps/s | 1.7671 KOps/s | |
| test_compile_replace[multi-compile] | 0.2442ms | 0.1275ms | 7.8438 KOps/s | 7.6478 KOps/s | |
| test_compile_tc_getattr_20[eager] | 0.3496ms | 0.1717ms | 5.8257 KOps/s | 5.8761 KOps/s | |
| test_compile_tc_getattr_20[compile] | 0.3122ms | 0.1376ms | 7.2685 KOps/s | 7.2641 KOps/s | |
| test_compile_clone_shallow[20-eager] | 49.8600μs | 19.4634μs | 51.3785 KOps/s | 53.1804 KOps/s | |
| test_compile_clone_shallow[20-compile] | 0.1021ms | 17.2615μs | 57.9324 KOps/s | 57.7743 KOps/s | |
| test_compile_clone_shallow[40-eager] | 93.1920μs | 34.1600μs | 29.2740 KOps/s | 29.9392 KOps/s | |
| test_compile_clone_shallow[40-compile] | 88.4710μs | 17.9831μs | 55.6079 KOps/s | 53.2014 KOps/s | |
| test_compile_clone_shallow[80-eager] | 0.1615ms | 63.6669μs | 15.7067 KOps/s | 16.0162 KOps/s | |
| test_compile_clone_shallow[80-compile] | 0.1223ms | 20.8090μs | 48.0561 KOps/s | 46.3490 KOps/s | |
| test_compile_update_inplace[eager] | 0.1474ms | 60.5858μs | 16.5055 KOps/s | 16.7860 KOps/s | |
| test_compile_update_inplace[compile] | 0.2010ms | 0.1520ms | 6.5774 KOps/s | 6.4354 KOps/s | |
| test_mod_add[eager] | 94.3720μs | 49.3591μs | 20.2597 KOps/s | 20.3626 KOps/s | |
| test_mod_add[compile] | 0.5844ms | 0.1202ms | 8.3207 KOps/s | 8.3324 KOps/s | |
| test_mod_add[compile-overhead] | 0.3096ms | 0.1661ms | 6.0189 KOps/s | 5.9159 KOps/s | |
| test_mod_wrap[eager] | 0.3729ms | 0.2920ms | 3.4249 KOps/s | 3.4497 KOps/s | |
| test_mod_wrap[compile] | 0.5224ms | 0.3707ms | 2.6973 KOps/s | 2.6483 KOps/s | |
| test_mod_wrap[compile-overhead] | 9.5489ms | 5.0621ms | 197.5448 Ops/s | 199.8031 Ops/s | |
| test_mod_wrap_and_backward[eager] | 1.8059ms | 1.5192ms | 658.2456 Ops/s | 661.0827 Ops/s | |
| test_mod_wrap_and_backward[compile] | 1.6467ms | 1.4703ms | 680.1267 Ops/s | 674.2629 Ops/s | |
| test_mod_wrap_and_backward[compile-overhead] | 1.2756ms | 0.9211ms | 1.0856 KOps/s | 1.0654 KOps/s | |
| test_seq_add[eager] | 0.2143ms | 0.1546ms | 6.4666 KOps/s | 6.3495 KOps/s | |
| test_seq_add[compile] | 0.3118ms | 0.1304ms | 7.6659 KOps/s | 7.1777 KOps/s | |
| test_seq_add[compile-overhead] | 0.3272ms | 0.1715ms | 5.8297 KOps/s | 5.3908 KOps/s | |
| test_seq_wrap[eager] | 0.6767ms | 0.5230ms | 1.9121 KOps/s | 1.8253 KOps/s | |
| test_seq_wrap[compile] | 0.5880ms | 0.3892ms | 2.5694 KOps/s | 2.4468 KOps/s | |
| test_seq_wrap[compile-overhead] | 0.3566ms | 0.2889ms | 3.4613 KOps/s | 3.2601 KOps/s | |
| test_func_call_runtime[False-eager] | 0.9979ms | 0.8395ms | 1.1911 KOps/s | 1.1396 KOps/s | |
| test_func_call_runtime[False-compile] | 1.0689ms | 0.9278ms | 1.0778 KOps/s | 1.0347 KOps/s | |
| test_func_call_runtime[False-compile-overhead] | 0.5520ms | 0.4917ms | 2.0336 KOps/s | 2.0113 KOps/s | |
| test_func_call_runtime[True-eager] | 1.2463ms | 1.0835ms | 922.9329 Ops/s | 933.1316 Ops/s | |
| test_func_call_runtime[True-compile] | 1.1250ms | 0.9443ms | 1.0590 KOps/s | 1.0176 KOps/s | |
| test_func_call_runtime[True-compile-overhead] | 0.6868ms | 0.5071ms | 1.9720 KOps/s | 1.9515 KOps/s | |
| test_func_call_cm_runtime[False-eager] | 0.9939ms | 0.8318ms | 1.2022 KOps/s | 1.1393 KOps/s | |
| test_func_call_cm_runtime[False-compile] | 1.0816ms | 0.9076ms | 1.1018 KOps/s | 1.0665 KOps/s | |
| test_func_call_cm_runtime[False-compile-overhead] | 0.6456ms | 0.4674ms | 2.1395 KOps/s | 2.1031 KOps/s | |
| test_func_call_cm_runtime[True-eager] | 1.4588ms | 1.2218ms | 818.4542 Ops/s | 813.1396 Ops/s | |
| test_func_call_cm_runtime[True-compile] | 1.0157ms | 0.9504ms | 1.0521 KOps/s | 1.0177 KOps/s | |
| test_func_call_cm_runtime[True-compile-overhead] | 0.5641ms | 0.5145ms | 1.9435 KOps/s | 1.9051 KOps/s | |
| test_vmap_func_call_cm_runtime[eager] | 2.9106ms | 2.3901ms | 418.3947 Ops/s | 418.4638 Ops/s | |
| test_vmap_func_call_cm_runtime[compile] | 1.1668ms | 0.9656ms | 1.0357 KOps/s | 1.0202 KOps/s | |
| test_vmap_func_call_cm_runtime[compile-overhead] | 0.6576ms | 0.5199ms | 1.9234 KOps/s | 1.8835 KOps/s | |
| test_distributed | 2.9428ms | 0.1689ms | 5.9212 KOps/s | 6.4580 KOps/s | |
| test_tdmodule | 0.5715ms | 27.8932μs | 35.8510 KOps/s | 36.2499 KOps/s | |
| test_tdmodule_dispatch | 0.1089ms | 45.0885μs | 22.1786 KOps/s | 21.8974 KOps/s | |
| test_tdseq | 66.0610μs | 26.7941μs | 37.3216 KOps/s | 37.1797 KOps/s | |
| test_tdseq_dispatch | 75.3210μs | 47.2042μs | 21.1845 KOps/s | 20.9404 KOps/s | |
| test_instantiation_functorch | 2.2885ms | 2.0739ms | 482.1939 Ops/s | 477.8698 Ops/s | |
| test_exec_functorch | 0.2861ms | 0.1784ms | 5.6067 KOps/s | 5.5441 KOps/s | |
| test_exec_functional_call | 0.2937ms | 0.1603ms | 6.2382 KOps/s | 6.2831 KOps/s | |
| test_exec_td_decorator | 0.4731ms | 0.2376ms | 4.2094 KOps/s | 4.2171 KOps/s | |
| test_vmap_mlp_speed_decorator[True-True] | 1.0417ms | 0.8261ms | 1.2105 KOps/s | 1.2139 KOps/s | |
| test_vmap_mlp_speed_decorator[True-False] | 1.0891ms | 0.8259ms | 1.2108 KOps/s | 1.2185 KOps/s | |
| test_vmap_mlp_speed_decorator[False-True] | 0.9170ms | 0.7128ms | 1.4030 KOps/s | 1.4118 KOps/s | |
| test_vmap_mlp_speed_decorator[False-False] | 0.8933ms | 0.7138ms | 1.4010 KOps/s | 1.4166 KOps/s | |
| test_vmap_transformer_speed_decorator[True-True] | 21.6333ms | 20.8176ms | 48.0363 Ops/s | 48.4071 Ops/s | |
| test_vmap_transformer_speed_decorator[True-False] | 21.3667ms | 20.7450ms | 48.2043 Ops/s | 48.4746 Ops/s | |
| test_vmap_transformer_speed_decorator[False-True] | 21.2410ms | 20.5859ms | 48.5769 Ops/s | 48.8316 Ops/s | |
| test_vmap_transformer_speed_decorator[False-False] | 21.1574ms | 20.5913ms | 48.5641 Ops/s | 48.8731 Ops/s | |
| test_to_module_speed[True] | 1.6468ms | 1.4682ms | 681.0861 Ops/s | 670.1955 Ops/s | |
| test_to_module_speed[False] | 1.6859ms | 1.4671ms | 681.6318 Ops/s | 694.1458 Ops/s | |
| test_tc_init | 73.3610μs | 44.7205μs | 22.3611 KOps/s | 22.4827 KOps/s | |
| test_tc_init_tensor_only | 47.1900μs | 9.6691μs | 103.4221 KOps/s | 102.8705 KOps/s | |
| test_tc_init_nested | 0.1681ms | 88.5106μs | 11.2981 KOps/s | 11.4366 KOps/s | |
| test_tc_init_many_fields | 50.2110μs | 16.4219μs | 60.8944 KOps/s | 61.2649 KOps/s | |
| test_tc_first_layer_tensor | 31.4900μs | 1.7925μs | 557.8700 KOps/s | 555.4308 KOps/s | |
| test_tc_first_layer_tensor_only | 1.5270μs | 0.3954μs | 2.5294 MOps/s | 2.5527 MOps/s | |
| test_tc_first_layer_tensor_set | 22.8100μs | 3.8289μs | 261.1709 KOps/s | 251.3990 KOps/s | |
| test_tc_first_layer_tensor_only_set | 19.8200μs | 3.2032μs | 312.1908 KOps/s | 306.9984 KOps/s | |
| test_tc_first_layer_nontensor | 25.2210μs | 6.2273μs | 160.5836 KOps/s | 162.0506 KOps/s | |
| test_tc_second_layer_tensor | 34.8010μs | 4.4685μs | 223.7886 KOps/s | 228.5234 KOps/s | |
| test_tc_second_layer_nontensor | 35.2200μs | 8.7793μs | 113.9043 KOps/s | 116.4660 KOps/s | |
| test_unbind | 0.2703s | 16.7598ms | 59.6665 Ops/s | 68.8587 Ops/s | |
| test_full_like | 5.0439ms | 4.3950ms | 227.5315 Ops/s | 227.9112 Ops/s | |
| test_zeros_like | 4.9160ms | 4.3561ms | 229.5656 Ops/s | 228.1184 Ops/s | |
| test_ones_like | 4.5420ms | 4.3521ms | 229.7715 Ops/s | 135.2166 Ops/s | |
| test_clone | 6.6737ms | 6.4124ms | 155.9468 Ops/s | 154.5555 Ops/s | |
| test_squeeze | 0.1467ms | 14.1504μs | 70.6693 KOps/s | 71.2195 KOps/s | |
| test_unsqueeze | 0.2510ms | 0.1097ms | 9.1173 KOps/s | 8.9086 KOps/s | |
| test_split | 0.2987ms | 0.1819ms | 5.4964 KOps/s | 5.4300 KOps/s | |
| test_permute | 0.2768ms | 0.2019ms | 4.9541 KOps/s | 4.8043 KOps/s | |
| test_stack | 53.8180ms | 51.4169ms | 19.4489 Ops/s | 19.5702 Ops/s | |
| test_cat | 51.5656ms | 51.0378ms | 19.5933 Ops/s | 23.4029 Ops/s | |
| test_sequential_tensordict | 0.3931ms | 0.2199ms | 4.5476 KOps/s | 4.5571 KOps/s | |
| test_sequential_graph_module | 0.1602ms | 0.1155ms | 8.6544 KOps/s | 8.5928 KOps/s | |
| test_nested_tensordict | 0.4808ms | 0.2809ms | 3.5602 KOps/s | 3.3715 KOps/s | |
| test_nested_graph_module | 0.1707ms | 0.1261ms | 7.9303 KOps/s | 7.7758 KOps/s |
vmoens
commented
Mar 28, 2026
Comment on lines
+84
to
+86
| # Force implement_for resolution at import time so that it doesn't trigger | ||
| # _gcd_import inside torch.compile tracing context. | ||
| _maybe_dispatch_higher_order_op(None, (), {}) |
Collaborator
Author
There was a problem hiding this comment.
I don't like this because it could make imports slower. Happy to integrate in 0.12.1 but not for now
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
HigherOrderOperatorhandling from all__torch_function__overrides into a shared_maybe_dispatch_higher_order_ophelper in_torch_func.py.@implement_for("torch", "2.1")sinceHigherOrderOperatorwas introduced in PyTorch 2.1 (not present in 2.0).implement_forresolution at import time to prevent_gcd_importgraph breaks insidetorch.compiletracing context.NotImplemented(HOPs cannot exist there).Follow-up to #1668.
Test plan
python -m pytest test/test_compile.py::TestNestedCompileRegion -xvspassespython -m pytest test/test_compile.py -x -q)Made with Cursor