Skip to content

[Distributed] Consolidated init_remote / from_remote_init - #1586

Merged
vmoens merged 3 commits into
gh/vmoens/69/basefrom
gh/vmoens/69/head
Feb 19, 2026
Merged

[Distributed] Consolidated init_remote / from_remote_init#1586
vmoens merged 3 commits into
gh/vmoens/69/basefrom
gh/vmoens/69/head

Conversation

@vmoens

@vmoens vmoens commented Feb 18, 2026

Copy link
Copy Markdown
Collaborator

Stack from ghstack (oldest at bottom):

Rewrite init_remote to consolidate the tensordict first and send only
2 messages (metadata dict via send_object_list + storage via dist.send)
instead of N+1 messages for N leaf tensors.

from_remote_init now receives the consolidated metadata, allocates a
single contiguous buffer, receives the storage, and rebuilds the full
tensordict via _rebuild_tensordict_files_consolidated.

This is RDMA-friendly (single large contiguous transfer) and also
preserves NonTensorData which was previously dropped.

Co-authored-by: Cursor cursoragent@cursor.com

[ghstack-poisoned]
@github-actions

github-actions Bot commented Feb 18, 2026

Copy link
Copy Markdown
Contributor

$\color{#D29922}\textsf{\Large⚠\kern{0.2cm}\normalsize Warning}$ Result of GPU Benchmark Tests

Total Benchmarks: 243. Improved: $\large\color{#35bf28}23$. Worsened: $\large\color{#d91a1a}8$.

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_plain_set_nested 32.6010μs 14.7157μs 67.9548 KOps/s 67.1989 KOps/s $\color{#35bf28}+1.12\%$
test_plain_set_stack_nested 33.8810μs 15.0824μs 66.3026 KOps/s 66.3246 KOps/s $\color{#d91a1a}-0.03\%$
test_plain_set_nested_inplace 0.1051ms 16.1557μs 61.8975 KOps/s 60.1892 KOps/s $\color{#35bf28}+2.84\%$
test_plain_set_stack_nested_inplace 43.1510μs 16.2452μs 61.5567 KOps/s 60.3667 KOps/s $\color{#35bf28}+1.97\%$
test_items 27.4110μs 5.7645μs 173.4766 KOps/s 167.5450 KOps/s $\color{#35bf28}+3.54\%$
test_items_nested 0.5190ms 0.4697ms 2.1289 KOps/s 2.1577 KOps/s $\color{#d91a1a}-1.34\%$
test_items_nested_locked 0.5236ms 0.4729ms 2.1144 KOps/s 2.1291 KOps/s $\color{#d91a1a}-0.69\%$
test_items_nested_leaf 0.1242ms 96.4740μs 10.3655 KOps/s 10.2527 KOps/s $\color{#35bf28}+1.10\%$
test_items_stack_nested 0.5270ms 0.4678ms 2.1377 KOps/s 2.1425 KOps/s $\color{#d91a1a}-0.23\%$
test_items_stack_nested_leaf 0.1271ms 95.9880μs 10.4180 KOps/s 10.1629 KOps/s $\color{#35bf28}+2.51\%$
test_items_stack_nested_locked 0.5260ms 0.4720ms 2.1187 KOps/s 2.1266 KOps/s $\color{#d91a1a}-0.37\%$
test_keys 29.1910μs 4.2311μs 236.3461 KOps/s 218.3021 KOps/s $\textbf{\color{#35bf28}+8.27\%}$
test_keys_nested 0.1502ms 0.1207ms 8.2864 KOps/s 8.2076 KOps/s $\color{#35bf28}+0.96\%$
test_keys_nested_locked 87.6498ms 0.1408ms 7.1045 KOps/s 7.6583 KOps/s $\textbf{\color{#d91a1a}-7.23\%}$
test_keys_nested_leaf 0.1674ms 0.1113ms 8.9862 KOps/s 8.8551 KOps/s $\color{#35bf28}+1.48\%$
test_keys_stack_nested 0.1503ms 0.1207ms 8.2862 KOps/s 8.1997 KOps/s $\color{#35bf28}+1.05\%$
test_keys_stack_nested_leaf 0.1552ms 0.1107ms 9.0301 KOps/s 8.8866 KOps/s $\color{#35bf28}+1.61\%$
test_keys_stack_nested_locked 0.1672ms 0.1287ms 7.7693 KOps/s 7.6506 KOps/s $\color{#35bf28}+1.55\%$
test_values 6.1180μs 1.0268μs 973.9431 KOps/s 976.5076 KOps/s $\color{#d91a1a}-0.26\%$
test_values_nested 75.5210μs 48.2440μs 20.7279 KOps/s 20.2461 KOps/s $\color{#35bf28}+2.38\%$
test_values_nested_locked 80.9310μs 51.6129μs 19.3750 KOps/s 19.2043 KOps/s $\color{#35bf28}+0.89\%$
test_values_nested_leaf 81.4920μs 55.1341μs 18.1376 KOps/s 17.7811 KOps/s $\color{#35bf28}+2.00\%$
test_values_stack_nested 97.9220μs 48.1870μs 20.7525 KOps/s 20.2487 KOps/s $\color{#35bf28}+2.49\%$
test_values_stack_nested_leaf 88.0310μs 54.6113μs 18.3112 KOps/s 17.8166 KOps/s $\color{#35bf28}+2.78\%$
test_values_stack_nested_locked 89.8920μs 51.4635μs 19.4312 KOps/s 19.1460 KOps/s $\color{#35bf28}+1.49\%$
test_membership 6.6818μs 0.8737μs 1.1445 MOps/s 1.1481 MOps/s $\color{#d91a1a}-0.31\%$
test_membership_nested 30.7310μs 2.9425μs 339.8421 KOps/s 339.2709 KOps/s $\color{#35bf28}+0.17\%$
test_membership_nested_leaf 27.2200μs 2.9485μs 339.1531 KOps/s 339.8639 KOps/s $\color{#d91a1a}-0.21\%$
test_membership_stacked_nested 26.4800μs 2.9103μs 343.6041 KOps/s 336.0759 KOps/s $\color{#35bf28}+2.24\%$
test_membership_stacked_nested_leaf 30.0410μs 2.8865μs 346.4403 KOps/s 340.3341 KOps/s $\color{#35bf28}+1.79\%$
test_membership_nested_last 33.2510μs 4.3900μs 227.7901 KOps/s 223.9027 KOps/s $\color{#35bf28}+1.74\%$
test_membership_nested_leaf_last 37.6510μs 4.3429μs 230.2612 KOps/s 227.1746 KOps/s $\color{#35bf28}+1.36\%$
test_membership_stacked_nested_last 26.6000μs 4.3533μs 229.7084 KOps/s 228.4871 KOps/s $\color{#35bf28}+0.53\%$
test_membership_stacked_nested_leaf_last 33.7000μs 4.3495μs 229.9113 KOps/s 227.4016 KOps/s $\color{#35bf28}+1.10\%$
test_nested_getleaf 50.8810μs 21.6752μs 46.1357 KOps/s 45.7323 KOps/s $\color{#35bf28}+0.88\%$
test_nested_get 45.4110μs 20.3383μs 49.1683 KOps/s 48.0788 KOps/s $\color{#35bf28}+2.27\%$
test_stacked_getleaf 55.6110μs 21.6679μs 46.1512 KOps/s 46.5054 KOps/s $\color{#d91a1a}-0.76\%$
test_stacked_get 53.7510μs 20.6189μs 48.4992 KOps/s 48.1646 KOps/s $\color{#35bf28}+0.69\%$
test_nested_getitemleaf 46.2810μs 22.3410μs 44.7607 KOps/s 44.9869 KOps/s $\color{#d91a1a}-0.50\%$
test_nested_getitem 55.4810μs 21.0917μs 47.4120 KOps/s 47.5998 KOps/s $\color{#d91a1a}-0.39\%$
test_stacked_getitemleaf 61.0410μs 22.0853μs 45.2790 KOps/s 44.7199 KOps/s $\color{#35bf28}+1.25\%$
test_stacked_getitem 53.9210μs 21.1606μs 47.2577 KOps/s 46.5934 KOps/s $\color{#35bf28}+1.43\%$
test_lock_nested 7.9490ms 0.4848ms 2.0628 KOps/s 2.0645 KOps/s $\color{#d91a1a}-0.08\%$
test_lock_stack_nested 0.5097ms 0.4828ms 2.0714 KOps/s 2.0491 KOps/s $\color{#35bf28}+1.09\%$
test_unlock_nested 0.4532ms 0.3878ms 2.5783 KOps/s 2.5924 KOps/s $\color{#d91a1a}-0.54\%$
test_unlock_stack_nested 0.4184ms 0.3871ms 2.5835 KOps/s 2.5506 KOps/s $\color{#35bf28}+1.29\%$
test_flatten_speed 0.1558ms 0.1228ms 8.1416 KOps/s 8.2287 KOps/s $\color{#d91a1a}-1.06\%$
test_unflatten_speed 0.6365ms 0.5697ms 1.7552 KOps/s 1.7275 KOps/s $\color{#35bf28}+1.60\%$
test_common_ops 0.8492ms 0.6851ms 1.4596 KOps/s 1.4549 KOps/s $\color{#35bf28}+0.32\%$
test_creation 0.1130ms 2.9144μs 343.1238 KOps/s 340.7617 KOps/s $\color{#35bf28}+0.69\%$
test_creation_empty 28.7910μs 6.1932μs 161.4666 KOps/s 161.4584 KOps/s $+0.01\%$
test_creation_nested_1 43.4510μs 10.5701μs 94.6064 KOps/s 94.9471 KOps/s $\color{#d91a1a}-0.36\%$
test_creation_nested_2 40.5810μs 11.9245μs 83.8612 KOps/s 83.2637 KOps/s $\color{#35bf28}+0.72\%$
test_creation_many_keys[10] 51.3310μs 18.2536μs 54.7837 KOps/s 54.8532 KOps/s $\color{#d91a1a}-0.13\%$
test_creation_many_keys[50] 0.1183ms 78.0344μs 12.8149 KOps/s 12.6907 KOps/s $\color{#35bf28}+0.98\%$
test_creation_many_keys[100] 0.1910ms 0.1531ms 6.5336 KOps/s 6.5931 KOps/s $\color{#d91a1a}-0.90\%$
test_creation_nested_many_keys[10] 68.4920μs 39.5548μs 25.2814 KOps/s 25.3039 KOps/s $\color{#d91a1a}-0.09\%$
test_creation_nested_many_keys[50] 0.2260ms 0.1593ms 6.2789 KOps/s 6.2683 KOps/s $\color{#35bf28}+0.17\%$
test_clone 38.2110μs 13.6521μs 73.2485 KOps/s 72.9279 KOps/s $\color{#35bf28}+0.44\%$
test_getitem[int] 1.7535ms 14.7819μs 67.6502 KOps/s 56.8641 KOps/s $\textbf{\color{#35bf28}+18.97\%}$
test_getitem[slice_int] 0.1457ms 24.6603μs 40.5510 KOps/s 40.3078 KOps/s $\color{#35bf28}+0.60\%$
test_getitem[range] 0.1701ms 62.0604μs 16.1133 KOps/s 15.8431 KOps/s $\color{#35bf28}+1.71\%$
test_getitem[tuple] 0.1495ms 24.5418μs 40.7468 KOps/s 41.5930 KOps/s $\color{#d91a1a}-2.03\%$
test_getitem[list] 0.1876ms 58.5429μs 17.0815 KOps/s 17.1165 KOps/s $\color{#d91a1a}-0.20\%$
test_setitem_dim[int] 35.6410μs 26.3484μs 37.9530 KOps/s 37.5334 KOps/s $\color{#35bf28}+1.12\%$
test_setitem_dim[slice_int] 82.9420μs 44.6147μs 22.4141 KOps/s 22.4960 KOps/s $\color{#d91a1a}-0.36\%$
test_setitem_dim[range] 0.1286ms 94.2650μs 10.6084 KOps/s 10.5077 KOps/s $\color{#35bf28}+0.96\%$
test_setitem_dim[tuple] 62.3710μs 40.4975μs 24.6929 KOps/s 24.3710 KOps/s $\color{#35bf28}+1.32\%$
test_setitem 52.0910μs 17.9653μs 55.6629 KOps/s 55.1994 KOps/s $\color{#35bf28}+0.84\%$
test_set 56.9210μs 17.3900μs 57.5042 KOps/s 57.5789 KOps/s $\color{#d91a1a}-0.13\%$
test_set_shared 0.4798ms 0.2052ms 4.8723 KOps/s 4.8562 KOps/s $\color{#35bf28}+0.33\%$
test_update 0.3162ms 22.0283μs 45.3961 KOps/s 45.7746 KOps/s $\color{#d91a1a}-0.83\%$
test_update_nested 99.5120μs 34.3103μs 29.1458 KOps/s 29.3246 KOps/s $\color{#d91a1a}-0.61\%$
test_update__nested 0.5504ms 34.6788μs 28.8361 KOps/s 28.7434 KOps/s $\color{#35bf28}+0.32\%$
test_set_nested 52.4310μs 19.3628μs 51.6455 KOps/s 52.4384 KOps/s $\color{#d91a1a}-1.51\%$
test_set_nested_new 76.3310μs 24.3832μs 41.0119 KOps/s 41.2476 KOps/s $\color{#d91a1a}-0.57\%$
test_select 75.9710μs 42.0727μs 23.7684 KOps/s 23.9069 KOps/s $\color{#d91a1a}-0.58\%$
test_select_nested 0.1023ms 74.6492μs 13.3960 KOps/s 13.2994 KOps/s $\color{#35bf28}+0.73\%$
test_exclude_nested 0.1498ms 92.0937μs 10.8585 KOps/s 10.7984 KOps/s $\color{#35bf28}+0.56\%$
test_empty[True] 0.4261ms 0.3941ms 2.5374 KOps/s 2.5208 KOps/s $\color{#35bf28}+0.66\%$
test_empty[False] 6.8077μs 1.3310μs 751.3236 KOps/s 746.4735 KOps/s $\color{#35bf28}+0.65\%$
test_to 0.1052ms 72.0015μs 13.8886 KOps/s 13.5935 KOps/s $\color{#35bf28}+2.17\%$
test_to_nonblocking 0.1039ms 65.1095μs 15.3588 KOps/s 15.3899 KOps/s $\color{#d91a1a}-0.20\%$
test_unbind_speed 0.3771ms 0.3294ms 3.0362 KOps/s 3.0161 KOps/s $\color{#35bf28}+0.67\%$
test_unbind_speed_stack0 0.3988ms 0.3270ms 3.0579 KOps/s 3.0246 KOps/s $\color{#35bf28}+1.10\%$
test_unbind_speed_stack1 0.1019s 0.9214ms 1.0853 KOps/s 1.1804 KOps/s $\textbf{\color{#d91a1a}-8.05\%}$
test_split 1.1781ms 1.1425ms 875.2645 Ops/s 785.6001 Ops/s $\textbf{\color{#35bf28}+11.41\%}$
test_chunk 0.1013s 1.2232ms 817.5539 Ops/s 913.4095 Ops/s $\textbf{\color{#d91a1a}-10.49\%}$
test_to_cpu_blocking 28.4612ms 28.1700ms 35.4988 Ops/s 40.8478 Ops/s $\textbf{\color{#d91a1a}-13.10\%}$
test_to_cpu_global_sync 11.3257ms 11.1835ms 89.4178 Ops/s 89.5159 Ops/s $\color{#d91a1a}-0.11\%$
test_to_cpu_event_sync 12.4254ms 12.0575ms 82.9357 Ops/s 82.6300 Ops/s $\color{#35bf28}+0.37\%$
test_to_cpu_default 0.1142s 13.2969ms 75.2056 Ops/s 82.6946 Ops/s $\textbf{\color{#d91a1a}-9.06\%}$
test_consolidate[False-None] 4.1826ms 4.1289ms 242.1947 Ops/s 218.6966 Ops/s $\textbf{\color{#35bf28}+10.74\%}$
test_consolidate[default-None] 2.3841ms 2.0209ms 494.8216 Ops/s 485.9075 Ops/s $\color{#35bf28}+1.83\%$
test_consolidate[reduce-overhead-None] 2.0091ms 1.9285ms 518.5449 Ops/s 503.7997 Ops/s $\color{#35bf28}+2.93\%$
test_consolidate_njt[False-None] 8.6764ms 8.5200ms 117.3705 Ops/s 118.0681 Ops/s $\color{#d91a1a}-0.59\%$
test_to[False-False-None] 2.1334ms 2.0836ms 479.9292 Ops/s 473.7378 Ops/s $\color{#35bf28}+1.31\%$
test_to[True-False-None] 2.1972ms 1.9341ms 517.0464 Ops/s 510.9063 Ops/s $\color{#35bf28}+1.20\%$
test_to[within-False-None] 6.2589ms 6.1519ms 162.5511 Ops/s 160.9093 Ops/s $\color{#35bf28}+1.02\%$
test_to[True-default-None] 7.9939ms 7.7314ms 129.3421 Ops/s 129.1018 Ops/s $\color{#35bf28}+0.19\%$
test_to_njt[False-False-None] 8.7774ms 8.5876ms 116.4468 Ops/s 116.6473 Ops/s $\color{#d91a1a}-0.17\%$
test_to_njt[True-False-None] 7.3053ms 6.9911ms 143.0385 Ops/s 143.2450 Ops/s $\color{#d91a1a}-0.14\%$
test_to_njt[within-False-None] 16.0134ms 15.5774ms 64.1954 Ops/s 64.2441 Ops/s $\color{#d91a1a}-0.08\%$
test_creation[device0] 0.3464ms 0.1156ms 8.6506 KOps/s 8.5579 KOps/s $\color{#35bf28}+1.08\%$
test_creation_from_tensor 0.4013ms 0.1131ms 8.8379 KOps/s 8.7496 KOps/s $\color{#35bf28}+1.01\%$
test_add_one[memmap_tensor0] 0.1636ms 6.6152μs 151.1671 KOps/s 151.3216 KOps/s $\color{#d91a1a}-0.10\%$
test_contiguous[memmap_tensor0] 27.4110μs 0.6771μs 1.4768 MOps/s 2.1538 MOps/s $\textbf{\color{#d91a1a}-31.43\%}$
test_stack[memmap_tensor0] 40.9710μs 4.6284μs 216.0575 KOps/s 216.0199 KOps/s $\color{#35bf28}+0.02\%$
test_memmaptd_index 1.0129ms 0.2662ms 3.7566 KOps/s 3.8241 KOps/s $\color{#d91a1a}-1.76\%$
test_memmaptd_index_astensor 0.5263ms 0.3601ms 2.7769 KOps/s 2.8049 KOps/s $\color{#d91a1a}-1.00\%$
test_memmaptd_index_op 0.7994ms 0.6064ms 1.6490 KOps/s 1.6519 KOps/s $\color{#d91a1a}-0.18\%$
test_serialize_model 0.1387s 0.1370s 7.2970 Ops/s 7.3376 Ops/s $\color{#d91a1a}-0.55\%$
test_serialize_model_pickle 1.3748s 1.1994s 0.8338 Ops/s 0.8242 Ops/s $\color{#35bf28}+1.16\%$
test_serialize_weights 0.1400s 0.1361s 7.3453 Ops/s 7.3830 Ops/s $\color{#d91a1a}-0.51\%$
test_serialize_weights_returnearly 0.4543s 91.9951ms 10.8701 Ops/s 10.2202 Ops/s $\textbf{\color{#35bf28}+6.36\%}$
test_serialize_weights_pickle 1.3663s 1.2219s 0.8184 Ops/s 0.8233 Ops/s $\color{#d91a1a}-0.60\%$
test_reshape_pytree 0.2307ms 33.6102μs 29.7529 KOps/s 28.8813 KOps/s $\color{#35bf28}+3.02\%$
test_reshape_td 72.8520μs 44.1926μs 22.6282 KOps/s 21.8034 KOps/s $\color{#35bf28}+3.78\%$
test_view_pytree 0.2259ms 33.3210μs 30.0111 KOps/s 28.7408 KOps/s $\color{#35bf28}+4.42\%$
test_view_td 93.1120μs 52.6999μs 18.9754 KOps/s 17.8342 KOps/s $\textbf{\color{#35bf28}+6.40\%}$
test_unbind_pytree 0.2428ms 37.1171μs 26.9417 KOps/s 26.9434 KOps/s $-0.01\%$
test_unbind_td 0.1425ms 49.3687μs 20.2558 KOps/s 19.5271 KOps/s $\color{#35bf28}+3.73\%$
test_split_pytree 0.2627ms 43.1870μs 23.1551 KOps/s 22.7612 KOps/s $\color{#35bf28}+1.73\%$
test_split_td 0.1461ms 66.4496μs 15.0490 KOps/s 15.1612 KOps/s $\color{#d91a1a}-0.74\%$
test_add_pytree 0.1919ms 42.7072μs 23.4153 KOps/s 22.1438 KOps/s $\textbf{\color{#35bf28}+5.74\%}$
test_add_td 0.1000ms 53.4625μs 18.7047 KOps/s 16.9126 KOps/s $\textbf{\color{#35bf28}+10.60\%}$
test_compile_add_one_nested[tensordict-compile] 0.2563ms 0.1397ms 7.1559 KOps/s 6.7756 KOps/s $\textbf{\color{#35bf28}+5.61\%}$
test_compile_add_one_nested[tensordict-eager] 0.4587ms 0.1980ms 5.0510 KOps/s 5.1769 KOps/s $\color{#d91a1a}-2.43\%$
test_compile_add_one_nested[pytree-compile] 0.1451ms 0.1099ms 9.0994 KOps/s 9.0727 KOps/s $\color{#35bf28}+0.29\%$
test_compile_add_one_nested[pytree-eager] 0.4324ms 0.1795ms 5.5697 KOps/s 5.4797 KOps/s $\color{#35bf28}+1.64\%$
test_compile_copy_nested[tensordict-compile] 0.4574ms 38.0199μs 26.3020 KOps/s 29.9467 KOps/s $\textbf{\color{#d91a1a}-12.17\%}$
test_compile_copy_nested[tensordict-eager] 0.1007ms 52.8398μs 18.9251 KOps/s 19.1567 KOps/s $\color{#d91a1a}-1.21\%$
test_compile_copy_nested[pytree-compile] 0.1448ms 9.8996μs 101.0143 KOps/s 100.9467 KOps/s $\color{#35bf28}+0.07\%$
test_compile_copy_nested[pytree-eager] 0.4540ms 70.2675μs 14.2313 KOps/s 14.3122 KOps/s $\color{#d91a1a}-0.57\%$
test_compile_add_one_flat[tensordict-compile] 0.2302ms 0.1800ms 5.5547 KOps/s 5.4551 KOps/s $\color{#35bf28}+1.82\%$
test_compile_add_one_flat[tensordict-eager] 0.3825ms 0.2563ms 3.9024 KOps/s 3.8594 KOps/s $\color{#35bf28}+1.11\%$
test_compile_add_one_flat[tensorclass-compile] 0.2646ms 0.1189ms 8.4080 KOps/s 7.9164 KOps/s $\textbf{\color{#35bf28}+6.21\%}$
test_compile_add_one_flat[tensorclass-eager] 0.1294ms 71.9762μs 13.8935 KOps/s 13.4712 KOps/s $\color{#35bf28}+3.13\%$
test_compile_add_one_flat[pytree-compile] 0.3959ms 0.1620ms 6.1733 KOps/s 6.1013 KOps/s $\color{#35bf28}+1.18\%$
test_compile_add_one_flat[pytree-eager] 0.8390ms 0.5301ms 1.8863 KOps/s 1.8628 KOps/s $\color{#35bf28}+1.26\%$
test_compile_add_self_flat[tensordict-eager] 0.3943ms 0.3095ms 3.2306 KOps/s 3.1659 KOps/s $\color{#35bf28}+2.04\%$
test_compile_add_self_flat[tensordict-compile] 0.2292ms 0.1820ms 5.4946 KOps/s 5.2147 KOps/s $\textbf{\color{#35bf28}+5.37\%}$
test_compile_add_self_flat[tensorclass-eager] 0.1463ms 86.1604μs 11.6063 KOps/s 11.1491 KOps/s $\color{#35bf28}+4.10\%$
test_compile_add_self_flat[tensorclass-compile] 0.2047ms 0.1203ms 8.3130 KOps/s 7.7096 KOps/s $\textbf{\color{#35bf28}+7.83\%}$
test_compile_add_self_flat[pytree-eager] 0.6622ms 0.4318ms 2.3160 KOps/s 2.2994 KOps/s $\color{#35bf28}+0.72\%$
test_compile_add_self_flat[pytree-compile] 0.2390ms 0.1631ms 6.1320 KOps/s 6.1130 KOps/s $\color{#35bf28}+0.31\%$
test_compile_copy_flat[tensordict-compile] 0.1027ms 24.1080μs 41.4800 KOps/s 37.6616 KOps/s $\textbf{\color{#35bf28}+10.14\%}$
test_compile_copy_flat[tensordict-eager] 79.4920μs 41.2345μs 24.2515 KOps/s 24.2808 KOps/s $\color{#d91a1a}-0.12\%$
test_compile_copy_flat[pytree-compile] 0.1203ms 10.8421μs 92.2332 KOps/s 92.2635 KOps/s $\color{#d91a1a}-0.03\%$
test_compile_copy_flat[pytree-eager] 0.3351ms 52.7171μs 18.9692 KOps/s 19.2503 KOps/s $\color{#d91a1a}-1.46\%$
test_compile_assign_and_add[tensordict-compile] 2.0860ms 0.1765ms 5.6665 KOps/s 5.5765 KOps/s $\color{#35bf28}+1.61\%$
test_compile_assign_and_add[tensordict-eager] 3.4449ms 3.3411ms 299.3035 Ops/s 304.4907 Ops/s $\color{#d91a1a}-1.70\%$
test_compile_assign_and_add[pytree-compile] 2.0517ms 0.1631ms 6.1296 KOps/s 6.0976 KOps/s $\color{#35bf28}+0.53\%$
test_compile_assign_and_add[pytree-eager] 3.0549ms 2.7894ms 358.5032 Ops/s 356.8667 Ops/s $\color{#35bf28}+0.46\%$
test_compile_indexing[tensor-tensordict-compile] 0.1565ms 0.1098ms 9.1039 KOps/s 8.7001 KOps/s $\color{#35bf28}+4.64\%$
test_compile_indexing[tensor-tensordict-eager] 0.3114ms 73.5312μs 13.5997 KOps/s 13.0276 KOps/s $\color{#35bf28}+4.39\%$
test_compile_indexing[tensor-tensorclass-compile] 0.1496ms 97.7581μs 10.2293 KOps/s 9.7998 KOps/s $\color{#35bf28}+4.38\%$
test_compile_indexing[tensor-tensorclass-eager] 0.2613ms 47.3535μs 21.1178 KOps/s 20.1199 KOps/s $\color{#35bf28}+4.96\%$
test_compile_indexing[tensor-pytree-compile] 0.1544ms 99.2528μs 10.0753 KOps/s 9.7159 KOps/s $\color{#35bf28}+3.70\%$
test_compile_indexing[tensor-pytree-eager] 0.2574ms 44.9018μs 22.2708 KOps/s 20.1946 KOps/s $\textbf{\color{#35bf28}+10.28\%}$
test_compile_indexing[slice-tensordict-compile] 0.1983ms 59.7173μs 16.7456 KOps/s 16.3510 KOps/s $\color{#35bf28}+2.41\%$
test_compile_indexing[slice-tensordict-eager] 0.2330ms 30.2487μs 33.0593 KOps/s 32.2513 KOps/s $\color{#35bf28}+2.51\%$
test_compile_indexing[slice-tensorclass-compile] 0.1582ms 47.1518μs 21.2081 KOps/s 20.0689 KOps/s $\textbf{\color{#35bf28}+5.68\%}$
test_compile_indexing[slice-tensorclass-eager] 0.2560ms 23.5789μs 42.4108 KOps/s 41.4911 KOps/s $\color{#35bf28}+2.22\%$
test_compile_indexing[slice-pytree-compile] 96.2320μs 48.3039μs 20.7023 KOps/s 19.8728 KOps/s $\color{#35bf28}+4.17\%$
test_compile_indexing[slice-pytree-eager] 0.2775ms 24.2534μs 41.2314 KOps/s 40.7548 KOps/s $\color{#35bf28}+1.17\%$
test_compile_indexing[int-tensordict-compile] 0.1031ms 59.0640μs 16.9308 KOps/s 16.8003 KOps/s $\color{#35bf28}+0.78\%$
test_compile_indexing[int-tensordict-eager] 0.2507ms 29.9104μs 33.4332 KOps/s 32.6525 KOps/s $\color{#35bf28}+2.39\%$
test_compile_indexing[int-tensorclass-compile] 82.6920μs 48.3203μs 20.6952 KOps/s 20.2232 KOps/s $\color{#35bf28}+2.33\%$
test_compile_indexing[int-tensorclass-eager] 0.2341ms 24.0584μs 41.5655 KOps/s 41.0658 KOps/s $\color{#35bf28}+1.22\%$
test_compile_indexing[int-pytree-compile] 95.3220μs 47.1858μs 21.1928 KOps/s 19.9018 KOps/s $\textbf{\color{#35bf28}+6.49\%}$
test_compile_indexing[int-pytree-eager] 0.2728ms 24.6075μs 40.6381 KOps/s 41.0984 KOps/s $\color{#d91a1a}-1.12\%$
test_mod_add[eager] 0.1052ms 50.5542μs 19.7808 KOps/s 19.6737 KOps/s $\color{#35bf28}+0.54\%$
test_mod_add[compile] 0.4813ms 0.1087ms 9.1998 KOps/s 9.5229 KOps/s $\color{#d91a1a}-3.39\%$
test_mod_add[compile-overhead] 0.2321ms 0.1491ms 6.7066 KOps/s 6.6970 KOps/s $\color{#35bf28}+0.14\%$
test_mod_wrap[eager] 0.3760ms 0.3090ms 3.2358 KOps/s 3.2941 KOps/s $\color{#d91a1a}-1.77\%$
test_mod_wrap[compile] 0.4557ms 0.3494ms 2.8618 KOps/s 2.8313 KOps/s $\color{#35bf28}+1.08\%$
test_mod_wrap[compile-overhead] 8.1745ms 4.0671ms 245.8753 Ops/s 247.3638 Ops/s $\color{#d91a1a}-0.60\%$
test_mod_wrap_and_backward[eager] 1.5921ms 1.4984ms 667.3946 Ops/s 605.7608 Ops/s $\textbf{\color{#35bf28}+10.17\%}$
test_mod_wrap_and_backward[compile] 1.5123ms 1.4469ms 691.1105 Ops/s 691.2196 Ops/s $\color{#d91a1a}-0.02\%$
test_mod_wrap_and_backward[compile-overhead] 1.2513ms 0.8915ms 1.1218 KOps/s 1.1069 KOps/s $\color{#35bf28}+1.34\%$
test_seq_add[eager] 0.2188ms 0.1568ms 6.3768 KOps/s 6.3963 KOps/s $\color{#d91a1a}-0.30\%$
test_seq_add[compile] 0.1627ms 0.1185ms 8.4367 KOps/s 8.0994 KOps/s $\color{#35bf28}+4.16\%$
test_seq_add[compile-overhead] 0.2098ms 0.1544ms 6.4747 KOps/s 6.3172 KOps/s $\color{#35bf28}+2.49\%$
test_seq_wrap[eager] 0.9148ms 0.5294ms 1.8889 KOps/s 1.8766 KOps/s $\color{#35bf28}+0.66\%$
test_seq_wrap[compile] 0.4221ms 0.3703ms 2.7004 KOps/s 2.6311 KOps/s $\color{#35bf28}+2.63\%$
test_seq_wrap[compile-overhead] 0.3333ms 0.2671ms 3.7443 KOps/s 3.7626 KOps/s $\color{#d91a1a}-0.49\%$
test_func_call_runtime[False-eager] 0.9341ms 0.8845ms 1.1306 KOps/s 1.1726 KOps/s $\color{#d91a1a}-3.58\%$
test_func_call_runtime[False-compile] 0.9895ms 0.9134ms 1.0948 KOps/s 1.0946 KOps/s $\color{#35bf28}+0.02\%$
test_func_call_runtime[False-compile-overhead] 0.5290ms 0.4629ms 2.1601 KOps/s 2.1509 KOps/s $\color{#35bf28}+0.43\%$
test_func_call_runtime[True-eager] 1.3980ms 1.0855ms 921.1945 Ops/s 912.7940 Ops/s $\color{#35bf28}+0.92\%$
test_func_call_runtime[True-compile] 0.9703ms 0.9210ms 1.0858 KOps/s 1.0742 KOps/s $\color{#35bf28}+1.09\%$
test_func_call_runtime[True-compile-overhead] 0.5323ms 0.4762ms 2.1001 KOps/s 2.0877 KOps/s $\color{#35bf28}+0.59\%$
test_func_call_cm_runtime[False-eager] 0.9395ms 0.8848ms 1.1302 KOps/s 1.1056 KOps/s $\color{#35bf28}+2.22\%$
test_func_call_cm_runtime[False-compile] 0.9681ms 0.9124ms 1.0960 KOps/s 1.0824 KOps/s $\color{#35bf28}+1.26\%$
test_func_call_cm_runtime[False-compile-overhead] 0.6544ms 0.4681ms 2.1363 KOps/s 2.1596 KOps/s $\color{#d91a1a}-1.08\%$
test_func_call_cm_runtime[True-eager] 1.3580ms 1.2454ms 802.9697 Ops/s 801.6075 Ops/s $\color{#35bf28}+0.17\%$
test_func_call_cm_runtime[True-compile] 1.0426ms 0.9674ms 1.0337 KOps/s 1.0391 KOps/s $\color{#d91a1a}-0.52\%$
test_func_call_cm_runtime[True-compile-overhead] 0.5483ms 0.5092ms 1.9638 KOps/s 1.9513 KOps/s $\color{#35bf28}+0.64\%$
test_vmap_func_call_cm_runtime[eager] 2.8663ms 2.3604ms 423.6607 Ops/s 419.9926 Ops/s $\color{#35bf28}+0.87\%$
test_vmap_func_call_cm_runtime[compile] 1.0401ms 0.9696ms 1.0313 KOps/s 1.0213 KOps/s $\color{#35bf28}+0.98\%$
test_vmap_func_call_cm_runtime[compile-overhead] 0.6288ms 0.5116ms 1.9548 KOps/s 1.9387 KOps/s $\color{#35bf28}+0.83\%$
test_distributed 2.7702ms 0.1670ms 5.9874 KOps/s 5.8369 KOps/s $\color{#35bf28}+2.58\%$
test_tdmodule 0.2396ms 28.4939μs 35.0952 KOps/s 35.1816 KOps/s $\color{#d91a1a}-0.25\%$
test_tdmodule_dispatch 76.5810μs 45.7383μs 21.8635 KOps/s 22.1019 KOps/s $\color{#d91a1a}-1.08\%$
test_tdseq 48.6210μs 27.3749μs 36.5298 KOps/s 36.4694 KOps/s $\color{#35bf28}+0.17\%$
test_tdseq_dispatch 68.3320μs 47.7811μs 20.9288 KOps/s 20.9171 KOps/s $\color{#35bf28}+0.06\%$
test_instantiation_functorch 2.1809ms 2.0772ms 481.4162 Ops/s 480.4074 Ops/s $\color{#35bf28}+0.21\%$
test_exec_functorch 0.2409ms 0.1857ms 5.3841 KOps/s 5.5234 KOps/s $\color{#d91a1a}-2.52\%$
test_exec_functional_call 0.2202ms 0.1640ms 6.0972 KOps/s 6.1684 KOps/s $\color{#d91a1a}-1.15\%$
test_exec_td_decorator 0.4484ms 0.2403ms 4.1614 KOps/s 4.1866 KOps/s $\color{#d91a1a}-0.60\%$
test_vmap_mlp_speed_decorator[True-True] 1.0375ms 0.8279ms 1.2079 KOps/s 1.2038 KOps/s $\color{#35bf28}+0.34\%$
test_vmap_mlp_speed_decorator[True-False] 1.0084ms 0.8270ms 1.2091 KOps/s 1.2089 KOps/s $\color{#35bf28}+0.02\%$
test_vmap_mlp_speed_decorator[False-True] 0.9112ms 0.7187ms 1.3913 KOps/s 1.3980 KOps/s $\color{#d91a1a}-0.48\%$
test_vmap_mlp_speed_decorator[False-False] 0.8866ms 0.7153ms 1.3981 KOps/s 1.3943 KOps/s $\color{#35bf28}+0.27\%$
test_vmap_transformer_speed_decorator[True-True] 21.3238ms 20.5765ms 48.5992 Ops/s 48.4787 Ops/s $\color{#35bf28}+0.25\%$
test_vmap_transformer_speed_decorator[True-False] 21.2455ms 20.5815ms 48.5872 Ops/s 48.5018 Ops/s $\color{#35bf28}+0.18\%$
test_vmap_transformer_speed_decorator[False-True] 21.0208ms 20.3861ms 49.0530 Ops/s 48.9619 Ops/s $\color{#35bf28}+0.19\%$
test_vmap_transformer_speed_decorator[False-False] 21.2058ms 20.3916ms 49.0397 Ops/s 48.9448 Ops/s $\color{#35bf28}+0.19\%$
test_to_module_speed[True] 1.5618ms 1.4831ms 674.2653 Ops/s 671.5277 Ops/s $\color{#35bf28}+0.41\%$
test_to_module_speed[False] 1.5662ms 1.4686ms 680.8976 Ops/s 676.4832 Ops/s $\color{#35bf28}+0.65\%$
test_tc_init 94.7720μs 45.4523μs 22.0011 KOps/s 21.8502 KOps/s $\color{#35bf28}+0.69\%$
test_tc_init_tensor_only 42.0410μs 9.9147μs 100.8602 KOps/s 97.7879 KOps/s $\color{#35bf28}+3.14\%$
test_tc_init_nested 0.1473ms 90.6989μs 11.0255 KOps/s 10.9730 KOps/s $\color{#35bf28}+0.48\%$
test_tc_init_many_fields 44.6810μs 16.5939μs 60.2630 KOps/s 58.3940 KOps/s $\color{#35bf28}+3.20\%$
test_tc_first_layer_tensor 22.1900μs 1.8571μs 538.4842 KOps/s 532.5771 KOps/s $\color{#35bf28}+1.11\%$
test_tc_first_layer_tensor_only 5.6216μs 0.7498μs 1.3337 MOps/s 1.3012 MOps/s $\color{#35bf28}+2.49\%$
test_tc_first_layer_tensor_set 33.3000μs 3.9547μs 252.8614 KOps/s 253.4526 KOps/s $\color{#d91a1a}-0.23\%$
test_tc_first_layer_tensor_only_set 38.5410μs 3.1575μs 316.7030 KOps/s 316.0523 KOps/s $\color{#35bf28}+0.21\%$
test_tc_first_layer_nontensor 36.0710μs 6.2262μs 160.6113 KOps/s 160.8713 KOps/s $\color{#d91a1a}-0.16\%$
test_tc_second_layer_tensor 34.4810μs 4.3970μs 227.4294 KOps/s 224.5787 KOps/s $\color{#35bf28}+1.27\%$
test_tc_second_layer_nontensor 43.0300μs 8.6974μs 114.9766 KOps/s 114.2142 KOps/s $\color{#35bf28}+0.67\%$
test_unbind 0.2419s 14.5247ms 68.8482 Ops/s 65.8535 Ops/s $\color{#35bf28}+4.55\%$
test_full_like 7.6476ms 4.3920ms 227.6848 Ops/s 59.9690 Ops/s $\textbf{\color{#35bf28}+279.67\%}$
test_zeros_like 10.3937ms 4.3899ms 227.7974 Ops/s 60.2489 Ops/s $\textbf{\color{#35bf28}+278.09\%}$
test_ones_like 4.9387ms 4.3783ms 228.3981 Ops/s 59.1421 Ops/s $\textbf{\color{#35bf28}+286.19\%}$
test_clone 11.3957ms 6.4979ms 153.8951 Ops/s 55.1999 Ops/s $\textbf{\color{#35bf28}+178.80\%}$
test_squeeze 0.1558ms 15.2675μs 65.4985 KOps/s 69.6918 KOps/s $\textbf{\color{#d91a1a}-6.02\%}$
test_unsqueeze 0.2853ms 0.1153ms 8.6754 KOps/s 8.9341 KOps/s $\color{#d91a1a}-2.90\%$
test_split 0.2430ms 0.1861ms 5.3739 KOps/s 5.2543 KOps/s $\color{#35bf28}+2.28\%$
test_permute 0.2752ms 0.2139ms 4.6760 KOps/s 4.8032 KOps/s $\color{#d91a1a}-2.65\%$
test_stack 43.3397ms 42.9972ms 23.2573 Ops/s 19.4421 Ops/s $\textbf{\color{#35bf28}+19.62\%}$
test_cat 43.0966ms 42.9144ms 23.3022 Ops/s 19.4609 Ops/s $\textbf{\color{#35bf28}+19.74\%}$

@github-actions

github-actions Bot commented Feb 18, 2026

Copy link
Copy Markdown
Contributor

$\color{#D29922}\textsf{\Large⚠\kern{0.2cm}\normalsize Warning}$ Result of CPU Benchmark Tests

Total Benchmarks: 243. Improved: $\large\color{#35bf28}22$. Worsened: $\large\color{#d91a1a}8$.

Expand to view detailed results
Name Max Mean Ops Ops on Repo HEAD Change
test_plain_set_nested 38.2910μs 14.1068μs 70.8880 KOps/s 70.4875 KOps/s $\color{#35bf28}+0.57\%$
test_plain_set_stack_nested 38.9710μs 14.3880μs 69.5023 KOps/s 69.7107 KOps/s $\color{#d91a1a}-0.30\%$
test_plain_set_nested_inplace 47.3000μs 15.7595μs 63.4537 KOps/s 63.0353 KOps/s $\color{#35bf28}+0.66\%$
test_plain_set_stack_nested_inplace 42.7000μs 15.6279μs 63.9882 KOps/s 63.6688 KOps/s $\color{#35bf28}+0.50\%$
test_items 29.5900μs 5.5872μs 178.9790 KOps/s 174.6107 KOps/s $\color{#35bf28}+2.50\%$
test_items_nested 0.5644ms 0.4406ms 2.2697 KOps/s 2.2697 KOps/s $-0.00\%$
test_items_nested_locked 0.4758ms 0.4438ms 2.2535 KOps/s 2.2419 KOps/s $\color{#35bf28}+0.52\%$
test_items_nested_leaf 0.1221ms 92.3257μs 10.8312 KOps/s 10.7870 KOps/s $\color{#35bf28}+0.41\%$
test_items_stack_nested 0.5697ms 0.4386ms 2.2798 KOps/s 2.2811 KOps/s $\color{#d91a1a}-0.06\%$
test_items_stack_nested_leaf 0.1321ms 92.9436μs 10.7592 KOps/s 10.7693 KOps/s $\color{#d91a1a}-0.09\%$
test_items_stack_nested_locked 0.5936ms 0.4466ms 2.2394 KOps/s 2.2511 KOps/s $\color{#d91a1a}-0.52\%$
test_keys 33.7910μs 4.4390μs 225.2777 KOps/s 243.7098 KOps/s $\textbf{\color{#d91a1a}-7.56\%}$
test_keys_nested 0.1731ms 0.1180ms 8.4750 KOps/s 8.5572 KOps/s $\color{#d91a1a}-0.96\%$
test_keys_nested_locked 87.9496ms 0.1419ms 7.0449 KOps/s 7.9706 KOps/s $\textbf{\color{#d91a1a}-11.61\%}$
test_keys_nested_leaf 0.1507ms 0.1091ms 9.1655 KOps/s 9.2805 KOps/s $\color{#d91a1a}-1.24\%$
test_keys_stack_nested 0.2231ms 0.1187ms 8.4239 KOps/s 8.5001 KOps/s $\color{#d91a1a}-0.90\%$
test_keys_stack_nested_leaf 0.1666ms 0.1088ms 9.1875 KOps/s 9.2567 KOps/s $\color{#d91a1a}-0.75\%$
test_keys_stack_nested_locked 0.1672ms 0.1265ms 7.9027 KOps/s 7.9093 KOps/s $\color{#d91a1a}-0.08\%$
test_values 10.2022μs 0.9918μs 1.0083 MOps/s 1.0112 MOps/s $\color{#d91a1a}-0.29\%$
test_values_nested 72.9010μs 46.7093μs 21.4090 KOps/s 21.4346 KOps/s $\color{#d91a1a}-0.12\%$
test_values_nested_locked 90.6210μs 49.7522μs 20.0996 KOps/s 20.1737 KOps/s $\color{#d91a1a}-0.37\%$
test_values_nested_leaf 90.4410μs 53.3446μs 18.7460 KOps/s 18.9448 KOps/s $\color{#d91a1a}-1.05\%$
test_values_stack_nested 0.1303ms 46.1850μs 21.6520 KOps/s 21.5903 KOps/s $\color{#35bf28}+0.29\%$
test_values_stack_nested_leaf 95.1120μs 53.2869μs 18.7664 KOps/s 19.0864 KOps/s $\color{#d91a1a}-1.68\%$
test_values_stack_nested_locked 87.6020μs 50.0057μs 19.9977 KOps/s 20.2019 KOps/s $\color{#d91a1a}-1.01\%$
test_membership 4.7518μs 0.7989μs 1.2518 MOps/s 1.2491 MOps/s $\color{#35bf28}+0.21\%$
test_membership_nested 26.2300μs 2.7427μs 364.6025 KOps/s 367.5777 KOps/s $\color{#d91a1a}-0.81\%$
test_membership_nested_leaf 28.1600μs 2.7358μs 365.5276 KOps/s 365.1906 KOps/s $\color{#35bf28}+0.09\%$
test_membership_stacked_nested 23.0100μs 2.7550μs 362.9746 KOps/s 364.0968 KOps/s $\color{#d91a1a}-0.31\%$
test_membership_stacked_nested_leaf 32.2300μs 2.7576μs 362.6389 KOps/s 365.7510 KOps/s $\color{#d91a1a}-0.85\%$
test_membership_nested_last 33.8610μs 4.1426μs 241.3958 KOps/s 244.5023 KOps/s $\color{#d91a1a}-1.27\%$
test_membership_nested_leaf_last 46.3710μs 4.1110μs 243.2522 KOps/s 244.6665 KOps/s $\color{#d91a1a}-0.58\%$
test_membership_stacked_nested_last 25.3900μs 4.0965μs 244.1111 KOps/s 243.5541 KOps/s $\color{#35bf28}+0.23\%$
test_membership_stacked_nested_leaf_last 30.5010μs 4.1332μs 241.9433 KOps/s 241.7042 KOps/s $\color{#35bf28}+0.10\%$
test_nested_getleaf 55.7610μs 20.4690μs 48.8543 KOps/s 48.6768 KOps/s $\color{#35bf28}+0.36\%$
test_nested_get 55.2610μs 19.2699μs 51.8944 KOps/s 52.6807 KOps/s $\color{#d91a1a}-1.49\%$
test_stacked_getleaf 45.8510μs 20.3707μs 49.0900 KOps/s 49.6332 KOps/s $\color{#d91a1a}-1.09\%$
test_stacked_get 56.5410μs 19.4423μs 51.4342 KOps/s 52.9991 KOps/s $\color{#d91a1a}-2.95\%$
test_nested_getitemleaf 54.0710μs 21.1458μs 47.2907 KOps/s 47.3184 KOps/s $\color{#d91a1a}-0.06\%$
test_nested_getitem 53.6810μs 19.8251μs 50.4410 KOps/s 49.7875 KOps/s $\color{#35bf28}+1.31\%$
test_stacked_getitemleaf 54.1510μs 21.1053μs 47.3814 KOps/s 48.7628 KOps/s $\color{#d91a1a}-2.83\%$
test_stacked_getitem 49.7010μs 19.9386μs 50.1539 KOps/s 49.9213 KOps/s $\color{#35bf28}+0.47\%$
test_lock_nested 8.1765ms 0.4616ms 2.1664 KOps/s 2.1942 KOps/s $\color{#d91a1a}-1.27\%$
test_lock_stack_nested 0.6005ms 0.4614ms 2.1671 KOps/s 2.1684 KOps/s $\color{#d91a1a}-0.06\%$
test_unlock_nested 0.4540ms 0.3697ms 2.7046 KOps/s 2.7318 KOps/s $\color{#d91a1a}-1.00\%$
test_unlock_stack_nested 0.4105ms 0.3705ms 2.6988 KOps/s 2.6947 KOps/s $\color{#35bf28}+0.15\%$
test_flatten_speed 0.1639ms 0.1157ms 8.6441 KOps/s 8.5003 KOps/s $\color{#35bf28}+1.69\%$
test_unflatten_speed 0.6179ms 0.5473ms 1.8270 KOps/s 1.8292 KOps/s $\color{#d91a1a}-0.12\%$
test_common_ops 0.8235ms 0.6715ms 1.4893 KOps/s 1.4899 KOps/s $\color{#d91a1a}-0.04\%$
test_creation 75.1210μs 2.7359μs 365.5122 KOps/s 365.1987 KOps/s $\color{#35bf28}+0.09\%$
test_creation_empty 46.8800μs 5.7440μs 174.0932 KOps/s 173.5079 KOps/s $\color{#35bf28}+0.34\%$
test_creation_nested_1 40.0410μs 9.9135μs 100.8727 KOps/s 99.7455 KOps/s $\color{#35bf28}+1.13\%$
test_creation_nested_2 42.0500μs 11.2013μs 89.2753 KOps/s 87.6082 KOps/s $\color{#35bf28}+1.90\%$
test_creation_many_keys[10] 37.6510μs 16.8361μs 59.3962 KOps/s 58.7004 KOps/s $\color{#35bf28}+1.19\%$
test_creation_many_keys[50] 0.1224ms 71.7779μs 13.9319 KOps/s 13.7797 KOps/s $\color{#35bf28}+1.10\%$
test_creation_many_keys[100] 0.1917ms 0.1400ms 7.1419 KOps/s 7.0621 KOps/s $\color{#35bf28}+1.13\%$
test_creation_nested_many_keys[10] 70.0610μs 36.3611μs 27.5019 KOps/s 27.4367 KOps/s $\color{#35bf28}+0.24\%$
test_creation_nested_many_keys[50] 0.2056ms 0.1463ms 6.8368 KOps/s 6.7264 KOps/s $\color{#35bf28}+1.64\%$
test_clone 53.5510μs 12.8705μs 77.6973 KOps/s 77.3916 KOps/s $\color{#35bf28}+0.40\%$
test_getitem[int] 1.6665ms 13.9224μs 71.8266 KOps/s 58.9203 KOps/s $\textbf{\color{#35bf28}+21.90\%}$
test_getitem[slice_int] 0.1539ms 23.4322μs 42.6763 KOps/s 42.2708 KOps/s $\color{#35bf28}+0.96\%$
test_getitem[range] 0.1742ms 61.3034μs 16.3123 KOps/s 16.3550 KOps/s $\color{#d91a1a}-0.26\%$
test_getitem[tuple] 0.1483ms 24.1935μs 41.3334 KOps/s 43.4423 KOps/s $\color{#d91a1a}-4.85\%$
test_getitem[list] 0.1839ms 58.9772μs 16.9557 KOps/s 17.6929 KOps/s $\color{#d91a1a}-4.17\%$
test_setitem_dim[int] 73.7820μs 27.4822μs 36.3872 KOps/s 39.2982 KOps/s $\textbf{\color{#d91a1a}-7.41\%}$
test_setitem_dim[slice_int] 68.7310μs 43.8393μs 22.8106 KOps/s 23.5602 KOps/s $\color{#d91a1a}-3.18\%$
test_setitem_dim[range] 0.1339ms 93.8452μs 10.6559 KOps/s 10.9650 KOps/s $\color{#d91a1a}-2.82\%$
test_setitem_dim[tuple] 78.0210μs 40.8358μs 24.4883 KOps/s 25.3526 KOps/s $\color{#d91a1a}-3.41\%$
test_setitem 55.6410μs 17.5417μs 57.0071 KOps/s 57.4733 KOps/s $\color{#d91a1a}-0.81\%$
test_set 53.4110μs 16.8000μs 59.5239 KOps/s 60.0833 KOps/s $\color{#d91a1a}-0.93\%$
test_set_shared 0.5064ms 0.2065ms 4.8431 KOps/s 4.9542 KOps/s $\color{#d91a1a}-2.24\%$
test_update 0.3628ms 20.5977μs 48.5492 KOps/s 47.7841 KOps/s $\color{#35bf28}+1.60\%$
test_update_nested 69.2110μs 32.3989μs 30.8653 KOps/s 30.7697 KOps/s $\color{#35bf28}+0.31\%$
test_update__nested 0.4843ms 32.9361μs 30.3618 KOps/s 29.9276 KOps/s $\color{#35bf28}+1.45\%$
test_set_nested 48.9010μs 17.9907μs 55.5842 KOps/s 55.1274 KOps/s $\color{#35bf28}+0.83\%$
test_set_nested_new 60.6210μs 22.6926μs 44.0673 KOps/s 42.7478 KOps/s $\color{#35bf28}+3.09\%$
test_select 71.0710μs 38.4945μs 25.9777 KOps/s 24.3456 KOps/s $\textbf{\color{#35bf28}+6.70\%}$
test_select_nested 0.1122ms 70.8745μs 14.1094 KOps/s 14.2571 KOps/s $\color{#d91a1a}-1.04\%$
test_exclude_nested 0.1173ms 87.2393μs 11.4627 KOps/s 11.5098 KOps/s $\color{#d91a1a}-0.41\%$
test_empty[True] 0.4260ms 0.3780ms 2.6458 KOps/s 2.6666 KOps/s $\color{#d91a1a}-0.78\%$
test_empty[False] 8.6928μs 1.2661μs 789.8081 KOps/s 796.9094 KOps/s $\color{#d91a1a}-0.89\%$
test_to 0.1018ms 69.7926μs 14.3282 KOps/s 14.1715 KOps/s $\color{#35bf28}+1.11\%$
test_to_nonblocking 0.1176ms 62.8342μs 15.9149 KOps/s 15.9447 KOps/s $\color{#d91a1a}-0.19\%$
test_unbind_speed 0.3915ms 0.3137ms 3.1882 KOps/s 3.2152 KOps/s $\color{#d91a1a}-0.84\%$
test_unbind_speed_stack0 0.3783ms 0.3107ms 3.2184 KOps/s 3.2041 KOps/s $\color{#35bf28}+0.45\%$
test_unbind_speed_stack1 0.1028s 0.8827ms 1.1329 KOps/s 1.1154 KOps/s $\color{#35bf28}+1.57\%$
test_split 1.1587ms 1.0919ms 915.8679 Ops/s 917.5423 Ops/s $\color{#d91a1a}-0.18\%$
test_chunk 0.1025s 1.1653ms 858.1249 Ops/s 956.3287 Ops/s $\textbf{\color{#d91a1a}-10.27\%}$
test_to_cpu_blocking 28.1673ms 28.0944ms 35.5942 Ops/s 52.3971 Ops/s $\textbf{\color{#d91a1a}-32.07\%}$
test_to_cpu_global_sync 10.8875ms 10.7870ms 92.7038 Ops/s 91.7481 Ops/s $\color{#35bf28}+1.04\%$
test_to_cpu_event_sync 0.1136s 12.9885ms 76.9910 Ops/s 84.1277 Ops/s $\textbf{\color{#d91a1a}-8.48\%}$
test_to_cpu_default 12.1163ms 11.8031ms 84.7234 Ops/s 84.1280 Ops/s $\color{#35bf28}+0.71\%$
test_consolidate[False-None] 3.9846ms 3.9252ms 254.7670 Ops/s 251.3781 Ops/s $\color{#35bf28}+1.35\%$
test_consolidate[default-None] 1.9807ms 1.9063ms 524.5777 Ops/s 494.4317 Ops/s $\textbf{\color{#35bf28}+6.10\%}$
test_consolidate[reduce-overhead-None] 1.9238ms 1.8440ms 542.3059 Ops/s 512.1333 Ops/s $\textbf{\color{#35bf28}+5.89\%}$
test_consolidate_njt[False-None] 8.4063ms 8.1388ms 122.8681 Ops/s 121.9138 Ops/s $\color{#35bf28}+0.78\%$
test_to[False-False-None] 2.1011ms 2.0086ms 497.8581 Ops/s 492.0812 Ops/s $\color{#35bf28}+1.17\%$
test_to[True-False-None] 2.0061ms 1.8695ms 534.9061 Ops/s 532.5335 Ops/s $\color{#35bf28}+0.45\%$
test_to[within-False-None] 6.1374ms 5.8854ms 169.9114 Ops/s 168.4491 Ops/s $\color{#35bf28}+0.87\%$
test_to[True-default-None] 7.5043ms 7.3235ms 136.5475 Ops/s 69.1647 Ops/s $\textbf{\color{#35bf28}+97.42\%}$
test_to_njt[False-False-None] 8.4862ms 8.3742ms 119.4140 Ops/s 119.9211 Ops/s $\color{#d91a1a}-0.42\%$
test_to_njt[True-False-None] 6.9057ms 6.7732ms 147.6409 Ops/s 147.9684 Ops/s $\color{#d91a1a}-0.22\%$
test_to_njt[within-False-None] 15.1901ms 15.1117ms 66.1737 Ops/s 65.8093 Ops/s $\color{#35bf28}+0.55\%$
test_creation[device0] 0.4101ms 0.1141ms 8.7638 KOps/s 8.6632 KOps/s $\color{#35bf28}+1.16\%$
test_creation_from_tensor 0.5418ms 0.1128ms 8.8664 KOps/s 8.9118 KOps/s $\color{#d91a1a}-0.51\%$
test_add_one[memmap_tensor0] 0.1207ms 6.1918μs 161.5039 KOps/s 154.5640 KOps/s $\color{#35bf28}+4.49\%$
test_contiguous[memmap_tensor0] 19.4310μs 0.6034μs 1.6571 MOps/s 2.0697 MOps/s $\textbf{\color{#d91a1a}-19.93\%}$
test_stack[memmap_tensor0] 30.8210μs 4.3913μs 227.7210 KOps/s 218.3074 KOps/s $\color{#35bf28}+4.31\%$
test_memmaptd_index 0.9671ms 0.2535ms 3.9443 KOps/s 3.9230 KOps/s $\color{#35bf28}+0.54\%$
test_memmaptd_index_astensor 0.5032ms 0.3451ms 2.8981 KOps/s 2.9048 KOps/s $\color{#d91a1a}-0.23\%$
test_memmaptd_index_op 0.7682ms 0.5715ms 1.7499 KOps/s 1.6826 KOps/s $\color{#35bf28}+4.00\%$
test_serialize_model 0.1378s 0.1360s 7.3531 Ops/s 7.3553 Ops/s $\color{#d91a1a}-0.03\%$
test_serialize_model_pickle 1.3497s 1.1926s 0.8385 Ops/s 0.8230 Ops/s $\color{#35bf28}+1.88\%$
test_serialize_weights 0.1384s 0.1357s 7.3694 Ops/s 7.4194 Ops/s $\color{#d91a1a}-0.67\%$
test_serialize_weights_returnearly 0.4404s 91.8446ms 10.8880 Ops/s 10.7550 Ops/s $\color{#35bf28}+1.24\%$
test_serialize_weights_pickle 1.3941s 1.2355s 0.8094 Ops/s 0.8214 Ops/s $\color{#d91a1a}-1.46\%$
test_reshape_pytree 0.2366ms 32.0695μs 31.1822 KOps/s 30.8309 KOps/s $\color{#35bf28}+1.14\%$
test_reshape_td 90.6220μs 42.4820μs 23.5394 KOps/s 23.5762 KOps/s $\color{#d91a1a}-0.16\%$
test_view_pytree 0.2211ms 31.7304μs 31.5155 KOps/s 31.5530 KOps/s $\color{#d91a1a}-0.12\%$
test_view_td 88.1210μs 50.5799μs 19.7707 KOps/s 20.0803 KOps/s $\color{#d91a1a}-1.54\%$
test_unbind_pytree 0.2314ms 35.8189μs 27.9182 KOps/s 27.8636 KOps/s $\color{#35bf28}+0.20\%$
test_unbind_td 0.1522ms 47.2501μs 21.1640 KOps/s 21.2747 KOps/s $\color{#d91a1a}-0.52\%$
test_split_pytree 0.2549ms 40.2475μs 24.8463 KOps/s 24.4459 KOps/s $\color{#35bf28}+1.64\%$
test_split_td 0.1273ms 60.7680μs 16.4560 KOps/s 15.9293 KOps/s $\color{#35bf28}+3.31\%$
test_add_pytree 0.2331ms 40.5226μs 24.6776 KOps/s 24.8124 KOps/s $\color{#d91a1a}-0.54\%$
test_add_td 0.1089ms 51.0643μs 19.5831 KOps/s 19.0134 KOps/s $\color{#35bf28}+3.00\%$
test_compile_add_one_nested[tensordict-compile] 0.2022ms 0.1371ms 7.2939 KOps/s 6.9769 KOps/s $\color{#35bf28}+4.54\%$
test_compile_add_one_nested[tensordict-eager] 0.3087ms 0.1858ms 5.3823 KOps/s 5.4818 KOps/s $\color{#d91a1a}-1.82\%$
test_compile_add_one_nested[pytree-compile] 0.4382ms 0.1079ms 9.2683 KOps/s 9.2767 KOps/s $\color{#d91a1a}-0.09\%$
test_compile_add_one_nested[pytree-eager] 0.4584ms 0.1757ms 5.6902 KOps/s 5.6760 KOps/s $\color{#35bf28}+0.25\%$
test_compile_copy_nested[tensordict-compile] 0.3990ms 35.7022μs 28.0095 KOps/s 30.9114 KOps/s $\textbf{\color{#d91a1a}-9.39\%}$
test_compile_copy_nested[tensordict-eager] 0.1029ms 49.4682μs 20.2150 KOps/s 20.0848 KOps/s $\color{#35bf28}+0.65\%$
test_compile_copy_nested[pytree-compile] 0.1308ms 9.2849μs 107.7016 KOps/s 104.5668 KOps/s $\color{#35bf28}+3.00\%$
test_compile_copy_nested[pytree-eager] 0.4600ms 66.1478μs 15.1177 KOps/s 15.1674 KOps/s $\color{#d91a1a}-0.33\%$
test_compile_add_one_flat[tensordict-compile] 0.3150ms 0.1720ms 5.8148 KOps/s 5.5282 KOps/s $\textbf{\color{#35bf28}+5.18\%}$
test_compile_add_one_flat[tensordict-eager] 0.2993ms 0.2449ms 4.0840 KOps/s 3.9922 KOps/s $\color{#35bf28}+2.30\%$
test_compile_add_one_flat[tensorclass-compile] 0.2373ms 0.1131ms 8.8418 KOps/s 8.5196 KOps/s $\color{#35bf28}+3.78\%$
test_compile_add_one_flat[tensorclass-eager] 0.1088ms 66.9867μs 14.9283 KOps/s 14.5647 KOps/s $\color{#35bf28}+2.50\%$
test_compile_add_one_flat[pytree-compile] 0.2073ms 0.1568ms 6.3779 KOps/s 6.2040 KOps/s $\color{#35bf28}+2.80\%$
test_compile_add_one_flat[pytree-eager] 0.8084ms 0.5166ms 1.9357 KOps/s 1.8780 KOps/s $\color{#35bf28}+3.07\%$
test_compile_add_self_flat[tensordict-eager] 0.3462ms 0.2962ms 3.3765 KOps/s 3.2352 KOps/s $\color{#35bf28}+4.37\%$
test_compile_add_self_flat[tensordict-compile] 0.7184ms 0.1775ms 5.6345 KOps/s 5.2960 KOps/s $\textbf{\color{#35bf28}+6.39\%}$
test_compile_add_self_flat[tensorclass-eager] 0.1303ms 81.9257μs 12.2062 KOps/s 11.9068 KOps/s $\color{#35bf28}+2.51\%$
test_compile_add_self_flat[tensorclass-compile] 0.1910ms 0.1154ms 8.6639 KOps/s 8.2443 KOps/s $\textbf{\color{#35bf28}+5.09\%}$
test_compile_add_self_flat[pytree-eager] 0.6583ms 0.4252ms 2.3517 KOps/s 2.2308 KOps/s $\textbf{\color{#35bf28}+5.42\%}$
test_compile_add_self_flat[pytree-compile] 0.4063ms 0.1553ms 6.4398 KOps/s 6.2575 KOps/s $\color{#35bf28}+2.91\%$
test_compile_copy_flat[tensordict-compile] 92.8010μs 23.8966μs 41.8469 KOps/s 39.8265 KOps/s $\textbf{\color{#35bf28}+5.07\%}$
test_compile_copy_flat[tensordict-eager] 72.0910μs 40.3010μs 24.8133 KOps/s 24.8804 KOps/s $\color{#d91a1a}-0.27\%$
test_compile_copy_flat[pytree-compile] 0.1282ms 10.6170μs 94.1888 KOps/s 93.4578 KOps/s $\color{#35bf28}+0.78\%$
test_compile_copy_flat[pytree-eager] 0.4090ms 50.8615μs 19.6612 KOps/s 19.5899 KOps/s $\color{#35bf28}+0.36\%$
test_compile_assign_and_add[tensordict-compile] 1.9296ms 0.1693ms 5.9052 KOps/s 5.5417 KOps/s $\textbf{\color{#35bf28}+6.56\%}$
test_compile_assign_and_add[tensordict-eager] 3.6175ms 3.2404ms 308.6015 Ops/s 313.5402 Ops/s $\color{#d91a1a}-1.58\%$
test_compile_assign_and_add[pytree-compile] 1.8878ms 0.1573ms 6.3573 KOps/s 6.2202 KOps/s $\color{#35bf28}+2.21\%$
test_compile_assign_and_add[pytree-eager] 2.8419ms 2.7334ms 365.8501 Ops/s 361.1075 Ops/s $\color{#35bf28}+1.31\%$
test_compile_indexing[tensor-tensordict-compile] 0.1773ms 0.1072ms 9.3291 KOps/s 9.1121 KOps/s $\color{#35bf28}+2.38\%$
test_compile_indexing[tensor-tensordict-eager] 0.3217ms 73.0944μs 13.6809 KOps/s 13.7213 KOps/s $\color{#d91a1a}-0.29\%$
test_compile_indexing[tensor-tensorclass-compile] 0.2487ms 92.5635μs 10.8034 KOps/s 10.4382 KOps/s $\color{#35bf28}+3.50\%$
test_compile_indexing[tensor-tensorclass-eager] 0.2912ms 44.9034μs 22.2700 KOps/s 22.4593 KOps/s $\color{#d91a1a}-0.84\%$
test_compile_indexing[tensor-pytree-compile] 0.1463ms 93.7439μs 10.6674 KOps/s 10.4604 KOps/s $\color{#35bf28}+1.98\%$
test_compile_indexing[tensor-pytree-eager] 0.2796ms 44.7940μs 22.3244 KOps/s 22.5124 KOps/s $\color{#d91a1a}-0.84\%$
test_compile_indexing[slice-tensordict-compile] 0.1334ms 57.2234μs 17.4754 KOps/s 17.5128 KOps/s $\color{#d91a1a}-0.21\%$
test_compile_indexing[slice-tensordict-eager] 0.2278ms 26.4906μs 37.7492 KOps/s 34.8138 KOps/s $\textbf{\color{#35bf28}+8.43\%}$
test_compile_indexing[slice-tensorclass-compile] 0.1451ms 45.0432μs 22.2009 KOps/s 21.9668 KOps/s $\color{#35bf28}+1.07\%$
test_compile_indexing[slice-tensorclass-eager] 0.2574ms 21.7472μs 45.9829 KOps/s 44.9197 KOps/s $\color{#35bf28}+2.37\%$
test_compile_indexing[slice-pytree-compile] 87.4410μs 45.4765μs 21.9894 KOps/s 21.4868 KOps/s $\color{#35bf28}+2.34\%$
test_compile_indexing[slice-pytree-eager] 0.2901ms 21.6985μs 46.0862 KOps/s 45.5446 KOps/s $\color{#35bf28}+1.19\%$
test_compile_indexing[int-tensordict-compile] 0.1022ms 54.9430μs 18.2007 KOps/s 17.2935 KOps/s $\textbf{\color{#35bf28}+5.25\%}$
test_compile_indexing[int-tensordict-eager] 0.2745ms 26.6052μs 37.5866 KOps/s 36.9416 KOps/s $\color{#35bf28}+1.75\%$
test_compile_indexing[int-tensorclass-compile] 0.1288ms 43.5987μs 22.9364 KOps/s 21.3799 KOps/s $\textbf{\color{#35bf28}+7.28\%}$
test_compile_indexing[int-tensorclass-eager] 0.2675ms 21.6594μs 46.1693 KOps/s 45.7133 KOps/s $\color{#35bf28}+1.00\%$
test_compile_indexing[int-pytree-compile] 0.2146ms 44.1534μs 22.6483 KOps/s 21.5458 KOps/s $\textbf{\color{#35bf28}+5.12\%}$
test_compile_indexing[int-pytree-eager] 0.2601ms 21.9207μs 45.6190 KOps/s 45.7898 KOps/s $\color{#d91a1a}-0.37\%$
test_mod_add[eager] 93.6010μs 48.9297μs 20.4375 KOps/s 19.1588 KOps/s $\textbf{\color{#35bf28}+6.67\%}$
test_mod_add[compile] 0.2645ms 0.1016ms 9.8437 KOps/s 9.1639 KOps/s $\textbf{\color{#35bf28}+7.42\%}$
test_mod_add[compile-overhead] 0.2333ms 0.1429ms 6.9965 KOps/s 6.7602 KOps/s $\color{#35bf28}+3.50\%$
test_mod_wrap[eager] 0.3632ms 0.2845ms 3.5145 KOps/s 3.4737 KOps/s $\color{#35bf28}+1.17\%$
test_mod_wrap[compile] 0.4604ms 0.3411ms 2.9317 KOps/s 2.7794 KOps/s $\textbf{\color{#35bf28}+5.48\%}$
test_mod_wrap[compile-overhead] 7.3634ms 4.0113ms 249.2934 Ops/s 250.3707 Ops/s $\color{#d91a1a}-0.43\%$
test_mod_wrap_and_backward[eager] 1.5877ms 1.4663ms 681.9685 Ops/s 669.7102 Ops/s $\color{#35bf28}+1.83\%$
test_mod_wrap_and_backward[compile] 1.5286ms 1.4291ms 699.7180 Ops/s 697.2529 Ops/s $\color{#35bf28}+0.35\%$
test_mod_wrap_and_backward[compile-overhead] 1.6729ms 0.8623ms 1.1597 KOps/s 1.1348 KOps/s $\color{#35bf28}+2.19\%$
test_seq_add[eager] 0.2216ms 0.1507ms 6.6378 KOps/s 6.5402 KOps/s $\color{#35bf28}+1.49\%$
test_seq_add[compile] 0.2056ms 0.1121ms 8.9222 KOps/s 8.2455 KOps/s $\textbf{\color{#35bf28}+8.21\%}$
test_seq_add[compile-overhead] 0.2084ms 0.1501ms 6.6604 KOps/s 6.4002 KOps/s $\color{#35bf28}+4.06\%$
test_seq_wrap[eager] 0.7851ms 0.5211ms 1.9190 KOps/s 1.9453 KOps/s $\color{#d91a1a}-1.35\%$
test_seq_wrap[compile] 0.4294ms 0.3568ms 2.8028 KOps/s 2.6563 KOps/s $\textbf{\color{#35bf28}+5.51\%}$
test_seq_wrap[compile-overhead] 0.3575ms 0.2561ms 3.9044 KOps/s 3.7952 KOps/s $\color{#35bf28}+2.88\%$
test_func_call_runtime[False-eager] 0.8732ms 0.8191ms 1.2208 KOps/s 1.1460 KOps/s $\textbf{\color{#35bf28}+6.52\%}$
test_func_call_runtime[False-compile] 0.9412ms 0.8784ms 1.1384 KOps/s 1.1020 KOps/s $\color{#35bf28}+3.30\%$
test_func_call_runtime[False-compile-overhead] 0.5230ms 0.4384ms 2.2810 KOps/s 2.2370 KOps/s $\color{#35bf28}+1.97\%$
test_func_call_runtime[True-eager] 1.2033ms 1.0576ms 945.5148 Ops/s 932.8752 Ops/s $\color{#35bf28}+1.35\%$
test_func_call_runtime[True-compile] 0.9523ms 0.8915ms 1.1217 KOps/s 1.0981 KOps/s $\color{#35bf28}+2.15\%$
test_func_call_runtime[True-compile-overhead] 0.5385ms 0.4515ms 2.2147 KOps/s 2.1677 KOps/s $\color{#35bf28}+2.17\%$
test_func_call_cm_runtime[False-eager] 0.8744ms 0.8185ms 1.2218 KOps/s 1.2035 KOps/s $\color{#35bf28}+1.52\%$
test_func_call_cm_runtime[False-compile] 1.0457ms 0.8847ms 1.1303 KOps/s 1.1044 KOps/s $\color{#35bf28}+2.34\%$
test_func_call_cm_runtime[False-compile-overhead] 0.4880ms 0.4392ms 2.2767 KOps/s 2.2365 KOps/s $\color{#35bf28}+1.80\%$
test_func_call_cm_runtime[True-eager] 1.3395ms 1.1967ms 835.6397 Ops/s 825.7396 Ops/s $\color{#35bf28}+1.20\%$
test_func_call_cm_runtime[True-compile] 1.0093ms 0.9226ms 1.0839 KOps/s 1.0635 KOps/s $\color{#35bf28}+1.92\%$
test_func_call_cm_runtime[True-compile-overhead] 0.5383ms 0.4823ms 2.0735 KOps/s 2.0244 KOps/s $\color{#35bf28}+2.42\%$
test_vmap_func_call_cm_runtime[eager] 2.7810ms 2.3066ms 433.5308 Ops/s 428.0279 Ops/s $\color{#35bf28}+1.29\%$
test_vmap_func_call_cm_runtime[compile] 1.0639ms 0.9495ms 1.0532 KOps/s 1.0462 KOps/s $\color{#35bf28}+0.67\%$
test_vmap_func_call_cm_runtime[compile-overhead] 0.5507ms 0.4871ms 2.0530 KOps/s 1.9987 KOps/s $\color{#35bf28}+2.72\%$
test_distributed 2.6709ms 0.1569ms 6.3719 KOps/s 5.7525 KOps/s $\textbf{\color{#35bf28}+10.77\%}$
test_tdmodule 0.1609ms 27.6620μs 36.1507 KOps/s 36.3520 KOps/s $\color{#d91a1a}-0.55\%$
test_tdmodule_dispatch 74.2710μs 43.9631μs 22.7463 KOps/s 22.7330 KOps/s $\color{#35bf28}+0.06\%$
test_tdseq 46.6210μs 26.4109μs 37.8631 KOps/s 37.9210 KOps/s $\color{#d91a1a}-0.15\%$
test_tdseq_dispatch 66.3210μs 46.1513μs 21.6679 KOps/s 21.5220 KOps/s $\color{#35bf28}+0.68\%$
test_instantiation_functorch 2.1262ms 1.9643ms 509.0825 Ops/s 502.6521 Ops/s $\color{#35bf28}+1.28\%$
test_exec_functorch 0.2169ms 0.1748ms 5.7219 KOps/s 5.6305 KOps/s $\color{#35bf28}+1.62\%$
test_exec_functional_call 0.2005ms 0.1570ms 6.3676 KOps/s 6.3252 KOps/s $\color{#35bf28}+0.67\%$
test_exec_td_decorator 0.4436ms 0.2304ms 4.3395 KOps/s 4.3027 KOps/s $\color{#35bf28}+0.85\%$
test_vmap_mlp_speed_decorator[True-True] 1.0149ms 0.8024ms 1.2463 KOps/s 1.2316 KOps/s $\color{#35bf28}+1.19\%$
test_vmap_mlp_speed_decorator[True-False] 0.9823ms 0.8045ms 1.2430 KOps/s 1.2337 KOps/s $\color{#35bf28}+0.75\%$
test_vmap_mlp_speed_decorator[False-True] 0.8954ms 0.6977ms 1.4332 KOps/s 1.4188 KOps/s $\color{#35bf28}+1.02\%$
test_vmap_mlp_speed_decorator[False-False] 0.8619ms 0.6981ms 1.4324 KOps/s 1.4209 KOps/s $\color{#35bf28}+0.81\%$
test_vmap_transformer_speed_decorator[True-True] 20.2245ms 20.1229ms 49.6946 Ops/s 49.1392 Ops/s $\color{#35bf28}+1.13\%$
test_vmap_transformer_speed_decorator[True-False] 20.2438ms 20.1300ms 49.6772 Ops/s 49.1104 Ops/s $\color{#35bf28}+1.15\%$
test_vmap_transformer_speed_decorator[False-True] 20.4468ms 19.9390ms 50.1530 Ops/s 49.6901 Ops/s $\color{#35bf28}+0.93\%$
test_vmap_transformer_speed_decorator[False-False] 20.6427ms 19.9597ms 50.1010 Ops/s 49.6279 Ops/s $\color{#35bf28}+0.95\%$
test_to_module_speed[True] 1.9525ms 1.4137ms 707.3447 Ops/s 714.4845 Ops/s $\color{#d91a1a}-1.00\%$
test_to_module_speed[False] 1.8818ms 1.3837ms 722.6851 Ops/s 719.0443 Ops/s $\color{#35bf28}+0.51\%$
test_tc_init 84.2820μs 43.9277μs 22.7647 KOps/s 22.7316 KOps/s $\color{#35bf28}+0.15\%$
test_tc_init_tensor_only 27.0010μs 9.3613μs 106.8225 KOps/s 107.0229 KOps/s $\color{#d91a1a}-0.19\%$
test_tc_init_nested 0.1507ms 85.9187μs 11.6389 KOps/s 11.4336 KOps/s $\color{#35bf28}+1.80\%$
test_tc_init_many_fields 46.9510μs 15.4496μs 64.7265 KOps/s 63.1762 KOps/s $\color{#35bf28}+2.45\%$
test_tc_first_layer_tensor 20.1110μs 1.7225μs 580.5663 KOps/s 587.7784 KOps/s $\color{#d91a1a}-1.23\%$
test_tc_first_layer_tensor_only 6.5516μs 0.7125μs 1.4036 MOps/s 1.4433 MOps/s $\color{#d91a1a}-2.75\%$
test_tc_first_layer_tensor_set 38.7210μs 3.6935μs 270.7475 KOps/s 264.0281 KOps/s $\color{#35bf28}+2.54\%$
test_tc_first_layer_tensor_only_set 14.0310μs 3.0290μs 330.1390 KOps/s 338.0344 KOps/s $\color{#d91a1a}-2.34\%$
test_tc_first_layer_nontensor 33.7910μs 5.7937μs 172.6005 KOps/s 172.9888 KOps/s $\color{#d91a1a}-0.22\%$
test_tc_second_layer_tensor 30.9310μs 4.1520μs 240.8472 KOps/s 238.9982 KOps/s $\color{#35bf28}+0.77\%$
test_tc_second_layer_nontensor 43.6110μs 8.1861μs 122.1583 KOps/s 120.7447 KOps/s $\color{#35bf28}+1.17\%$
test_unbind 0.2581s 15.6619ms 63.8494 Ops/s 64.6702 Ops/s $\color{#d91a1a}-1.27\%$
test_full_like 4.6796ms 4.3227ms 231.3381 Ops/s 228.7813 Ops/s $\color{#35bf28}+1.12\%$
test_zeros_like 4.6855ms 4.3584ms 229.4442 Ops/s 228.6934 Ops/s $\color{#35bf28}+0.33\%$
test_ones_like 4.5898ms 4.3574ms 229.4923 Ops/s 229.1349 Ops/s $\color{#35bf28}+0.16\%$
test_clone 6.9813ms 6.3857ms 156.6008 Ops/s 156.8218 Ops/s $\color{#d91a1a}-0.14\%$
test_squeeze 0.1900ms 13.8349μs 72.2812 KOps/s 74.3229 KOps/s $\color{#d91a1a}-2.75\%$
test_unsqueeze 0.1581ms 0.1065ms 9.3882 KOps/s 9.3186 KOps/s $\color{#35bf28}+0.75\%$
test_split 0.2624ms 0.1779ms 5.6219 KOps/s 5.5844 KOps/s $\color{#35bf28}+0.67\%$
test_permute 0.2967ms 0.1980ms 5.0502 KOps/s 5.0046 KOps/s $\color{#35bf28}+0.91\%$
test_stack 51.2724ms 50.7043ms 19.7222 Ops/s 19.6788 Ops/s $\color{#35bf28}+0.22\%$
test_cat 51.2684ms 50.9875ms 19.6127 Ops/s 19.6270 Ops/s $\color{#d91a1a}-0.07\%$

[ghstack-poisoned]
@github-actions

Copy link
Copy Markdown
Contributor

PR Title Label Error

Unknown or invalid prefix [Distributed].

Current title: [Distributed] Consolidated init_remote / from_remote_init

Supported Prefixes

Your PR title must start with exactly one of these prefixes:

Prefix Label Applied Example
[BugFix] BugFix [BugFix] Fix memory leak in TensorDict
[Feature] Feature [Feature] Add new storage backend
[Doc] or [Docs] Documentation [Doc] Update installation guide
[Refactor] Refactor [Refactor] Clean up module imports
[CI] CI [CI] Fix workflow permissions
[Test] or [Tests] Test [Test] Add unit tests for nn module
[Compile] Compile [Compile] Fix torch.compile issue
[Performance] or [Perf] Perf [Perf] Optimize tensor operations
[Deprecation] Deprecation [Deprecation] Mark old function
[Setup] Setup [Setup] Update build configuration

Note: Common variations like singular/plural are supported (e.g., [Doc] or [Docs]).

[ghstack-poisoned]
@github-actions

Copy link
Copy Markdown
Contributor

PR Title Label Error

Unknown or invalid prefix [Distributed].

Current title: [Distributed] Consolidated init_remote / from_remote_init

Supported Prefixes

Your PR title must start with exactly one of these prefixes:

Prefix Label Applied Example
[BugFix] BugFix [BugFix] Fix memory leak in TensorDict
[Feature] Feature [Feature] Add new storage backend
[Doc] or [Docs] Documentation [Doc] Update installation guide
[Refactor] Refactor [Refactor] Clean up module imports
[CI] CI [CI] Fix workflow permissions
[Test] or [Tests] Test [Test] Add unit tests for nn module
[Compile] Compile [Compile] Fix torch.compile issue
[Performance] or [Perf] Perf [Perf] Optimize tensor operations
[Deprecation] Deprecation [Deprecation] Mark old function
[Setup] Setup [Setup] Update build configuration

Note: Common variations like singular/plural are supported (e.g., [Doc] or [Docs]).

@github-actions github-actions Bot added the Test label Feb 19, 2026
vmoens added a commit that referenced this pull request Feb 19, 2026
Rewrite init_remote to consolidate the tensordict first and send only
2 messages (metadata dict via send_object_list + storage via dist.send)
instead of N+1 messages for N leaf tensors.

from_remote_init now receives the consolidated metadata, allocates a
single contiguous buffer, receives the storage, and rebuilds the full
tensordict via _rebuild_tensordict_files_consolidated.

This is RDMA-friendly (single large contiguous transfer) and also
preserves NonTensorData which was previously dropped.

Co-authored-by: Cursor <cursoragent@cursor.com>
ghstack-source-id: 358c3df
Pull-Request: #1586
@vmoens
vmoens merged commit 7141ba0 into gh/vmoens/69/base Feb 19, 2026
36 of 53 checks passed
@vmoens
vmoens deleted the gh/vmoens/69/head branch February 19, 2026 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Distributed Test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant