4090实测!Genesis运行环境配置终极指南:从CUDA到AMD全适配

4090实测!Genesis运行环境配置终极指南:从CUDA到AMD全适配

【免费下载链接】Genesis A generative world for general-purpose robotics & embodied AI learning. 【免费下载链接】Genesis 项目地址: https://gitcode.com/GitHub_Trending/genesi/Genesis

项目概述

Genesis是一个为通用机器人和具身AI学习设计的生成式物理平台,它同时具备多种特性:通用物理引擎、轻量级机器人仿真平台、逼真渲染系统和生成式数据引擎。Genesis旨在降低物理仿真使用门槛,统一多样化物理求解器,并自动化数据生成。

核心功能

  • 超高速物理模拟:单RTX 4090上模拟Franka机械臂可达4300万FPS(比实时快43万倍)
  • 跨平台兼容性:支持Linux、macOS、Windows及多种计算后端(CPU、Nvidia/AMD GPU、Apple Metal)
  • 多样化物理求解器:集成刚体、MPM、SPH、FEM、PBD、Stable Fluid等求解器
  • 丰富材料模型:可模拟刚体、液体、气体、可变形物体、薄壳物体和颗粒材料
  • 照片级渲染:基于光线追踪的渲染系统
  • 可微性:MPM求解器和工具求解器支持可微性,其他求解器计划在未来版本中支持

Genesis项目预览

环境配置常见问题与解决方案

系统要求与依赖项

Genesis需要Python 3.10到3.14版本,并依赖PyTorch。建议使用conda或虚拟环境隔离项目依赖,避免版本冲突。

基础依赖安装步骤
  1. 安装PyTorch(根据官方指引)
  2. 安装Genesis:
pip install genesis-world
  1. 对于最新版本:
pip install --upgrade pip
pip install git+https://gitcode.com/GitHub_Trending/genesi/Genesis.git

CUDA环境配置问题

问题表现
  • 安装后运行示例时报错"CUDA out of memory"
  • 提示"CUDA version mismatch"
  • 渲染时出现花屏或崩溃
解决方案

确保系统安装了正确版本的CUDA工具包。Genesis Dockerfile中使用的是CUDA 12.1版本,建议遵循此版本以获得最佳兼容性。

  1. 卸载现有CUDA版本:
sudo apt-get purge nvidia* cuda*
sudo apt autoremove
  1. 安装CUDA 12.1:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
  1. 配置环境变量:
echo 'export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
source ~/.bashrc

AMD GPU支持问题

问题表现
  • AMD用户运行时出现"Vulkan backend not available"
  • 渲染功能无法使用或性能低下
解决方案

AMD用户需要使用vulkan后端,并通过以下步骤配置:

  1. 安装ROCm和相关依赖:
sudo apt update
sudo apt install libnuma-dev miopen-hip rocm-dev rocm-libs
  1. 安装Vulkan SDK:
wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.4.309-jammy.list https://packages.lunarg.com/vulkan/1.4.309/lunarg-vulkan-1.4.309-jammy.list
sudo apt update
sudo apt install -y vulkan-sdk
  1. 设置环境变量:
echo 'export PYOPENGL_PLATFORM="glx"' >> ~/.bashrc
echo 'export HSA_OVERRIDE_GFX_VERSION=10.3.0' >> ~/.bashrc  # 根据具体GPU型号调整
source ~/.bashrc
  1. 初始化Genesis时指定vulkan后端:
import genesis as gs
gs.init(vulkan)

Docker容器化部署

对于希望避免复杂环境配置的用户,Docker提供了一种便捷的解决方案。Genesis提供了针对Nvidia和AMD GPU的Docker配置。

Nvidia GPU Docker配置

构建Docker镜像
docker build -t genesis -f docker/Dockerfile docker
运行容器
xhost +local:root
docker run --gpus all --rm -it \
  -e DISPLAY=$DISPLAY \
  -e LOCAL_USER_ID="$(id -u)" \
  -v /dev/dri:/dev/dri \
  -v /tmp/.X11-unix/:/tmp/.X11-unix \
  -v $(pwd):/workspace \
  --name genesis genesis:latest

AMD GPU Docker配置

构建Docker镜像
docker build -t genesis-amd -f docker/Dockerfile.amdgpu docker
运行容器
xhost +local:docker
docker run -it --network=host \
  --device=/dev/kfd \
  --device=/dev/dri \
  --group-add=video \
  --ipc=host \
  --cap-add=SYS_PTRACE \
  --security-opt seccomp=unconfined \
  --shm-size 8G \
  -v $PWD:/workspace \
  -e DISPLAY=$DISPLAY \
  genesis-amd

Dockerfile关键配置解析

Genesis的Dockerfile采用多阶段构建,第一阶段构建LuisaRender,第二阶段设置运行时环境。关键配置包括:

  • 基础镜像:使用pytorch/pytorch:2.5.1-cuda12.1-cudnn9-devel
  • 安装依赖:包括libvulkan-dev、xorg-dev、libglu1-mesa-dev等
  • 构建LuisaRender:使用build_luisa.sh脚本
  • 配置环境变量:设置LD_LIBRARY_PATH和NVIDIA_DRIVER_CAPABILITIES

完整的Docker配置可参考docker/Dockerfiledocker/Dockerfile.amdgpu

源码安装与开发环境配置

对于希望贡献代码的用户,建议使用可编辑模式安装Genesis:

源码安装步骤

  1. 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/genesi/Genesis.git
cd Genesis
  1. 安装开发依赖:
pip install -e ".[dev]"
  1. 更新子模块:
git submodule update --init --recursive
  1. 构建扩展:
cd docker
chmod +x build_luisa.sh
./build_luisa.sh 3.11  # 指定Python版本

常见构建问题解决

问题1:编译LuisaRender时出错

解决方案:确保安装了正确版本的CMake(3.31.0或更高)和GCC-11:

# 安装CMake 3.31.0
wget https://github.com/Kitware/CMake/releases/download/v3.31.0-rc2/cmake-3.31.0-rc2-linux-x86_64.sh
chmod +x cmake-3.31.0-rc2-linux-x86_64.sh
sudo ./cmake-3.31.0-rc2-linux-x86_64.sh --skip-license --prefix=/usr/local

# 安装GCC-11
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install -y gcc-11 g++-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 110
问题2:运行测试时报错"ModuleNotFoundError"

解决方案:确保所有测试依赖已安装:

pip install -r tests/requirements.txt

验证安装

安装完成后,可以运行示例程序验证是否安装成功:

python examples/tutorials/hello_genesis.py

如果一切正常,将看到Genesis的基本物理模拟窗口。更多示例可在examples/目录中找到,包括机器人控制、物理模拟和渲染等不同类型的示例。

性能优化建议

为了获得最佳性能,建议进行以下优化:

  1. 使用最新的显卡驱动:Nvidia用户建议使用530.30.02或更高版本
  2. 配置合适的电源管理模式:
sudo nvidia-smi -pm 1  # 启用持久模式
sudo nvidia-smi -ac 870,1590  # 设置GPU时钟(根据具体型号调整)
  1. 调整模拟参数:
# 在初始化时设置合适的后端和精度
gs.init(backend="cuda", precision="float32")
  1. 使用批处理模拟:参考examples/rigid/multi_gpu.py

总结与展望

Genesis作为一个强大的物理仿真平台,为机器人学和具身AI研究提供了丰富的功能和优异的性能。通过本文介绍的环境配置方案,用户可以解决大部分常见的安装和运行问题。

未来,Genesis将继续完善各求解器的可微性,扩展材料模型库,并增强生成式数据引擎的能力。建议用户定期更新Genesis以获取最新功能和性能优化。

资源与支持

  • 官方文档:提供英文、中文和日文版本的详细文档
  • GitHub Issues:报告bug或请求功能
  • GitHub Discussions:参与讨论或提问
  • 社区贡献:欢迎通过Pull Request提交新功能或bug修复

如需进一步帮助,请参考项目的贡献指南或加入社区讨论。

【免费下载链接】Genesis A generative world for general-purpose robotics & embodied AI learning. 【免费下载链接】Genesis 项目地址: https://gitcode.com/GitHub_Trending/genesi/Genesis

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值