Environment and execution

September 9, 2026 ยท View on GitHub

The environment uses Python 3.10.20, PyTorch 2.4.1+cu118, torchvision 0.19.1, NumPy 1.23.5 and Lightning 2.4.0. The lockfile contains exact transitive versions. Scikit-image 0.19.3 preserves the inherited multichannel API.

Native dependencies:

ComponentSource revisionBuild
PyTorch3D89653419d0973396f3eff1a381ba09a07fffc2ed (v0.7.7)CUDA 11.8, GCC/G++ 9, arch 8.6
TorchSparse462dea4a701f87a7545afb3616bf2cf53dd404f3Same; sparsehash 2.0.4 headers in .cache/toolchain
tiny-cuda-nn, ZJU extra4892659e015b12bd2fce446b8a8e33e646b21746Same, TCNN_CUDA_ARCHITECTURES=86
spconvcu118 distributionLocked binary wheel

scripts/bootstrap_cuda.py first installs the non-native dependency set, then builds extensions without isolated build environments so they see the installed PyTorch. Build architecture settings must match the intended runtime device.

The StyleGAN image-filter plugin compiles at first use. The bootstrap writes .cache/cuda_environment.json and .cache/activate_cuda.fish, selecting CUDA 11.8/GCC 9 for project-local JIT builds. The GPU launcher reads that JSON; for direct commands, run source .cache/activate_cuda.fish in fish. The JIT helper infers the visible GPU architecture.

W&B runs offline. ImageNet EfficientNet and PIQ/VGG weights are downloaded on first use and stored in the PyTorch cache.

For a recorded job, the launcher checks that the chosen device is idle and records wall time, command, host, exit code and process IDs:

uv run --no-sync python scripts/run_gpu.py --gpu GPU-YOUR-UUID --smi-id 0 --name example \
    -- uv run --no-sync python -m eghumannerf infer \
    --checkpoint models/thu_fullsrdf.ckpt --subjects 401 --limit-val-batches 1 \
    --output outputs/example

Use the device's UUID for CUDA and its nvidia-smi index or PCI address for --smi-id.