diff --git a/docs/source/en/user_guide/getting_started/installation.md b/docs/source/en/user_guide/getting_started/installation.md index 78b6cf81..431fef3f 100644 --- a/docs/source/en/user_guide/getting_started/installation.md +++ b/docs/source/en/user_guide/getting_started/installation.md @@ -49,7 +49,7 @@ Install the runtime environment from the repository root (on Windows, run `insta sh install.sh ``` -This auto-detects your GPU vendor (NVIDIA → CUDA, AMD → ROCm) and installs the runtime workspace packages, the matching PyTorch wheels, the required SKRL Torch provider, and the built-in FastSAC algorithm. Runtime installation is selective: development tools, docs, RSL-RL, SKRL JAX, and other optional extras are not installed unless requested. +This auto-detects your GPU vendor (NVIDIA → CUDA, AMD → ROCm) and installs the runtime workspace packages, the matching PyTorch wheels, the required SKRL Torch provider, and the built-in FastSAC algorithm. On Linux, `install.sh` also installs Intel TBB by default for Numba parallel kernels, including with `--all` and either GPU profile. Other platforms do not enable TBB by default for runtime installation. Development tools, docs, RSL-RL, SKRL JAX, and other optional extras are not installed unless requested. ### Activate the Environment @@ -96,7 +96,7 @@ workspace packages and supported development extras. Backend flags select or add | `--skrl-torch` | — | Compatibility flag; SKRL Torch is already required by the root package | | `--skrl-jax` | — | Add SKRL on JAX backend, Linux only | | `--rslrl` | — | Add RSL-RL on PyTorch backend while retaining required SKRL | -| `--tbb` | — | Install Intel TBB for the numba parallel kernels; recommended for training on many-core servers (64+ cores), auto-activates once installed | +| `--tbb` | — | Explicitly install Intel TBB for Numba parallel kernels; already enabled by default in `install.sh` on Linux, auto-activates once installed | | `--docs` | — | Add the toolchain (sphinx) needed to build the documentation locally | | `-h`, `--help` | — | Show the help message | diff --git a/docs/source/zh_CN/user_guide/getting_started/installation.md b/docs/source/zh_CN/user_guide/getting_started/installation.md index 269efa23..ae08b9f8 100644 --- a/docs/source/zh_CN/user_guide/getting_started/installation.md +++ b/docs/source/zh_CN/user_guide/getting_started/installation.md @@ -50,7 +50,7 @@ sh install.sh ``` 该命令会自动探测 GPU 厂商(NVIDIA → CUDA,AMD → ROCm),安装运行环境所需的 workspace package、对应的 -PyTorch wheel、必需的 SKRL Torch provider 以及内置的 FastSAC 算法。运行环境采用选择性安装:开发工具、文档工具、RSL-RL、SKRL JAX 和其他可选 extra 不会自动安装。 +PyTorch wheel、必需的 SKRL Torch provider 以及内置的 FastSAC 算法。Linux 上,`install.sh` 默认还会为 Numba 并行 kernel 安装 Intel TBB,`--all` 和两种 GPU 配置均包含 TBB;其他平台的默认运行环境安装不会启用 TBB。开发工具、文档工具、RSL-RL、SKRL JAX 和其他可选 extra 不会自动安装。 :::{dropdown} 配置国内镜像源(可选) :animate: fade-in @@ -116,7 +116,7 @@ workspace plugin;`--all` 才会安装全部 workspace package 与支持的开 | `--skrl-torch` | — | 兼容性参数;SKRL Torch 已由根项目作为必需依赖提供 | | `--skrl-jax` | — | 添加 SKRL(JAX)训练后端,仅 Linux | | `--rslrl` | — | 添加 RSL-RL(PyTorch)训练后端,同时保留必需的 SKRL | -| `--tbb` | — | 为 numba 并行 kernel 安装 Intel TBB 线程层;多核服务器(64 核以上)训练推荐启用,安装后自动生效 | +| `--tbb` | — | 显式为 Numba 并行 kernel 安装 Intel TBB 线程层;Linux 上的 `install.sh` 已默认启用,安装后自动生效 | | `--docs` | — | 追加本地构建文档所需的工具链(Sphinx) | | `-h`、`--help` | — | 显示帮助 | diff --git a/install.sh b/install.sh index e2755669..b48bacbe 100755 --- a/install.sh +++ b/install.sh @@ -11,8 +11,9 @@ # # Built-in FastSAC and SKRL on Torch are always installed. --skrl-jax adds # the JAX runtime, and --rslrl adds the RSLRL plugin; multiple flags combine. -# --tbb installs Intel TBB so numba parallel kernels use its threading layer -# (avoids the OpenMP per-region thread-wakeup storm on many-core hosts). +# Linux installs Intel TBB by default so numba parallel kernels use its threading +# layer (avoids the OpenMP per-region thread-wakeup storm on many-core hosts). +# --tbb remains available to explicitly request TBB on other platforms. set -e @@ -27,7 +28,7 @@ usage() { echo " --skrl-torch Training backend: SKRL on PyTorch (default)" echo " --skrl-jax Training backend: SKRL on JAX (Linux only)" echo " --rslrl Training backend: RSL-RL on PyTorch" - echo " --tbb Install Intel TBB for numba parallel kernels (recommended on many-core hosts)" + echo " --tbb Install Intel TBB for numba parallel kernels (default on Linux)" echo " -h, --help Show this help" } @@ -142,6 +143,7 @@ if [ -z "$GPU" ]; then fi case "$(uname -s 2>/dev/null)" in + Linux) IS_WINDOWS=""; TBB=1 ;; MINGW*|MSYS*|CYGWIN*) IS_WINDOWS=1 ;; *) IS_WINDOWS="" ;; esac @@ -151,10 +153,13 @@ if [ "$GPU" = rocm ] && [ -n "$IS_WINDOWS" ]; then exit 1 fi +TBB_EXTRA="" +[ -n "$TBB" ] && TBB_EXTRA=" --extra tbb" + if [ -n "$ALL" ]; then if [ "$GPU" = rocm ]; then set -x - uv sync --all-packages --all-groups --extra rocm --extra rslrl --extra unitree --extra docs + uv sync --all-packages --all-groups --extra rocm --extra rslrl --extra unitree --extra docs$TBB_EXTRA else set -x uv sync --all-packages --all-groups --all-extras --no-extra rocm @@ -164,7 +169,7 @@ else [ -n "$SKRL_JAX" ] && EXTRAS="$EXTRAS --extra skrl-jax" [ -n "$RSLRL" ] && EXTRAS="$EXTRAS --extra rslrl" [ -n "$DOCS" ] && EXTRAS="$EXTRAS --extra docs" - [ -n "$TBB" ] && EXTRAS="$EXTRAS --extra tbb" + EXTRAS="$EXTRAS$TBB_EXTRA" set -x uv sync --no-default-groups --extra "$GPU"$EXTRAS fi