Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions scripts/benchmarks/benchmark_non_rl.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ def main(env_cfg: ManagerBasedRLEnvCfg | DirectRLEnvCfg | DirectMARLEnvCfg, agen
# override configurations with non-hydra CLI arguments
env_cfg.scene.num_envs = args_cli.num_envs if args_cli.num_envs is not None else env_cfg.scene.num_envs
env_cfg.sim.device = args_cli.device if args_cli.device is not None else env_cfg.sim.device
env_cfg.seed = args_cli.seed if args_cli.seed is not None else env_cfg.sim.seed

# process distributed
world_size = 1
Expand Down
2 changes: 1 addition & 1 deletion source/isaaclab/config/extension.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]

# Note: Semantic Versioning is used: https://semver.org/
version = "0.46.3"
version = "0.46.4"

# Description
title = "Isaac Lab framework for Robot Learning"
Expand Down
11 changes: 11 additions & 0 deletions source/isaaclab/docs/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
Changelog
---------

0.46.4 (2025-10-06)
~~~~~~~~~~~~~~~~~~~

Changed
^^^^^^^

* Fixed :attr:`~isaaclab.sim.simulation_context.SimulationContext.device` to return the device from the configuration.
Previously, it was returning the device from the simulation manager, which was causing a performance overhead.


0.46.3 (2025-09-17)
~~~~~~~~~~~~~~~~~~~

Expand All @@ -10,6 +20,7 @@ Added
* Modified setter to support for viscous and dynamic joint friction coefficients in articulation based on IsaacSim 5.0.
* Added randomization of viscous and dynamic joint friction coefficients in event term.


0.46.2 (2025-09-13)
~~~~~~~~~~~~~~~~~~~

Expand Down
23 changes: 23 additions & 0 deletions source/isaaclab/isaaclab/sim/simulation_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import omni.physx
import omni.usd
from isaacsim.core.api.simulation_context import SimulationContext as _SimulationContext
from isaacsim.core.simulation_manager import SimulationManager
from isaacsim.core.utils.carb import get_carb_setting, set_carb_setting
from isaacsim.core.utils.viewports import set_camera_view
from isaacsim.core.version import get_version
Expand Down Expand Up @@ -283,6 +284,14 @@ def __init__(self, cfg: SimulationCfg | None = None):
stage=self._initial_stage,
)

# obtain the parsed device
# This device should be the same as "self.cfg.device". However, for cases, where users specify the device
# as "cuda" and not "cuda:X", then it fetches the current device from SimulationManager.
# Note: Since we fix the device from the configuration and don't expect users to change it at runtime,
# we can obtain the device once from the SimulationManager.get_physics_sim_device() function.
# This reduces the overhead of calling the function.
self._physics_device = SimulationManager.get_physics_sim_device()

def _apply_physics_settings(self):
"""Sets various carb physics settings."""
# enable hydra scene-graph instancing
Expand Down Expand Up @@ -404,6 +413,20 @@ def _apply_render_settings_from_cfg(self):
if get_carb_setting(self.carb_settings, "/rtx/rendermode").lower() == "raytracedlighting":
set_carb_setting(self.carb_settings, "/rtx/rendermode", "RaytracedLighting")

"""
Properties - Override.
"""

@property
def device(self) -> str:
"""Device used by the simulation.

Note:
In Omniverse, it is possible to configure multiple GPUs for rendering, while physics engine
operates on a single GPU. This function returns the device that is used for physics simulation.
"""
return self._physics_device

"""
Operations - New.
"""
Expand Down
Loading