性能基准#
Isaac Lab 利用端到端的 GPU 训练来进行强化学习工作流,可以在成千上万个环境中实现快速并行训练。在本节中,我们为不同 GPU 设置上的各种示例环境的强化学习训练提供运行时性能基准结果。还介绍了多 GPU 和多节点训练的性能结果。
基准测试结果#
所有基准测试结果均在 Ubuntu 22.04 上使用 RL Games 库和 --headless
标志进行。 Isaac-Velocity-Rough-G1-v0
环境基准测试使用了 RSL RL 库。
内存消耗#
单 GPU - RTX 4090#
CPU: AMD Ryzen 9 7950X 16核 处理器
环境名称 |
环境数量 |
环境步 FPS |
环境步骤 和 推理帧率 |
环境步骤、推断和训练 FPS |
---|---|---|---|---|
Isaac-Cartpole-Direct-v0 |
4096 |
1100000 |
910000 |
510000 |
Isaac-Cartpole-RGB-Camera-Direct-v0 |
1024 |
50000 |
45000 |
32000 |
Isaac-Velocity-Rough-G1-v0 |
4096 |
94000 |
88000 |
82000 |
Isaac-Repose-Cube-Shadow-Direct-v0 |
8192 |
200000 |
190000 |
170000 |
单 GPU - L40#
CPU: Intel(R) Xeon(R) Platinum 8362 CPU @ 2.80GHz
环境名称 |
环境数量 |
环境步 FPS |
环境步骤 和 推理帧率 |
环境步骤、推断和训练 FPS |
---|---|---|---|---|
Isaac-Cartpole-Direct-v0 |
4096 |
620000 |
490000 |
260000 |
Isaac-Cartpole-RGB-Camera-Direct-v0 |
1024 |
30000 |
28000 |
21000 |
Isaac-Velocity-Rough-G1-v0 |
4096 |
72000 |
64000 |
62000 |
Isaac-Repose-Cube-Shadow-Direct-v0 |
8192 |
170000 |
140000 |
120000 |
单节点, 4 x L40 GPUs#
CPU: Intel(R) Xeon(R) Platinum 8362 CPU @ 2.80GHz
环境名称 |
环境数量 |
环境步 FPS |
环境步骤 和 推理帧率 |
环境步骤、推断和训练 FPS |
---|---|---|---|---|
Isaac-Cartpole-Direct-v0 |
4096 |
2700000 |
2100000 |
950000 |
Isaac-Cartpole-RGB-Camera-Direct-v0 |
1024 |
130000 |
120000 |
90000 |
Isaac-Velocity-Rough-G1-v0 |
4096 |
290000 |
270000 |
250000 |
Isaac-Repose-Cube-Shadow-Direct-v0 |
8192 |
440000 |
420000 |
390000 |
4 Nodes, 4 x L40 GPUs per node#
CPU: Intel(R) Xeon(R) Platinum 8362 CPU @ 2.80GHz
环境名称 |
环境数量 |
环境步 FPS |
环境步骤 和 推理帧率 |
环境步骤、推断和训练 FPS |
---|---|---|---|---|
Isaac-Cartpole-Direct-v0 |
4096 |
10200000 |
8200000 |
3500000 |
Isaac-Cartpole-RGB-Camera-Direct-v0 |
1024 |
530000 |
490000 |
260000 |
Isaac-Velocity-Rough-G1-v0 |
4096 |
1200000 |
1100000 |
960000 |
Isaac-Repose-Cube-Shadow-Direct-v0 |
8192 |
2400000 |
2300000 |
1800000 |
基准测试脚本#
为了便于重现,我们提供了位于 source/standalone/benchmarks
的基准测试脚本。该文件夹包含单个基准测试脚本,这些脚本类似于 RL-Games 和 RSL RL 的 train.py
脚本。此外,我们还提供了一个基准测试脚本,仅运行环境实现,而不使用任何强化学习库。
示例脚本可以与训练脚本类似地运行。
# benchmark with RSL RL
python source/standalone/benchmarks/benchmark_rsl_rl.py --task=Isaac-Cartpole-v0 --headless
# benchmark with RL Games
python source/standalone/benchmarks/benchmark_rlgames.py --task=Isaac-Cartpole-v0 --headless
# benchmark without RL libraries
python source/standalone/benchmarks/benchmark_non_rl.py --task=Isaac-Cartpole-v0 --headless
每个脚本在运行结束时都会生成一组KPI文件,其中包括启动时间、运行时统计数据,比如每个仿真或渲染步骤所需的时间,以及在环境步进、推演期间进行推理,以及训练时的整体环境FPS数据。