jetsom compile

This commit is contained in:
awe
2026-09-17 19:26:22 +03:00
parent e202f57ef8
commit fa9da949df
4 changed files with 69 additions and 8 deletions
+35 -3
View File
@@ -77,7 +77,10 @@ controls plus a pixel-identical live plot through an embedded web UI.
- For the `sar3d` processor (3D SAR): an NVIDIA GPU with the driver installed
(`libcuda`) and the external `gpr_cpp` library from the VNA_AlGo project. It
must be built **before** `make` (see below); its location is configurable via
the `GPR_CPP_DIR` make variable (default `/home/awe/Documents/VNA_AlGo/gpr_cpp`).
the `GPR_CPP_DIR` make variable (default `$HOME/Documents/VNA_AlGo/gpr_cpp`).
CUDA headers/libnvrtc are taken from the pip `nvidia-*` packages in the
VNA_AlGo venv when present, otherwise from the system toolkit at
`/usr/local/cuda` (Jetson/JetPack, apt `cuda-toolkit`).
## Build and run
@@ -87,8 +90,9 @@ From the repository root:
python3 -m venv .venv
.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install -r requirements.txt
# 3D SAR library (external, CMake + NVRTC; CUDA headers come from pip nvidia-* packages):
bash /home/awe/Documents/VNA_AlGo/gpr_cpp/build_cmake.sh
# 3D SAR library (external, CMake + NVRTC; CUDA headers come from the pip
# nvidia-* packages in the VNA_AlGo venv, or /usr/local/cuda as a fallback):
bash ~/Documents/VNA_AlGo/gpr_cpp/build_cmake.sh
make # build the C++ binaries into build/bin/
```
@@ -114,6 +118,34 @@ Run the desktop GUI:
`./start.sh --help`. The acquisition device (LibreVNA, Kamil ADC, …) is detected
automatically from the active config's `radar.model` — there is no per-device flag.
## Jetson (aarch64) bring-up
Ubuntu 22.04 on Jetson has glibc 2.35, and PyQt6 6.8+ ships only
`manylinux_2_39` aarch64 wheels — `requirements.txt` therefore pins PyQt6 to
`<6.8` on aarch64 (6.7.1 is the last release with a compatible wheel). With
that pin the stock `./start.sh` provisioning works; the extra steps are only
for the CUDA-backed `sar3d` processor:
```bash
# 1. gpr_cpp against the JetPack system CUDA (no pip nvidia-* packages needed):
git clone <VNA_AlGo repo> ~/Documents/VNA_AlGo
GPR_BUILD_PYTHON=OFF bash ~/Documents/VNA_AlGo/gpr_cpp/build_cmake.sh
# build_cmake.sh falls back to /usr/local/cuda automatically; override with
# CUDA_INC=... CUDA_LIB=... if the toolkit lives elsewhere.
# 2. copy the replay dataset (for dataset-replay profiles) and point
# radar.replay.dataset_dir in the profile at the local copy — the path in
# run_config_examples/*.json is machine-specific.
# 3. normal launch; make picks up /usr/local/cuda when the VNA_AlGo venv has
# no pip nvidia-* packages:
./start.sh --profile run_config_examples/run_config_replay_vna.example.json
```
If linking fails with `cannot find -lcuda`, the driver stub lives at
`/usr/local/cuda/lib64/stubs/libcuda.so`; on JetPack the real driver is
`/usr/lib/aarch64-linux-gnu/nvidia/libcuda.so.1` (present after boot).
## Running without hardware (emulation)
Two ways to run the full pipeline with no radar attached: