Skip to content

[Feature] Add LIBERO environment adapter - #3877

Merged
vmoens merged 11 commits into
gh/vmoens/289/basefrom
gh/vmoens/289/head
Jun 18, 2026
Merged

vmoens merged 11 commits into
gh/vmoens/289/basefrom
gh/vmoens/289/head

Conversation

[ghstack-poisoned]
@pytorch-bot

pytorch-bot Bot commented Jun 17, 2026 •

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/rl/3877

Note: Links to docs will display an error until the docs builds have been completed.

⏳ No Failures, 52 Pending

As of commit 24923f7 with merge base 6364a19 (image):
💚 Looks good so far! There are no failures yet. 💚

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@github-actions github-actions Bot added the Documentation Improvements or additions to documentation label Jun 17, 2026
@github-actions github-actions Bot added Benchmarks rl/benchmark changes Environments Adds or modifies an environment wrapper labels Jun 17, 2026
@github-actions github-actions Bot added the Feature New feature label Jun 17, 2026
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jun 17, 2026
vmoens added 2 commits June 17, 2026 17:20
[ghstack-poisoned]
[ghstack-poisoned]
@github-actions github-actions Bot added the CI Has to do with CI setup (e.g. wheels & builds, tests...) label Jun 17, 2026
@github-actions

github-actions Bot commented Jun 17, 2026 •

Copy link
Copy Markdown
Contributor

Benchmark Results: PR 24923f70 vs main 4d08f22e

Benchmark run: https://github.com/pytorch/rl/actions/runs/27760860262

Higher ops/sec is better. Tables are sorted by largest absolute change.

CPU

Compared 192 benchmarks. Regressions over 5%: 13. Improvements over 5%: 13.

