x86-env

star 0

Operaciones de entorno host x86_64 (Ubuntu 24.04, RTX 3060, CUDA 12.6, venv torch 2.5.1+cu124). Invocar para apt install/remove, recompilar extensiones CUDA, conflictos torch/xformers/cupy, ZED SDK x86, Rerun viewer, OOM MAC-VO/DPVO.

ernestoelo By ernestoelo schedule Updated 6/7/2026

name: x86-env description: Operaciones de entorno host x86_64 (Ubuntu 24.04, RTX 3060, CUDA 12.6, venv torch 2.5.1+cu124). Invocar para apt install/remove, recompilar extensiones CUDA, conflictos torch/xformers/cupy, ZED SDK x86, Rerun viewer, OOM MAC-VO/DPVO.

x86-env

Skill enfocada en la operación segura del host de procesamiento x86_64 (RTX 3060). Complementa los scripts de bootstrap/ (install_x86_system.sh, install_zed_sdk_x86.sh, install_macvo.sh) y los docs de docs/x86-deployment.md.

Baseline confirmado del host (2026-05-19)

Pieza Versión
Distro Ubuntu 24.04.4 LTS (Noble)
Kernel 6.17
Python (sistema) 3.12.3
GCC default 13.3.0
GCC alterno (no usado) 12.4.0
GPU RTX 3060 12 GB (SM 8.6)
Driver NVIDIA 580.126.09
CUDA Toolkit 12.6 (/usr/local/cuda-12.6)
cmake 3.28.3
ZED SDK 5.3 Ubuntu24 CUDA12 (core; sin samples/tools)
pyzed 5.3 (cp312)
Venv .venv (Python 3.12, sin --system-site-packages)

Combinatoria torch/xformers/MAC-VO (ABI sensible)

torch xformers torchvision torch-scatter
2.5.1+cu124 0.0.29 0.20.1+cu124 2.1.2+pt25cu124
2.4.0 0.0.27.post2 (default MAC-VO requirements.txt) 0.19.0 requiere recompilar

REGLA: NO instalar desde third_party/MAC-VO/requirements.txt directamente — pinea xformers==0.0.27.post2 que downgrada torch a 2.4 y rompe ABI de las extensiones DPVO ya compiladas. Usar bootstrap/install_macvo.sh que maneja esto.

Operación 1: agregar deps al venv x86

Antes de tocar deps:

  1. Revisar docs/findings/2026-05-19-macvo-stereo-metric.md §2.2 para confirmar la combinatoria torch/xformers/cupy actual.
  2. Activar venv: source .venv/bin/activate (o usar /home/wildsense/Documents/development/s_dpvio/.venv/bin/pip).
  3. NO usar pip install -r requirements.txt de MAC-VO upstream (downgrade trap).

Si hay que agregar una dep nueva:

.venv/bin/pip install --dry-run <paquete>  # ver qué arrastra

Si toca torch/torchvision/xformers/cupy/cudnn → STOP, leer finding y proponer commit en bootstrap/install_macvo.sh antes de ejecutar.

Operación 2: recompilar lietorch+dpvo

Si subis torch o CUDA, las extensiones compiladas anteriormente quedan con ABI distinto. Diagnóstico:

.venv/bin/python -c "import lietorch_backends, cuda_corr, cuda_ba; print('OK')"

Si falla con undefined symbol _ZN6caffe2..., recompilar:

# 1. Limpiar
cd third_party/DROID_SLAM/thirdparty/lietorch && rm -rf build *.egg-info
cd third_party/S_DPVO && rm -rf build *.egg-info

# 2. Reinstalar (env exportado)
PATH=/usr/local/cuda-12.6/bin:$PATH \
LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64 \
TORCH_CUDA_ARCH_LIST=8.6 \
MAX_JOBS=8 \
.venv/bin/pip install . --no-build-isolation

Operación 3: gestión Rerun viewer

pip install rerun-sdk instala solo el Python wrapper (el que genera .rrd). Para abrir .rrd o usar MACVO.py --useRR se necesita el binary CLI, que es un ELF directo ~93 MB, NO un .tar.gz (gotcha confirmado 2026-05-23; bajar .tar.gz + tar xzf falla):

# Linux x86_64 (versión que coincide con el wrapper instalado, e.g. 0.21.0)
mkdir -p ~/.local/bin
wget -O ~/.local/bin/rerun \
  https://github.com/rerun-io/rerun/releases/download/0.21.0/rerun-cli-0.21.0-x86_64-unknown-linux-gnu
chmod +x ~/.local/bin/rerun

# Verificar (debe imprimir "rerun-cli 0.21.0 ...")
which rerun && rerun --version

Compatibilidad: el binary rerun-cli major.minor debe coincidir con rerun-sdk Python (pip show rerun-sdk). Si discrepan, downgrade el binary.

Fuente única del flujo de visualización (URLs ELF por plataforma — macOS/Windows —, scp, server web --serve): docs/state/results-index.md §B. Generar .rrd (DPVO disperso / ZedBox aarch64): finding 2026-06-03-rerun-readiness-zedbox.

Operación 4: troubleshooting OOM

Síntoma Causa probable Acción
OOM en frame ~50 (DPVO) autograd graph accumulation Verificar torch.inference_mode() en scripts/run_sdpvo_offline.py:266
OOM al cargar MAC-VO resolución muy alta Bajar a --scale 0.35 en scripts/svo_to_stereo_pngs.py
Throughput cae 5× --preload saturó RAM Quitar --preload, ver finding 2026-05-19 §2.4
OOM en update() DPVO BUFFER_SIZE muy alto --buffer 64-256 (default 2048 es excesivo en 12 GB)
Out of host memory --preload + dataset > 6 GB Sin --preload; o reducir --scale o --stride

Operación 5: rebuild venv from scratch

# 1. Backup de la lista de deps (opcional)
.venv/bin/pip freeze > /tmp/pip-freeze-$(date +%F).txt

# 2. Rebuild
rm -rf .venv
python3 -m venv .venv
.venv/bin/pip install --upgrade pip wheel setuptools

# 3. Re-ejecutar bootstrap canónico
bash bootstrap/install_macvo.sh  # cubre torch + cuda libs + macvo deps

# 4. Recompilar extensiones
bash bootstrap/build_sdpvo.sh    # cubre lietorch + dpvo

# 5. ZED SDK pyzed
python3 /usr/local/zed/get_python_api.py --auto

Restricciones (heredadas de CLAUDE.md)

  • §2 ZedBox no aplica acá — esta skill es x86_64 con wheels oficiales.
  • §8 No tocar calibración óptica (refracción aire-agua, etc.). La calib de fábrica del SDK se LEE, no se modifica.
  • §3 Identidad submódulos: third_party/S_DPVO ≠ MAC-VO; MAC-VO real vive en third_party/MAC-VO/ (clone restaurable por bootstrap/install_macvo.sh).

Cuándo NO invocar esta skill

  • Operaciones en la ZedBox (Jetson aarch64): usar jetson-env.
  • Modificación de scripts del pipeline (lógica VO): tocar el código directamente, esta skill es de entorno.
  • Calibración óptica de cámara: prohibido (§8).
Install via CLI
npx skills add https://github.com/ernestoelo/s_dpvio --skill x86-env
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator