-
Notifications
You must be signed in to change notification settings - Fork 3k
Adds support to benchmark scripts when Isaac Sim is not running #4501
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev/newton
Are you sure you want to change the base?
Conversation
Greptile OverviewGreptile SummaryThis PR adds support for running benchmark scripts ( Key Changes
Issues Found
Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant Script as Benchmark Script
participant ArgParser as Argument Parser
participant AppLauncher as AppLauncher (Kit)
participant BenchmarkKit as BaseIsaacBenchmark (Kit)
participant BenchmarkStandalone as StandaloneBenchmark
participant Env as Gym Environment
User->>Script: Run benchmark with/without --kit flag
Script->>ArgParser: Parse arguments
alt --kit flag present
ArgParser->>ArgParser: Import AppLauncher
ArgParser->>ArgParser: Add AppLauncher args
Script->>AppLauncher: Launch Isaac Sim
AppLauncher-->>Script: simulation_app
Script->>BenchmarkKit: Create BaseIsaacBenchmark
BenchmarkKit-->>Script: benchmark instance
else --kit flag absent (default)
Script->>BenchmarkStandalone: Create StandaloneBenchmark
BenchmarkStandalone-->>Script: benchmark instance
end
Script->>Script: Import required libraries
Script->>Env: Create gym environment
Env-->>Script: env
Script->>Script: Set benchmark phase
loop For each frame/iteration
Script->>Env: env.step(action)
Env-->>Script: observation, reward, done, info
Script->>Script: Record timing metrics
end
Script->>Script: store_measurements()
Script->>Script: Log metrics (startup, runtime)
Script->>Script: benchmark.stop()
alt --kit flag present
Script->>AppLauncher: Close simulation_app
end
Script-->>User: Benchmark results saved
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5 files reviewed, 4 comments
| if args_cli.kit: | ||
| from isaaclab.app import AppLauncher |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AppLauncher is imported twice when --kit is enabled (lines 44 and 64). Remove this duplicate import.
| if args_cli.kit: | |
| from isaaclab.app import AppLauncher | |
| if args_cli.kit: |
| if args_cli.kit: | ||
| from isaaclab.app import AppLauncher |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AppLauncher is imported twice when --kit is enabled (lines 44 and 64). Remove this duplicate import.
| if args_cli.kit: | |
| from isaaclab.app import AppLauncher | |
| if args_cli.kit: |
| if args_cli.kit: | ||
| from isaaclab.app import AppLauncher |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AppLauncher is imported twice when --kit is enabled (lines 60 and 80). Remove this duplicate import.
| if args_cli.kit: | |
| from isaaclab.app import AppLauncher | |
| if args_cli.kit: |
Additional Comments (1)
|
|
@kellyguo11 I think there is some overlapp with #4497 wrt to the benchmarking too. I don't think we shoud even rely on IS tools this way we don't have to follow their template / format. |
I'm good with that as well if we can capture all the necessary data around simulation and rendering. Sounds like Isaac Sim is also making some breaking changes to their benchmarking tool, so we can also save some work to migrate. |
Description
Allows running benchmark_non_rl, benchmark_rsl_rl, and benchmark_rlgames scripts without launching Isaac Sim. This will allow us to gather similar timing data for startup time and FPS metrics without using the Isaac Sim benchmarking extension.
Without Isaac Sim, we are not able to capture Render and Physics simulation data directly from the scripts, but there's other benchmarking work going on where we can inject timers into the code to capture these.
By default, it will not launch Isaac Sim unless
--kitis added to the command.Type of change
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there