Skip to content

Add NVIDIA Warp ML framework support for skrl - #8767

Open
Toni-SM wants to merge 20 commits into
isaac-sim:mainfrom
Toni-SM:toni/skrl_warp
Open

Toni-SM wants to merge 20 commits into
isaac-sim:mainfrom
Toni-SM:toni/skrl_warp

Conversation

@Toni-SM

@Toni-SM Toni-SM commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Description

Adds support for training and playing skrl agents with NVIDIA Warp as the ML framework, alongside the existing PyTorch and JAX options.

  • isaaclab_rl.skrl.import_skrl_runner now accepts ml_framework="warp" and returns skrl.utils.runner.warp.Runner.
  • The skrl train/play entrypoints accept --ml_framework warp, and the run summary now shows the selected ML framework (e.g., skrl (warp)).
  • Added a new skrl-warp optional extra (skrl[warp]>=2.1.1, which pulls in warp-nn). Like skrl-jax, it is opt-in and not part of --extra all.
  • Raised the minimum supported skrl version from 2.1.0 to 2.1.1 (all skrl extras and SKRL_MIN_VERSION), which is required for Warp support.
  • Documented the new extra and usage in the installation, quickstart, and reinforcement learning concept pages.

Usage:

uv run --extra skrl-warp isaaclab train --rl_library skrl --task Isaac-Reach-Franka --ml_framework warp
warp_vs_torch

@Toni-SM
Toni-SM requested a review from a team October 21, 2026 08:05
@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team infrastructure labels Oct 21, 2026

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isaac Lab Review Bot

Needs attention: Style consistency (2). Other reviewed categories look good.

  • PR description: Remove the unrelated Gymnasium-spaces claim and document validation; the warp_vs_torch comparison needs baseline/candidate revisions, command, task, hardware, backend, environment count, warmup, and metric.
  • Design and architecture: Architecture looks good.
  • Scope and over-engineering: No over-engineering issues.
  • API: API changes look good.
  • Compatibility and deprecation: No breaking changes identified.
  • Implementation: Implementation looks good.
  • Style consistency: The new RL prose needs editing: remove the duplicated Gymnasium-spaces sentence and change “a NVIDIA” to “an NVIDIA.”
  • Test quality: Test quality looks good.

Minor fixes needed. Posted 2 inline findings.

Automated review; human maintainers own approval decisions.

Comment thread docs/source/concepts/reinforcement_learning.rst
Comment thread docs/source/concepts/reinforcement_learning.rst
@greptile-apps

greptile-apps Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no actionable issues were found.

Summary

Adds NVIDIA Warp as an skrl framework for training and playback.

  • skrl training and playback can now use NVIDIA Warp.

No actionable issues were found. Runtime training and playback were not exercised.

Reviews (1) · Last reviewed commit: "Add changelog fragments for skrl Warp su..." · Reviewed by Greptile

Comment thread pyproject.toml

skrl-jax = ["jax[cuda13] ; sys_platform == 'linux'", "skrl[jax]>=2.1.0"]
skrl = ["skrl>=2.1.1"]
skrl-warp = ["skrl[warp]>=2.1.1"]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since isaaclab already ships with warp, I think we can just modify the original skrl extra to be skrl[warp], this avoid the the new extra

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

skrl's Warp implementation depends on warp-lang and warp-nn (this last one not included in Isaac Lab by default). That is why this extra is needed

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes but you can just modify the base skrl extra to install skrl[warp], that avoid the additional extra definition.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

skrl has 3 implementations: PyTorch, JAX and Warp.

The base skrl extra is the PyTorch implementation. For JAX and Warp, there are separated extra since they have dependencies that do not exist in Isaac Lab by default.

Now, if your proposal is to install the skrl's PyTorch and Warp implementation at the same time using the base skrl extra, I can do it. If not, please provide a contrete implementation example you are referring to rather that describing it.

@Toni-SM
Toni-SM requested a review from StafaH October 22, 2026 21:00

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation infrastructure isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants