Please refer to docs/index.html for detailed usage instructions.
This repository provides the necessary Dockerfiles and scripts to run IsaacGym on RTX 50-series GPUs.
The version of PyTorch that supports NVIDIA RTX 50-series GPUs requires Python 3.10 or newer,
while IsaacGym officially supports only Python 3.8.
To resolve this incompatibility, this article
demonstrates how to build PyTorch 2.3.1 from source with Python 3.8 and CUDA 12.8.
Two pre-built wheels are available in the Releases section:
| File | Python | CUDA | glibc |
|---|---|---|---|
torch-1.10.0a0+3fd9dcf-cp38-cp38-linux_x86_64.whl |
3.8 | 12.8 | 2.31 |
torch-2.3.0a0+gitd72f1d2-cp38-cp38-linux_x86_64.whl |
3.8 | 12.8 | 2.39 |
Since glibc is backward-compatible, it is recommended to try the 1.10.0a0 build first.
- A Dockerfile is provided to ensure that the pre-built PyTorch wheel runs correctly.
- If you choose not to use Docker, you can still follow the Dockerfile to install the required libraries manually.
However, using Docker is strongly recommended for stability and reproducibility.
- CUDA ≥ 12.8
- pip or wget (required only if installing
uvmanually on the host)
⚠️ If you are running inside the provided Docker container,uvis already pre-installed.
If you are running on the host machine, you need to install it manually using eitherpiporwget.
# Option 1: Install via pip
pip install uv
# Option 2: Install via wget
wget -qO- https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/envcd docker
docker compose up -d --build./scripts/config-uv.sh
source .venv/bin/activate
cd python/examples
uv run python joint_monkey.py
cd lib/IsaacGymEnvs/isaacgymenvs
uv run python train.py task=Cartpole
cd src/humanoid-gym/humanoid
uv run python scripts/train.py --task=humanoid_ppo --run_name v1 --headless --num_envs 4096
uv run python scripts/play.py --task=humanoid_ppo --run_name v1
# HumanoidVerse
cd src/HumanoidVerse
uv run python humanoidverse/train_agent.py \
+simulator=isaacgym \
+exp=locomotion \
+domain_rand=NO_domain_rand \
+rewards=loco/reward_h1_locomotion \
+robot=h1/h1_10dof \
+terrain=terrain_locomotion_plane \
+obs=loco/leggedloco_obs_singlestep_withlinvel \
num_envs=1 \
project_name=TESTInstallation \
experiment_name=H110dof_loco_IsaacGym \
headless=False
# SkillMimic
cd src/SkillMimic
uv run python skillmimic/run.py --test --task SkillMimicBallPlay --num_envs 16 \
--cfg_env skillmimic/data/cfg/skillmimic.yaml \
--cfg_train skillmimic/data/cfg/train/rlg/skillmimic.yaml \
--motion_file skillmimic/data/motions/BallPlay-M/layup \
--checkpoint skillmimic/data/models/mixedskills/nn/skillmimic_llc.pth \
--state_init 20 \
--episode_length 140
cd src/SkillMimic
uv run python skillmimic/run.py --task SkillMimicBallPlay \
--cfg_env skillmimic/data/cfg/skillmimic.yaml \
--cfg_train skillmimic/data/cfg/train/rlg/skillmimic.yaml \
--motion_file skillmimic/data/motions/BallPlay-M/layup --headless
# SkillMimic-V2
cd src/SkillMimic-V2
uv run --venv /root/code/isaacgym_ws/src/SkillMimic/.venv \
python skillmimic/run.py \
--play_dataset \
--task SkillMimic2BallPlay \
--test \
--num_envs 1 \
--episode_length 1000 \
--state_init 2 \
--cfg_env skillmimic/data/cfg/skillmimic.yaml \
--cfg_train skillmimic/data/cfg/train/rlg/skillmimic.yaml \
--motion_file skillmimic/data/motions/BallPlay-Pick