Skip to content

Updates PhysX GPU buffer dimensions for ARL navigation environment#5783

Open
kellyguo11 wants to merge 1 commit into
isaac-sim:developfrom
kellyguo11:fix-physx-buffer-arl
Open

Updates PhysX GPU buffer dimensions for ARL navigation environment#5783
kellyguo11 wants to merge 1 commit into
isaac-sim:developfrom
kellyguo11:fix-physx-buffer-arl

Conversation

@kellyguo11
Copy link
Copy Markdown
Contributor

Description

Updates PhysX GPU buffer dimensions for ARL navigation environment to resolve GPU buffer overflow errors from PhysX.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@kellyguo11 kellyguo11 requested a review from Mayankm96 as a code owner May 26, 2026 18:51
@kellyguo11 kellyguo11 requested a review from pascal-roth May 26, 2026 18:52
@github-actions github-actions Bot added bug Something isn't working isaac-lab Related to Isaac Lab team labels May 26, 2026
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 26, 2026

Greptile Summary

This PR bumps three PhysX GPU buffer parameters in the ARL Robot 1 navigation environment to resolve GPU buffer overflow errors that occur during large-scale simulation runs with 4096 environments.

  • Replaces the previous single-parameter PhysxCfg(gpu_max_rigid_patch_count=2**21) with three explicit settings: gpu_max_rigid_contact_count=2**25 (4× above default), gpu_max_rigid_patch_count=2**23 (4× above previous value), and gpu_found_lost_pairs_capacity=2**23 (4× above default).
  • Adds a changelog fragment documenting the fix.

Confidence Score: 5/5

Safe to merge — the change is a targeted GPU buffer enlargement that directly addresses documented overflow errors, with no functional logic changes.

All three parameter names are valid fields on the PhysxCfg class imported from isaaclab_physx.physics. The values are scaled-up powers of 2 consistent with how similar environments in the repo tune these buffers, and gpu_found_lost_aggregate_pairs_capacity (default 225) remains larger than the newly set gpu_found_lost_pairs_capacity (223), preserving the expected ordering. The changelog fragment is present and correctly describes the fix.

No files require special attention.

Important Files Changed

Filename Overview
source/isaaclab_tasks/isaaclab_tasks/manager_based/drone_arl/navigation/config/arl_robot_1/navigation_env_cfg.py Replaces a single gpu_max_rigid_patch_count override with three larger GPU buffer capacity settings to prevent PhysX overflow in 4096-environment drone navigation runs.
source/isaaclab_tasks/changelog.d/fix-arl-navigation-physx-gpu-pairs.rst New changelog fragment correctly describing the PhysX GPU buffer capacity fix for the ARL Robot 1 navigation task.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[NavigationVelocityFloatingObstacleEnvCfg\n4096 envs] --> B[PhysxCfg GPU Buffers]
    B --> C["gpu_max_rigid_contact_count\n2^25 = 33.5M\n(was default 2^23 = 8.4M)"]
    B --> D["gpu_max_rigid_patch_count\n2^23 = 8.4M\n(was 2^21 = 2.1M)"]
    B --> E["gpu_found_lost_pairs_capacity\n2^23 = 8.4M\n(was default 2^21 = 2.1M)"]
    C --> F[Pinned host memory\nContact stream buffer]
    D --> G[Pinned host memory\nPatch stream buffer]
    E --> H[GPU global memory\nBroadphase pair buffer]
    F --> I[Resolves GPU overflow at scale]
    G --> I
    H --> I
Loading

Reviews (1): Last reviewed commit: "Updates PhysX GPU buffer dimensions for ..." | Re-trigger Greptile

Copy link
Copy Markdown

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

Choose a reason for hiding this comment

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

Code Review Summary

This PR correctly addresses PhysX GPU buffer overflow errors for the ARL Robot 1 navigation environment by increasing buffer capacities.

Changes Reviewed

navigation_env_cfg.py

The buffer dimension changes look appropriate for a complex navigation environment with obstacles:

Parameter Before After Factor
gpu_max_rigid_contact_count (default) 2²⁵ (~33M) Added
gpu_max_rigid_patch_count 2²¹ (~2M) 2²³ (~8M) 4x
gpu_found_lost_pairs_capacity (default) 2²³ (~8M) Added

These values are consistent with other complex environments in the codebase (e.g., shadow_hand_env_cfg.py uses 2²³ for contact/patch counts).

Changelog fragment — Properly follows the changelog fragment convention.

✅ No Issues Found

  1. Buffer sizing — The chosen values provide adequate headroom for environments with many collision pairs (obstacles + drone contacts).
  2. Configuration pattern — Follows the established Isaac Lab pattern for PhysxCfg overrides.
  3. No test coverage needed — This is a config-only fix for runtime buffer errors; no new tests required.

Minor Note

The "Check for Broken Links" CI check is failing, but this appears unrelated to the changes in this PR (the PR does not modify documentation links).


Automated review by isaaclab-review-bot | Review Guidelines

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

Labels

bug Something isn't working isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant