holoscan-install-conda
Install Holoscan SDK v4.3+ via Conda in a CUDA 13 environment. Use for Conda installs; redirect CUDA 12 hosts to container/wheel.
- License 许可
- Apache-2.0
- 最近更新
- 2026-07-17
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- holoscan-install-conda
- license
- Apache-2.0
- version
- 1.0.0
- metadata
- { "tags": [ "holoscan", "install", "conda", "cuda" ], "author": "Holoscan Team <holoscan-team@nvidia.com>", "github-url": "https://github.com/nvidia-holoscan/holoscan-sdk" }
- description
- Install Holoscan SDK v4.3+ via Conda in a CUDA 13 environment. Use for Conda installs; redirect CUDA 12 hosts to container/wheel.
02 资源文件 4
- 参考文档BENCHMARK.md3.8 KB
- 参考文档evals/evals.json4.6 KB
- 参考文档skill-card.md3.6 KB
- 其他skill.oms.sig4.5 KB
03 SKILL.md 正文
Holoscan Conda Installation
Purpose
Install the Holoscan SDK (Python runtime and/or C++ dev headers) into a Conda environment on Linux x86_64, using conda-forge + rapidsai with a correctly pinned CUDA metapackage.
Prerequisites
- Linux x86_64 with an NVIDIA GPU and CUDA 13 driver (check
nvidia-smi). conda(Miniforge preferred). Step 1 installs it if missing.- Network access to conda-forge, rapidsai, and
docs.nvidia.com.
Limitations
- CUDA 13 only (since v4.3.0 — earlier releases were CUDA 12). If the user has a CUDA 12 driver, redirect to
/holoscan-install-containeror/holoscan-install-wheelinstead. - Linux x86_64 only — no aarch64/iGPU support on conda-forge.
ulimit -s 32768is recommended in every shell that runs Holoscan — without it, some apps may segfault.
Step 0: Consult the Official Install Instructions
Always fetch the current Conda section of https://docs.nvidia.com/holoscan/sdk-user-guide/sdk_installation.html before installing — package names, channel selection, and the runtime/dev split can change between releases. Specifically extract:
- The exact runtime package name (e.g.
holoscanfor Python bindings). - The C++ dev package name and whether the user needs it. As of v4.1.0,
libholoscan-devis a separate package containing headers and CMake config — install it whenever the user wants to develop C++ apps. Without it,find_package(holoscan)fails and there are no headers to#include. - Supported Python versions for the current release (3.10–3.13 for v4.3).
- The current
cuda-versionpin (v4.3 →13).
rmm and ucxx are distributed via the rapidsai channel; holoscan, libholoscan, and libholoscan-dev come from conda-forge.
If the doc disagrees with anything below, the doc wins — update the install commands accordingly and tell the user.
Step 1: Prerequisites Check
conda --version 2>&1
nvidia-smi 2>&1 | head -5
If conda is not found, install Miniforge silently (preferred over Miniconda for conda-forge):
wget -q https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh -O /tmp/Miniforge3.sh
bash /tmp/Miniforge3.sh -b -p ~/miniforge3
source ~/miniforge3/etc/profile.d/conda.sh
conda --version
The -b flag installs non-interactively without modifying .bashrc. Users must source ~/miniforge3/etc/profile.d/conda.sh in each new shell (or add it to their shell RC file) to make conda available.
Step 2: Create Environment and Install
Package roles
libholoscan— C++ runtime symbols (libholoscan_core.so). Auto-pulled as a dependency.holoscan— Python bindings.libholoscan-dev— C++ headers,libholoscan_core.sosymlink, andholoscan-config.cmakeforfind_package(holoscan).rmm— RAPIDS Memory Manager (rapidsai channel). Undeclared runtime dep ofholoscan;import holoscanfails without it.ucxx— UCX Python bindings (rapidsai channel), needed for distributed/multi-process apps.cuda-version=13— pins the CUDA 13 metapackage so the solver picks compatible CUDA runtime libs.
Create the environment first:
source ~/miniforge3/etc/profile.d/conda.sh # if conda not yet on PATH
conda create -n holoscan python=3.13 -y
conda activate holoscan
Then pick one of the variants below based on the user's goal.
Pick the packages for the user's goal — Python-only needs holoscan, C++ dev needs libholoscan-dev, both works for combined use:
conda install <packages> rmm ucxx cuda-version=13 -c rapidsai -c conda-forge -y
For C++ development, also install the toolchain:
conda install -c conda-forge cxx-compiler cmake ninja -y
Verify Python installs with python3 -c "import holoscan; print(holoscan.__version__)". Verify C++ dev installs with ls "$CONDA_PREFIX/include/holoscan".
Step 3: Run Python Tests
ulimit -s 32768 is recommended — without it, some Holoscan apps may segfault on startup.
video_replayer is a display app that loops forever by default. Always patch its YAML to
stop after 10 frames (count: 10, repeat: false, realtime: false) and to run headless
(headless: true) — headless works with or without a display attached and avoids GUI
failure modes over SSH, so we don't branch on $DISPLAY.
Download scripts and YAML configs, patch the YAML, then run:
source ~/miniforge3/etc/profile.d/conda.sh
conda activate holoscan
ulimit -s 32768
SDK_VER=$(python3 -c "import holoscan; print(holoscan.__version__)")
BASE="https://raw.githubusercontent.com/nvidia-holoscan/holoscan-sdk/v${SDK_VER}/examples"
curl -fsSL "${BASE}/hello_world/python/hello_world.py" -o /tmp/hs_hello_world.py
curl -fsSL "${BASE}/video_replayer/python/video_replayer.py" -o /tmp/hs_video_replayer.py
curl -fsSL "${BASE}/video_replayer/python/video_replayer.yaml" -o /tmp/video_replayer.yaml
# Patch video_replayer.yaml — 10 frames, headless.
python3 -c "
c = open('/tmp/video_replayer.yaml').read()
c = c.replace('count: 0', 'count: 10')
c = c.replace('repeat: true', 'repeat: false')
c = c.replace('realtime: true', 'realtime: false')
c = c.replace(' width: 854', ' headless: true\n width: 854')
open('/tmp/video_replayer.yaml', 'w').write(c)"
# hello_world — no display, no data needed; expected: "Hello World!"
python3 /tmp/hs_hello_world.py
# video_replayer — needs racerx data; expected: frames rendered, "Graph execution finished."
HOLOSCAN_INPUT_PATH=/path/to/holoscan/data python3 /tmp/hs_video_replayer.py
HOLOSCAN_INPUT_PATH must point to the directory containing a racerx/ subdirectory.
If the user has the SDK source repo that is ~/repos/holoscan-sdk/data; otherwise download
with the download_ngc_data script from the Debian or source install tree.
Step 4: Remind the User
They must do the following in each new shell session:
source ~/miniforge3/etc/profile.d/conda.sh # if Miniforge was installed with -b
conda activate holoscan
ulimit -s 32768 # recommended — prevents segfaults in some apps
Consider adding these lines to ~/.bashrc or ~/.zshrc to avoid repeating them.
Then offer next steps:
- Explore C++ and Python examples at
https://github.com/nvidia-holoscan/holoscan-sdk/tree/v<VERSION>/examples - Walk through a specific example:
/explain-example - Start building a custom Holoscan application
Troubleshooting
ImportError: librmm.so: cannot open shared object file.rmmwas not installed. Re-run the Step 2conda installline —rmmis an undeclared runtime dependency ofholoscan.- Solver picks an older
holoscanbuild than expected. Channel order may be wrong. Use-c rapidsai -c conda-forge(rapidsai first) — that's the order in the official install command, and under strict channel priority a conda-forge-first ordering can lock the solver to an olderholoscanbuild. - Segmentation fault on app startup. Set
ulimit -s 32768in the current shell before running any Holoscan app. Not all apps trip this, but the larger stack avoids the failure mode. find_package(holoscan)fails when building C++ apps. Installlibholoscan-dev(headers + CMake config are in a separate package since v4.1.0).conda: command not foundin a new shell. Miniforge was installed with-band did not patch.bashrc. Runsource ~/miniforge3/etc/profile.d/conda.shor add it to your shell RC file.
04 同仓库更多 Skills
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
web-artifacts-builder
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
vueuse-functions
Apply VueUse composables where appropriate to build concise, maintainable Vue.js / Nuxt features.
vue-testing-best-practices
Use for Vue.js testing. Covers Vitest, Vue Test Utils, component testing, mocking, testing patterns, and Playwright for E2E testing.
vue-router-best-practices
Vue Router 4 patterns, navigation guards, route params, and route-component lifecycle interactions.
vue-best-practices
MUST be used for Vue.js tasks. Strongly recommends Composition API with `<script setup>` and TypeScript as the standard approach. Covers Vue 3, SSR, Volar, vue-tsc. Load for any Vue, .vue files, Vue Router, Pinia, or Vite with Vue work. ALWAYS use Composition API unless the project explicitly requires Options API.