Isaac Sim Version
4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):
Operating System
Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):
GPU Information
- Model: 4x A6000
- Driver Version: 560.35.03
Topic Description
Detailed Description
I’m trying to render two images for stereo cameras on a 4-GPU machine, but the output is corrupted. The issue resolves if I set /renderer/multiGpu/maxGpuCount=2.
It is shocking to me that such a simple toy example would break when it is claimed that there is multi-GPU support.
An additional issue is that there are only 2 data points rendered instead of the expected 3. This issue does not resolve even if multi-GPU rendering is disabled. UPDATE: I found that the rep.orchestrator.wait_until_complete() call must be placed after destroying render products for the last data to be written to the disk. This is either a bug or the tutorial code is incorrect. Getting Started Scripts — Isaac Sim Documentation
One more thing, the documentation here is incorrect.
/renderer/multiGpu/Enabled=true
enables multiple GPUs for rendering
To disable multi-GPU, the command should be /renderer/multiGpu/enabled=false.
Steps to Reproduce
from isaacsim import SimulationApp
simulation_app = SimulationApp({"headless": True})
import omni.replicator.core as rep
from isaacsim.core.api import World
from omni.kit.viewport.utility import get_active_viewport
get_active_viewport().updates_enabled = False
rep.orchestrator.set_capture_on_play(False)
# rep.settings.set_render_pathtraced(8)
rep.settings.set_render_rtx_realtime("Off")
world = World(stage_units_in_meters=0.001, physics_prim_path="/PhysicsScene")
world.get_physics_context().enable_ccd(True)
writer = rep.writers.get("BasicWriter")
out_dir = "test_output"
writer.initialize(output_dir=out_dir, rgb=True)
camera = rep.create.stereo_camera(stereo_baseline=50, position=(0, 0, 800), look_at=(0, 0, 0), focal_length=60)
rps = rep.create.render_product(camera, (2880, 1860))
dome_light = rep.create.light(
light_type="dome",
intensity=1,
exposure=10,
)
cube = rep.create.cube(scale=0.1)
world.reset()
writer.attach(rps)
num_data = 3
for i in range(num_data):
rep.orchestrator.step(rt_subframes=20)
writer.detach()
for rp in rps:
rp.destroy()
rep.orchestrator.wait_until_complete()
simulation_app.close()
Error Messages
None
Screenshots or Videos
Corrupted right image when using rtx realtime renderer. A portion of the image is overwritten by the left image content.
Corrupted right image when using path tracing renderer. A subset of pixels are not rendered at all and you can see the stripe like artifacts on the cube.
Additional Context
Here is the log file produced by using rtx realtime renderer.
kit_20250507_145246.log (803.7 KB)
What I’ve Tried
I tried to change the driver version to 535.247.01. The same issue persists.
Related Issues
I previously posted a similar issue. At that time I thought it is related to FXAA denoising. However after more testing I found that other rendering methods fail as well.