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:
- Revisar docs/findings/2026-05-19-macvo-stereo-metric.md §2.2 para confirmar la combinatoria torch/xformers/cupy actual.
- Activar venv:
source .venv/bin/activate(o usar/home/wildsense/Documents/development/s_dpvio/.venv/bin/pip). - NO usar
pip install -r requirements.txtde 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 enthird_party/MAC-VO/(clone restaurable porbootstrap/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).