Skip to main content

Module probe

Module probe 

Source
Expand description

Cluster readiness probe (fdl probe): GPU + libtorch arch + shared-data path + NCCL discovery. Pre-training gate; the foundation for fdl deploy and the transparent launcher dispatch. fdl probe — check host readiness for training.

Single-host (default): probes the local box for GPU + libtorch + shared-data path + NCCL. Cluster context (env overlay): each configured host is probed via SSH and the per-host status is aggregated into one report. See run.

§Design notes

flodl assumes shared storage is available to every node at the same logical path (NAS / SMB / virtiofs / S3-FUSE / SSHFS). The probe is the gate that confirms each host can see it BEFORE training fans out, instead of discovering it mid-AllReduce when a checkpoint write hangs on a stale mount. The convention default (crate::config::DEFAULT_DATA_PATH) applies when a host does not declare data_path: in fdl.cluster.yml.

Probe is intentionally thin — it reuses crate::libtorch::detect and crate::util::system for the existing detection logic and adds shared-mount + NCCL discovery on top. The format is diagnose-style (text by default, --json emits machine-readable output for fdl deploy / CI to consume).

Structs§

DataPathStatus
Shared-data path visibility + filesystem-type detection.
LibtorchStatus
libtorch directory + arch metadata + per-GPU compatibility verdict.
NcclStatus
NCCL discovery result. NCCL is loaded dynamically by libtorch, so the probe just hunts for libnccl.so* on the usual library paths — unless Self::via_docker is set, in which case NCCL ships inside the container image and the host scan is skipped.
ProbeReport
Top-level probe verdict for one host. green() is the aggregate gate.

Functions§

probe_local
Probe the local host. data_path_override (from --data-path CLI flag) overrides config; skip_mount short-circuits the shared-data check (useful for single-host setups without a shared FS configured); libtorch_path_override (from --libtorch-path) points at a libtorch install outside the project tree (used by cluster-mode remote probes where libtorch lives on a dedicated share like /mnt/libtorch). via_docker (from --docker <svc> or the cluster.yml host’s docker: field) tells the probe NCCL ships inside a container image, so host-level NCCL scanning is replaced by an informational “via Docker image <svc>” line.
run
Run the probe.