← Files NVIDIA BioNeMo Agent ToolkitARCHIVED FILE

skills/parabricks/references/runtime-environment.md

8.33 KB · Sep 30, 2026 · 23:14 UTC

↓ Download file

# Parabricks runtime environment

Use this reference when assessing NVIDIA Parabricks readiness, installation gaps,
GPU memory, Docker/container access, storage, or runtime recommendations on a
local or target host.

## First Step

Confirm whether the current machine is the Parabricks execution host. If the
user will run on a remote Linux server, cloud instance, scheduler node, or
container platform, ask for facts from that target environment instead of
assuming local results apply.

When the current machine is the execution host, prefer the repository diagnostic
script and use its report as the basis for recommendations:

```bash
python3 skills/parabricks/scripts/check_parabricks_runtime.py
```

When input, output, or temporary directories are known, include them in the
storage check:

```bash
python3 skills/parabricks/scripts/check_parabricks_runtime.py \
  --path <input-dir> \
  --path <output-dir> \
  --path <tmp-dir>
```

Only run container probes when the user agrees to network/image-access side
effects. These checks may pull images or require NGC authentication:

```bash
python3 skills/parabricks/scripts/check_parabricks_runtime.py \
  --run-container-check \
  --parabricks-version <version>
```

For machine-readable output, use:

```bash
python3 skills/parabricks/scripts/check_parabricks_runtime.py --format json
```

Do not install, upgrade, or modify packages. If prerequisites are missing,
provide commands for the user or system administrator to run, and make clear
that the commands must be reviewed for their OS, package manager, security
policy, and Parabricks version.

## Available Scripts

| Script | Purpose | Arguments |
|--------|---------|-----------|
| `scripts/check_parabricks_runtime.py` | Collect local OS, CPU/RAM, GPU, Docker, optional container, Parabricks image, and storage readiness facts | `--path <dir>` repeatable, `--run-container-check`, `--parabricks-version <tag>`, `--format text\|json`, `--timeout <seconds>` |

## Discovery Commands

Use the diagnostic script first when possible. If the script cannot run, if the
target host is remote, or if extra detail is needed, use commands that fit the
target operating system and available tools.

For operating system and kernel:

```bash
uname -a
cat /etc/os-release
```

For NVIDIA GPU and driver details:

```bash
nvidia-smi
nvidia-smi --query-gpu=name,memory.total,memory.free,driver_version,cuda_version,compute_cap --format=csv
nvidia-smi -L
```

For CPU and memory on Linux:

```bash
lscpu
cat /proc/meminfo | grep MemTotal
cat /proc/cpuinfo | grep processor | wc -l
```

For storage:

```bash
df -h
df -h <input-dir> <output-dir> <tmp-dir>
```

For Docker and NVIDIA Container Toolkit:

```bash
docker --version
docker info
docker run --rm --gpus all nvidia/cuda:12.9.1-base-ubuntu22.04 nvidia-smi
```

For Python:

```bash
python3 --version
```

For Parabricks container access, after the user confirms the desired version:

```bash
docker pull nvcr.io/nvidia/clara/clara-parabricks:<version>
docker run --rm --gpus all nvcr.io/nvidia/clara/clara-parabricks:<version> pbrun --help
```

## Current Requirements To Check

For the latest NVIDIA Parabricks documentation, check:

- A Linux operating system that supports the NVIDIA Container Toolkit.
- Docker version 20.10 or higher.
- An NVIDIA driver compatible with the Parabricks container CUDA version. The
  current installation requirements mention CUDA 12.9.1-compatible drivers
  such as 535, 550, 570, 575, or similar.
- NVIDIA GPU support and memory. Current docs state at least 16 GB GPU memory
  per GPU for all tools, with some tools requiring more by default and offering
  lower-memory options.
- CPU RAM and CPU thread recommendations for multi-GPU systems.
- Python 3 availability.
- No unsupported GPU mode for the target Parabricks version. Verify whether
  vGPU or MIG limitations apply in the current docs before making a strong
  claim.

## Interpret Results

Use the diagnostic script output to report:

- OS/distribution and whether it looks like a supported Linux runtime.
- GPU count, model names, compute capability if available, memory per GPU, and
  whether GPUs are visible through `nvidia-smi`.
- Driver version and CUDA version reported by the driver.
- Whether Docker is installed and new enough.
- Whether Docker can access GPUs through NVIDIA Container Toolkit.
- Whether Python 3 is available.
- CPU thread count and system RAM.
- Free space on input, output, and temporary filesystems when paths are known.
- Whether the selected Parabricks container can be pulled and can run `pbrun`.
- Any missing information that prevents a recommendation.

## Missing Prerequisites

When something is missing, do not run install commands. Provide the next action
for the user.

Examples:

- Missing NVIDIA driver: direct the user to install a CUDA-compatible NVIDIA
  data center or supported GPU driver for their OS, then rerun `nvidia-smi`.
- Missing Docker: provide the official Docker Engine installation page for the
  user's distro and a user-run command only after confirming the OS/package
  manager.
- Missing NVIDIA Container Toolkit: provide the official NVIDIA Container
  Toolkit installation page and tell the user to configure Docker GPU runtime.
- Docker cannot access GPUs: suggest verifying driver health, container toolkit
  installation, Docker daemon configuration, and user permissions.
- Missing Python 3: provide an OS-specific Python 3 install command only after
  confirming the OS/package manager.
- Missing Parabricks image access: ask whether the user is authenticated to
  NVIDIA NGC and whether network/proxy policy permits pulling from `nvcr.io`.

When offering commands, label them as "user-run commands" and keep them
separate from diagnostic commands the agent can safely execute.

## Recommendation Style

Use qualitative recommendations:

- `ready`: required runtime components appear available.
- `hardware-constrained`: GPU memory, CPU RAM, CPU threads, or storage may
  limit the requested workflow.
- `runtime-incomplete`: required software such as Docker, NVIDIA Container
  Toolkit, driver support, Python 3, or image access is missing or unverified.
- `I/O-constrained`: storage layout or free space is likely to dominate runtime
  or failure risk.
- `not supported`: the target OS/GPU/runtime mode appears unsupported for the
  selected Parabricks version.
- `not enough information`: key facts are absent.

Prefer the script's `Assessment`, `Recommendations`, and `Open questions`
sections as the starting point. Add workflow-specific guidance only after
checking the requested Parabricks tool, data size, paths, and selected version.

Do not provide exact runtime predictions unless the user supplies comparable
benchmark data including dataset size, read length, coverage, GPU model/count,
storage type, Parabricks version, and command options.

## fq2bam-Specific Guidance

For `fq2bam`, pay special attention to:

- GPU memory per device.
- Number of GPUs requested.
- System RAM and CPU threads.
- Docker GPU runtime availability.
- FASTQ size and expected output size.
- Reference and known-sites file location.
- Temporary directory location and free space.
- Whether `--low-memory` should be considered for constrained GPU memory when
  supported by the selected Parabricks version.

If the environment looks constrained or incomplete, recommend a safer first run
or prerequisite remediation before aggressive performance tuning.

## Output Template

Structure the response as:

```text
Environment summary:
<OS/GPU/driver/Docker/container toolkit/Python/CPU/RAM/storage facts>

Assessment:
<ready | hardware-constrained | runtime-incomplete | I/O-constrained | not supported | not enough information>

Recommendations:
<specific runtime, command, or setup changes>

User-run install/setup commands:
<only include when OS/package manager is known; otherwise link to official docs>

Open questions:
<only facts still needed for a better recommendation>
```

## Key References

- Parabricks installation requirements:
  <https://docs.nvidia.com/clara/parabricks/latest/gettingstarted/installationrequirements.html>
- Parabricks getting started:
  <https://docs.nvidia.com/clara/parabricks/latest/gettingstarted.html>
- NVIDIA Container Toolkit installation:
  <https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html>
- Docker Engine installation:
  <https://docs.docker.com/engine/install/>
- NGC CLI documentation:
  <https://docs.ngc.nvidia.com/cli/>

SHA-256: cd5221de3be4cdcb93f2bc1efe9dcb4f0ee0cef6c07043d55c515bd1d8a54426