性能基准#

Isaac Lab 利用端到端的 GPU 训练来进行强化学习工作流,可以在成千上万个环境中实现快速并行训练。在本节中,我们为不同 GPU 设置上的各种示例环境的强化学习训练提供运行时性能基准结果。还介绍了多 GPU 和多节点训练的性能结果。

基准测试结果#

所有基准测试结果均在 Ubuntu 22.04 上使用 RL Games 库和 --headless 标志进行。 Isaac-Velocity-Rough-G1-v0 环境基准测试使用了 RSL RL 库。

内存消耗#

环境名称

环境数量

内存 (GB)

显存 (GB)

Isaac-Cartpole-Direct-v0

cartpole

4096

3.7

3.3

Isaac-Cartpole-RGB-Camera-Direct-v0

cartpole-cam

1024

7.5

16.7

Isaac-Velocity-Rough-G1-v0

g1

4096

6.5

6.1

Isaac-Repose-Cube-Shadow-Direct-v0

shadow

8192

6.7

6.4

单 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数据。