Environment:Isaac sim IsaacGymEnvs IsaacGym Preview 4
| Knowledge Sources | |
|---|---|
| Domains | Reinforcement_Learning, Robotics, Simulation |
| Last Updated | 2026-02-15 09:00 GMT |
Overview
NVIDIA Isaac Gym Preview 4 physics simulator, a non-pip dependency that must be downloaded separately from NVIDIA and installed prior to IsaacGymEnvs.
Description
Isaac Gym is a GPU-accelerated physics simulation environment developed by NVIDIA for high-speed robot learning. It provides the core gymapi, gymtorch, and gymutil modules that all IsaacGymEnvs tasks depend on. Unlike standard Python packages, Isaac Gym is distributed as a standalone download from NVIDIA's developer portal and is installed via its own `pip install -e .` command. It enables massively parallel simulation of thousands of environments on a single GPU.
Usage
Use this environment for all IsaacGymEnvs workflows. Every task class imports `from isaacgym import gymtorch, gymapi` at module level. The `import isaacgym` statement in `train.py` must execute before any other IsaacGymEnvs imports, as it initializes the GPU simulation backend. This is a hard dependency with no CPU-only fallback for the simulation engine itself.
System Requirements
| Category | Requirement | Notes |
|---|---|---|
| OS | Ubuntu 18.04 / 20.04 LTS | Linux only; Windows and macOS not supported |
| Hardware | NVIDIA GPU | Minimum RTX 2070 or equivalent; PhysX GPU simulation requires CUDA-capable GPU |
| VRAM | 8GB+ | Scales with `numEnvs`; 2000+ envs may require 16GB+ |
| Driver | NVIDIA Driver 470+ | Required for Isaac Gym Preview 4 |
| Graphics API | Vulkan 1.1+ | Required for rendering; `graphics_device_id` uses Vulkan device numbering |
Dependencies
System Packages
- NVIDIA GPU Driver >= 470
- Vulkan 1.1+ SDK (for rendering)
- `libpython3.x-dev` (Python development headers)
Python Packages
Isaac Gym Preview 4 bundles its own dependencies. It must be installed before isaacgymenvs:
# Step 1: Download Isaac Gym Preview 4 from NVIDIA developer portal
# Step 2: Extract and install
cd isaacgym/python
pip install -e .
Credentials
No API keys or credentials are required for Isaac Gym itself. NVIDIA developer account registration is needed to download the package.
Quick Install
# 1. Download Isaac Gym Preview 4 from https://developer.nvidia.com/isaac-gym
# 2. Extract the archive
tar -xzf IsaacGym_Preview_4.tar.gz
# 3. Install Isaac Gym
cd isaacgym/python && pip install -e .
# 4. Then install IsaacGymEnvs
cd /path/to/IsaacGymEnvs && pip install -e .
Code Evidence
Isaac Gym must be imported before other IsaacGymEnvs modules. From `train.py:78-79`:
# noinspection PyUnresolvedReferences
import isaacgym
The `# noinspection PyUnresolvedReferences` comment confirms this is a non-standard import that IDEs cannot resolve.
Core API usage from `isaacgymenvs/tasks/base/vec_task.py:37-38`:
from isaacgym import gymtorch, gymapi
Physics engine selection from `isaacgymenvs/tasks/base/vec_task.py:233-239`:
if self.cfg["physics_engine"] == "physx":
self.physics_engine = gymapi.SIM_PHYSX
elif self.cfg["physics_engine"] == "flex":
self.physics_engine = gymapi.SIM_FLEX
else:
msg = f"Invalid physics engine backend: {self.cfg['physics_engine']}"
raise ValueError(msg)
Common Errors
| Error Message | Cause | Solution |
|---|---|---|
| `ModuleNotFoundError: No module named 'isaacgym'` | Isaac Gym not installed | Download from NVIDIA developer portal and run `pip install -e .` in `isaacgym/python/` |
| `*** Failed to create sim` | GPU not available or driver issue | Check NVIDIA driver version >= 470 and Vulkan support; verify with `vulkaninfo` |
| `Invalid physics engine backend: {name}` | Unsupported engine string | Use `'physx'` or `'flex'` (case-sensitive, lowercase) |
Compatibility Notes
- PhysX vs Flex: PhysX is the default engine. Flex is available as an alternative but has different capabilities (soft body support). PhysX is recommended for rigid body tasks.
- GPU Pipeline: Can only be used with GPU simulation. If `sim_device` is `'cpu'`, the GPU pipeline is forcibly disabled (see `vec_task.py:83-88`).
- Vulkan Device ID: The `graphics_device_id` uses Vulkan device numbering, which may differ from CUDA device numbering on multi-GPU systems.
- Import Order: `import isaacgym` must appear before any `isaacgymenvs` imports in user code.
Related Pages
- Implementation:Isaac_sim_IsaacGymEnvs_Pip_Install_Editable
- Implementation:Isaac_sim_IsaacGymEnvs_Launch_Rlg_Hydra
- Implementation:Isaac_sim_IsaacGymEnvs_Isaacgymenvs_Make
- Implementation:Isaac_sim_IsaacGymEnvs_VecTask_Simulation_Loop
- Implementation:Isaac_sim_IsaacGymEnvs_VecTask_Subclass_Pattern
- Implementation:Isaac_sim_IsaacGymEnvs_FactoryBase_Init
- Implementation:Isaac_sim_IsaacGymEnvs_Apply_Randomizations
- Implementation:Isaac_sim_IsaacGymEnvs_Train_Py_Task_Execution