Benchmark main ops PR ops Change
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-ListStorage-RandomSampler-400] 37.71 198.25 +425.71%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-ListStorage-SamplerWithoutReplacement-400] 196.01 54.59 -72.15%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyTensorStorage-SamplerWithoutReplacement-10000] 2,505 3,705 +47.90%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-10000] 2,509 3,439 +37.07%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-10000] 2,692 3,575 +32.78%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-10000] 1,777 2,265 +27.45%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictPrioritizedReplayBuffer-LazyTensorStorage-None-10000] 1,841 2,330 +26.52%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-10000] 3,647 2,726 -25.25%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-10000] 3,391 2,610 -23.02%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyTensorStorage-sampler7-10000] 706.36 843.81 +19.46%
benchmarks/test_envs_benchmark.py::test_cat_frames_functional[4-same] 23.60 27.91 +18.26%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictPrioritizedReplayBuffer-LazyTensorStorage-None-400] 906.96 758.29 -16.39%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-sampler6-10000] 688.24 791.59 +15.02%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyTensorStorage-SamplerWithoutReplacement-10000] 3,279 2,828 -13.74%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictPrioritizedReplayBuffer-LazyTensorStorage-None-10000] 2,282 1,995 -12.58%
benchmarks/test_objectives_benchmarks.py::test_cql_speed[True-backward] 53.79 60.04 +11.63%
benchmarks/test_envs_benchmark.py::test_cat_frames_functional[16-same] 22.21 19.66 -11.48%
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[True-backward] 892.04 989.89 +10.97%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-10000] 2,989 2,664 -10.88%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-10000] 2,114 1,900 -10.12%
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[True-backward] 112.28 120.97 +7.73%
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[True-None] 287.01 268.14 -6.58%
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[reduce-overhead-None] 314.66 294.14 -6.52%
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[True-None] 268.94 286.22 +6.43%
benchmarks/test_objectives_benchmarks.py::test_values[td0_return_estimate-False-False] 7,958 7,471 -6.11%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-False-False-False] 65,710 62,358 -5.10%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-False-False-False] 55,467 52,757 -4.89%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-400] 551.59 524.93 -4.83%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-True-False] 27,748 26,423 -4.78%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_stack_then_write[100-img_shape1-atari] 264.89 277.12 +4.62%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-400] 515.07 538.52 +4.55%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-False-False] 57,792 55,225 -4.44%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[50-img_shape0-small] 7,294 6,971 -4.44%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-False-False-True] 34,389 32,888 -4.37%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[100-img_shape1-atari] 5,237 5,020 -4.15%
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[safetensors] 22,900 23,795 +3.91%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-False-False] 77,417 74,402 -3.89%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-False-True] 33,064 31,781 -3.88%
benchmarks/test_objectives_benchmarks.py::test_gae_speed[vec_generalized_advantage_estimate-True-1-512] 679.27 652.96 -3.87%
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[torch.save] 7,202 6,936 -3.70%
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[False-None] 167.83 161.75 -3.62%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-False-True-False] 31,973 30,847 -3.52%
benchmarks/test_objectives_benchmarks.py::test_cql_speed[reduce-overhead-None] 83.49 86.35 +3.43%
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[True-backward] 138.34 143.04 +3.40%
benchmarks/test_envs_benchmark.py::test_parallel 0.9810 0.9481 -3.36%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-True-True] 23,836 23,038 -3.35%
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[pickle] 12,522 12,104 -3.35%
benchmarks/test_objectives_benchmarks.py::test_gae_speed[vec_generalized_advantage_estimate-False-1-512] 2,243 2,169 -3.30%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-False-True] 38,204 36,952 -3.28%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-False-True] 28,192 27,302 -3.16%
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[True-None] 283.08 291.93 +3.12%
benchmarks/test_objectives_benchmarks.py::test_redq_speed[False-backward] 55.72 54.01 -3.05%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-False-False] 44,168 42,863 -2.96%
benchmarks/test_objectives_benchmarks.py::test_values[td_lambda_return_estimate-True-False] 23.70 24.39 +2.91%
benchmarks/test_objectives_benchmarks.py::test_td3_speed[True-backward] 277.64 285.64 +2.88%
benchmarks/test_objectives_benchmarks.py::test_redq_speed[reduce-overhead-None] 223.49 229.89 +2.87%
benchmarks/test_envs_benchmark.py::test_transformed 0.8879 0.9129 +2.81%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-False-True-False] 38,398 37,328 -2.79%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-10000] 2,929 2,848 -2.78%
benchmarks/test_objectives_benchmarks.py::test_sac_speed[True-backward] 244.06 250.61 +2.68%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-True-False-True] 29,880 29,090 -2.65%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-400] 1,102 1,074 -2.57%
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[True-backward] 114.52 117.34 +2.46%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-True-False] 32,149 31,369 -2.43%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-False-True] 41,600 40,601 -2.40%
benchmarks/test_objectives_benchmarks.py::test_iql_speed[reduce-overhead-None] 116.01 118.79 +2.40%
benchmarks/test_objectives_benchmarks.py::test_reinforce_speed[False-None] 211.22 216.22 +2.36%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_lazystack_then_write[200-img_shape3-large_batch] 308.16 315.18 +2.28%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-True-True] 20,584 20,157 -2.07%
benchmarks/test_objectives_benchmarks.py::test_sac_speed[False-None] 123.73 121.18 -2.06%
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[reduce-overhead-None] 266.52 271.91 +2.02%
benchmarks/test_objectives_benchmarks.py::test_sac_speed[True-None] 469.81 479.12 +1.98%
benchmarks/test_replaybuffer_benchmark.py::test_rb_extend_sample[ReplayBuffer-LazyTensorStorage-RandomSampler-10000-10000-100-True] 25.34 25.83 +1.95%
benchmarks/test_objectives_benchmarks.py::test_values[generalized_advantage_estimate-True-True] 100.05 98.13 -1.92%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictPrioritizedReplayBuffer-ListStorage-None-4000] 165.79 162.61 -1.91%
benchmarks/test_non_tensor_env_benchmark.py::test_non_tensor_env_rollout_speed[1000-parallel-buffers-False] 0.5957 0.6068 +1.87%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[100-img_shape1-atari] 693.35 705.97 +1.82%
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[reduce-overhead-None] 1,770 1,802 +1.82%
benchmarks/test_non_tensor_env_benchmark.py::test_non_tensor_env_rollout_speed[1000-parallel-buffers-True] 0.5274 0.5179 -1.81%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-False-False-True] 36,977 36,318 -1.78%
benchmarks/test_objectives_benchmarks.py::test_reinforce_speed[False-backward] 130.92 133.24 +1.77%
benchmarks/test_replaybuffer_benchmark.py::test_rb_extend_sample[ReplayBuffer-LazyTensorStorage-RandomSampler-100000-10000-100-False] 52.84 53.76 +1.74%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_lazystack_then_write[100-img_shape1-atari] 638.74 649.53 +1.69%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-False-False] 49,205 48,402 -1.63%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_lazystack_then_write[100-img_shape2-large_img] 389.47 395.80 +1.63%
benchmarks/test_rnn_reset_backends_benchmark.py::test_rnn_rollout_with_intermediate_resets[b256-t128-i32-h512-scan-False-0-lstm] 2.0566 2.0238 -1.59%
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[False-backward] 241.85 245.55 +1.53%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-False-True-True] 19,549 19,253 -1.51%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-ListStorage-RandomSampler-4000] 161.42 158.98 -1.51%
benchmarks/test_objectives_benchmarks.py::test_gae_speed[vec_generalized_advantage_estimate-True-32-512] 29.16 28.72 -1.50%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-ListStorage-SamplerWithoutReplacement-4000] 167.45 164.98 -1.48%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictPrioritizedReplayBuffer-ListStorage-None-400] 189.46 186.73 -1.44%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_stack_then_write[100-img_shape2-large_img] 167.50 169.90 +1.43%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyTensorStorage-SamplerWithoutReplacement-400] 1,067 1,052 -1.42%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-True-False] 42,335 41,738 -1.41%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[200-img_shape3-large_batch] 331.76 336.41 +1.40%
benchmarks/test_rnn_reset_backends_benchmark.py::test_rnn_rollout_with_intermediate_resets[b256-t128-i32-h512-scan-False-0-gru] 3.0808 3.0376 -1.40%
benchmarks/test_objectives_benchmarks.py::test_cql_speed[True-None] 85.60 86.75 +1.34%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_stack_then_write[200-img_shape3-large_batch] 133.62 135.35 +1.29%
benchmarks/test_replaybuffer_benchmark.py::test_rb_extend_sample[ReplayBuffer-LazyTensorStorage-RandomSampler-10000-10000-100-False] 54.05 54.75 +1.29%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-ListStorage-RandomSampler-4000] 168.39 166.22 -1.29%
benchmarks/test_collectors_benchmark.py::test_sync 17.04 16.82 -1.28%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-False-False] 64,094 63,276 -1.28%
benchmarks/test_non_tensor_env_benchmark.py::test_non_tensor_env_rollout_speed[1000-single-True] 1.3218 1.3049 -1.27%
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[False-None] 344.89 349.13 +1.23%
benchmarks/test_objectives_benchmarks.py::test_cql_speed[False-backward] 28.13 27.79 -1.21%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-True-True] 19,526 19,292 -1.20%
benchmarks/test_collectors_benchmark.py::test_sync_preempt 16.61 16.81 +1.20%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[200-img_shape3-large_batch] 768.01 758.93 -1.18%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-True-True] 21,079 20,835 -1.16%
benchmarks/test_non_tensor_env_benchmark.py::test_non_tensor_env_rollout_speed[1000-parallel-no-buffers-True] 0.2155 0.2132 -1.10%
benchmarks/test_objectives_benchmarks.py::test_iql_speed[True-None] 117.74 119.02 +1.09%
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[reduce-overhead-None] 713.61 705.84 -1.09%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-False-True] 29,688 29,371 -1.07%
benchmarks/test_non_tensor_env_benchmark.py::test_non_tensor_env_rollout_speed[1000-single-False] 1.5996 1.5827 -1.05%
benchmarks/test_non_tensor_env_benchmark.py::test_non_tensor_env_rollout_speed[1000-serial-no-buffers-True] 0.5990 0.5928 -1.03%
benchmarks/test_replaybuffer_benchmark.py::TestPrioritizedReplayBufferBenchmark::test_sampler_sample_scale[1000000-cpu] 100.00 98.97 -1.03%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[100-img_shape2-large_img] 409.44 413.61 +1.02%
benchmarks/test_non_tensor_env_benchmark.py::test_non_tensor_env_rollout_speed[1000-serial-buffers-True] 0.5189 0.5136 -1.01%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictPrioritizedReplayBuffer-ListStorage-None-4000] 164.01 162.43 -0.96%
... ... ... Showing 120 of 192 comparisons, sorted by absolute change.

GPU

Compared 202 benchmarks. Regressions over 5%: 13. Improvements over 5%: 12.

Benchmark main ops PR ops Change
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-ListStorage-SamplerWithoutReplacement-400] 43.64 192.66 +341.43%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-ListStorage-RandomSampler-400] 191.37 38.66 -79.80%
benchmarks/test_objectives_benchmarks.py::test_iql_speed[False-None] 96.91 57.88 -40.28%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-10000] 2,476 3,373 +36.24%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-10000] 2,854 3,596 +26.01%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-10000] 2,703 3,387 +25.33%
benchmarks/test_objectives_benchmarks.py::test_reinforce_speed[reduce-overhead-None] 96.01 120.29 +25.29%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictPrioritizedReplayBuffer-LazyTensorStorage-None-10000] 2,336 1,907 -18.35%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-10000] 3,085 3,620 +17.33%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-10000] 2,239 1,873 -16.35%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyTensorStorage-SamplerWithoutReplacement-400] 999.90 851.54 -14.84%
benchmarks/test_envs_benchmark.py::test_cat_frames_functional[16-same] 5.3692 4.6040 -14.25%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-10000] 3,452 3,077 -10.88%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-10000] 2,217 1,987 -10.38%
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[True-backward] 963.61 864.56 -10.28%
benchmarks/test_collectors_benchmark.py::test_single_with_rb_pixels 5.2146 4.6933 -10.00%
benchmarks/test_objectives_benchmarks.py::test_td3_speed[True-backward] 360.06 389.11 +8.07%
benchmarks/test_collectors_benchmark.py::test_sync_preempt 9.5762 10.29 +7.46%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[100-img_shape2-large_img] 592.17 549.03 -7.29%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-400] 528.05 491.80 -6.86%
benchmarks/test_objectives_benchmarks.py::test_reinforce_speed[True-backward] 343.86 365.68 +6.35%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-sampler6-10000] 775.68 727.40 -6.22%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[100-img_shape1-atari] 3,925 4,152 +5.78%
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[True-backward] 342.40 361.92 +5.70%
benchmarks/test_objectives_benchmarks.py::test_sac_speed[True-backward] 309.55 325.79 +5.25%
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[reduce-overhead-None] 1,814 1,900 +4.73%
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[True-backward] 464.60 443.33 -4.58%
benchmarks/test_objectives_benchmarks.py::test_cql_speed[True-backward] 213.25 222.57 +4.37%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictPrioritizedReplayBuffer-ListStorage-None-400] 181.74 188.99 +3.99%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-400] 489.81 509.13 +3.95%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-True-False-False] 51,324 49,344 -3.86%
benchmarks/test_envs_benchmark.py::test_simple 1.2293 1.1821 -3.84%
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[untyped_storage] 8.2747 7.9644 -3.75%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[50-img_shape0-small] 4,119 4,273 +3.75%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[100-img_shape2-large_img] 438.80 422.67 -3.68%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-10000] 3,439 3,313 -3.65%
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[False-backward] 142.39 147.55 +3.62%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-False-True] 28,924 27,900 -3.54%
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictPrioritizedReplayBuffer-LazyTensorStorage-None-10000] 2,055 1,982 -3.54%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-True-True] 18,275 17,650 -3.42%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[50-img_shape0-small] 5,853 6,050 +3.37%
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[False-backward] 235.97 228.07 -3.35%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-True-False] 34,570 33,417 -3.34%
benchmarks/test_collectors_benchmark.py::test_async 10.73 11.07 +3.21%
benchmarks/test_objectives_benchmarks.py::test_gae_speed[vec_generalized_advantage_estimate-False-1-512] 1,271 1,311 +3.19%
benchmarks/test_replaybuffer_benchmark.py::TestPrioritizedReplayBufferBenchmark::test_sampler_sample_scale[1000000-cuda] 2,219 2,150 -3.14%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[200-img_shape3-large_batch] 750.63 727.27 -3.11%
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[False-backward] 69.32 71.47 +3.10%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-True-True-True] 18,881 18,303 -3.06%
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[False-backward] 124.45 128.24 +3.04%
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[True-backward] 259.10 266.94 +3.03%
benchmarks/test_objectives_benchmarks.py::test_td3_speed[reduce-overhead-None] 44.14 45.47 +3.01%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictPrioritizedReplayBuffer-LazyTensorStorage-None-400] 816.34 791.81 -3.00%
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[True-None] 1,840 1,895 +2.97%
benchmarks/test_objectives_benchmarks.py::test_gae_speed[vec_generalized_advantage_estimate-False-32-512] 1,257 1,292 +2.85%
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[reduce-overhead-None] 791.54 813.99 +2.84%
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_without_rb_cuda[100-img_shape0-atari] 16.86 17.32 +2.75%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-False-False] 50,257 48,876 -2.75%
benchmarks/test_envs_benchmark.py::test_parallel 0.5297 0.5442 +2.74%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-True-True-False] 29,416 28,622 -2.70%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-False-False-False] 55,115 53,657 -2.65%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-False-False] 63,873 62,188 -2.64%
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[True-None] 664.78 681.98 +2.59%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[200-img_shape3-large_batch] 325.52 333.81 +2.55%
benchmarks/test_objectives_benchmarks.py::test_iql_speed[False-backward] 67.22 68.93 +2.53%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-False-False] 45,441 44,301 -2.51%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-True-False] 27,207 26,534 -2.47%
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[reduce-overhead-None] 804.26 823.76 +2.42%
benchmarks/test_rnn_reset_backends_benchmark.py::test_rnn_rollout_with_intermediate_resets[b256-t128-i32-h512-scan-True-0-gru] 48.43 47.27 -2.41%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_lazystack_then_write[200-img_shape3-large_batch] 306.40 313.72 +2.39%
benchmarks/test_envs_benchmark.py::test_serial 0.4121 0.4219 +2.39%
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_with_rb_cuda[200-img_shape1-large_batch] 8.0746 8.2674 +2.39%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-False-True] 37,870 36,974 -2.37%
benchmarks/test_objectives_benchmarks.py::test_cql_speed[reduce-overhead-None] 87.50 89.42 +2.19%
benchmarks/test_objectives_benchmarks.py::test_sac_speed[reduce-overhead-None] 99.40 101.55 +2.16%
benchmarks/test_replaybuffer_benchmark.py::TestPrioritizedReplayBufferBenchmark::test_sample_mixed_devices[1000000-cuda_storage_cpu_sampler] 86.62 88.49 +2.15%
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[False-None] 95.58 97.64 +2.15%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-True-True] 19,312 19,724 +2.13%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-True-False] 31,966 31,298 -2.09%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_lazystack_then_write[50-img_shape0-small] 3,447 3,517 +2.01%
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[reduce-overhead-None] 849.83 866.88 +2.01%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-False-False] 55,089 56,123 +1.88%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-False-True-False] 31,455 30,868 -1.87%
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_without_rb[200-img_shape1-large_batch] 14.88 15.16 +1.87%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_stack_then_write[200-img_shape3-large_batch] 132.46 134.90 +1.85%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-True-True] 20,791 20,411 -1.83%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-True-False-True] 30,482 29,945 -1.76%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_stack_then_write[50-img_shape0-small] 857.18 842.11 -1.76%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-False-True] 32,066 32,609 +1.69%
benchmarks/test_envs_benchmark.py::test_cat_frames_functional[4-same] 6.4644 6.3568 -1.66%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-True-True] 20,730 20,387 -1.65%
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_with_rb_cuda[100-img_shape0-atari] 16.22 16.48 +1.64%
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[safetensors] 23,707 23,319 -1.63%
benchmarks/test_rnn_reset_backends_benchmark.py::test_rnn_rollout_with_intermediate_resets[b256-t128-i32-h512-scan-False-0-lstm] 20.88 20.55 -1.61%
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[reduce-overhead-None] 107.89 109.62 +1.60%
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[numpy] 341,207 335,915 -1.55%
benchmarks/test_objectives_benchmarks.py::test_sac_speed[False-None] 109.28 110.97 +1.54%
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyTensorStorage-sampler7-10000] 827.65 815.00 -1.53%
benchmarks/test_envs_benchmark.py::test_transformed 0.7047 0.6942 -1.49%
benchmarks/test_objectives_benchmarks.py::test_sac_speed[True-None] 605.75 597.07 -1.43%
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[100-img_shape1-atari] 694.18 684.39 -1.41%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-True-False] 34,195 33,724 -1.38%
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_with_rb[100-img_shape0-atari] 25.73 26.09 +1.37%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-False-True] 41,617 42,188 +1.37%
benchmarks/test_objectives_benchmarks.py::test_cql_speed[False-backward] 39.53 40.07 +1.37%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-400] 500.37 493.58 -1.36%
benchmarks/test_objectives_benchmarks.py::test_td3_speed[False-backward] 82.01 83.11 +1.34%
benchmarks/test_replaybuffer_benchmark.py::test_rb_extend_sample[ReplayBuffer-LazyTensorStorage-RandomSampler-10000-10000-100-True] 23.63 23.32 -1.32%
benchmarks/test_objectives_benchmarks.py::test_iql_speed[True-None] 501.13 507.71 +1.31%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-False-True] 30,441 30,043 -1.31%
benchmarks/test_objectives_benchmarks.py::test_values[td1_return_estimate-False-False] 19.47 19.72 +1.30%
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-False-False-False] 63,896 64,726 +1.30%
benchmarks/test_objectives_benchmarks.py::test_values[td_lambda_return_estimate-True-False] 11.89 11.74 -1.27%
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[False-None] 222.28 225.09 +1.26%
benchmarks/test_objectives_benchmarks.py::test_values[generalized_advantage_estimate-True-True] 46.69 47.27 +1.25%
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_without_rb[100-img_shape0-atari] 29.71 30.07 +1.24%
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[True-None] 804.21 814.15 +1.24%
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[True-backward] 343.10 347.31 +1.23%
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_without_rb_cuda[200-img_shape1-large_batch] 8.4442 8.5434 +1.17%
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-400] 988.23 999.82 +1.17%
... ... ... Showing 120 of 202 comparisons, sorted by absolute change.

vmoens added 8 commits June 17, 2026 18:55
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
[ghstack-poisoned]
vmoens added a commit that referenced this pull request Jun 18, 2026
ghstack-source-id: 5e155e7
Pull-Request: #3877
@vmoens
vmoens merged commit 24923f7 into gh/vmoens/289/base Jun 18, 2026
107 of 109 checks passed
@vmoens
vmoens deleted the gh/vmoens/289/head branch June 18, 2026 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Benchmarks rl/benchmark changes CI Has to do with CI setup (e.g. wheels & builds, tests...) CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Documentation Improvements or additions to documentation Environments Adds or modifies an environment wrapper Feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant