> This page is for version Release 2.1.
> For other versions, use one of these documentation indexes:
> - Release 3.0 (default): https://docs.nvidia.com/isaaclab/3.0/llms.txt
> - Release 2.3: https://docs.nvidia.com/isaaclab/2.3/llms.txt
> - Release 2.2: https://docs.nvidia.com/isaaclab/2.2/llms.txt
> - Release 2.1: https://docs.nvidia.com/isaaclab/2.1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/isaaclab/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/isaaclab/_mcp/server.

# Performance Benchmarks

Isaac Lab leverages end-to-end GPU training for reinforcement learning workflows,
allowing for fast parallel training across thousands of environments.
In this section, we provide runtime performance benchmark results for reinforcement learning
training of various example environments on different GPU setups.
Multi-GPU and multi-node training performance results are also outlined.

## Benchmark Results

All benchmarking results were performed with the RL Games library with `--headless` flag on Ubuntu 22.04.
`Isaac-Velocity-Rough-G1-v0` environment benchmarks were performed with the RSL RL library.

### Memory Consumption

<table>
  <colgroup>
    <col width="38.1%" />

    <col width="17.5%" />

    <col width="20.6%" />

    <col width="11.3%" />

    <col width="12.4%" />
  </colgroup>

  <thead>
    <tr>
      <th>Environment Name</th>

      <th />

      <th># of Environments</th>

      <th>RAM (GB)</th>

      <th>VRAM (GB)</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Isaac-Cartpole-Direct-v0</td>

      <td>![cartpole](/isaaclab/_fern-img/1ebd6fb905977ca8469f83d5e781f71539548fdf4a391e65853a6f8ae1b26b46.webp)</td>

      <td>4096</td>

      <td>3.7</td>

      <td>3.3</td>
    </tr>

    <tr>
      <td>Isaac-Cartpole-RGB-Camera-Direct-v0</td>

      <td>![cartpole-cam](/isaaclab/_fern-img/93298b069d5e386d56a138e8677bd6f2525e6ef35956c80196485fa20e9cb93b.webp)</td>

      <td>1024</td>

      <td>7.5</td>

      <td>16.7</td>
    </tr>

    <tr>
      <td>Isaac-Velocity-Rough-G1-v0</td>

      <td>![g1](/isaaclab/_fern-img/69ee9c49e1d84b41cb78527e0a538517bbc9240f692bb5a286b6f078e5728283.webp)</td>

      <td>4096</td>

      <td>6.5</td>

      <td>6.1</td>
    </tr>

    <tr>
      <td>Isaac-Repose-Cube-Shadow-Direct-v0</td>

      <td>![shadow](/isaaclab/_fern-img/d8cb64bf5efb554d9e499ba0b98687c7ca5e569a538241223875d8326adde1e1.webp)</td>

      <td>8192</td>

      <td>6.7</td>

      <td>6.4</td>
    </tr>
  </tbody>
</table>

### Single GPU - RTX 4090

CPU: AMD Ryzen 9 7950X 16-Core Processor

| Environment Name                    | # of Environments | Environment Step FPS | Environment Step and Inference FPS | Environment Step, Inference, and Train 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                                     |

### Single GPU - L40

CPU: Intel(R) Xeon(R) Platinum 8362 CPU @ 2.80GHz

| Environment Name                    | # of Environments | Environment Step FPS | Environment Step and Inference FPS | Environment Step, Inference, and Train 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                                     |

### Single-Node, 4 x L40 GPUs

CPU: Intel(R) Xeon(R) Platinum 8362 CPU @ 2.80GHz

| Environment Name                    | # of Environments | Environment Step FPS | Environment Step and Inference FPS | Environment Step, Inference, and Train 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

| Environment Name                    | # of Environments | Environment Step FPS | Environment Step and Inference FPS | Environment Step, Inference, and Train 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                                    |

## Benchmark Scripts

For ease of reproducibility, we provide benchmarking scripts available at `scripts/benchmarks`.
This folder contains individual benchmark scripts that resemble the `train.py` script for RL-Games
and RSL RL. In addition, we also provide a benchmarking script that runs only the environment implementation
without any reinforcement learning library.

Example scripts can be run similarly to training scripts:

```bash
# benchmark with RSL RL
python scripts/benchmarks/benchmark_rsl_rl.py --task=Isaac-Cartpole-v0 --headless

# benchmark with RL Games
python scripts/benchmarks/benchmark_rlgames.py --task=Isaac-Cartpole-v0 --headless

# benchmark without RL libraries
python scripts/benchmarks/benchmark_non_rl.py --task=Isaac-Cartpole-v0 --headless
```

Each script will generate a set of KPI files at the end of the run, which includes data on the
startup times, runtime statistics, such as the time taken for each simulation or rendering step,
as well as overall environment FPS for stepping the environment, performing inference during
rollout, as well as training.