Fix Major Minor Version Detection
This commit is contained in:
32
install.sh
32
install.sh
@@ -87,24 +87,42 @@ fi
|
|||||||
DETECTED_CUDA="$(nvidia-smi | grep 'CUDA Version' | sed 's/.*CUDA Version: *\([0-9.]*\).*/\1/')"
|
DETECTED_CUDA="$(nvidia-smi | grep 'CUDA Version' | sed 's/.*CUDA Version: *\([0-9.]*\).*/\1/')"
|
||||||
log "Detected CUDA capability: ${DETECTED_CUDA}"
|
log "Detected CUDA capability: ${DETECTED_CUDA}"
|
||||||
|
|
||||||
|
# Extract major.minor (e.g., 12.4)
|
||||||
|
DETECTED_MM="$(echo "$DETECTED_CUDA" | cut -d. -f1,2)"
|
||||||
|
|
||||||
choose_cuda() {
|
choose_cuda() {
|
||||||
# Pick highest supported version <= detected CUDA capability
|
local best=""
|
||||||
for v in $(printf '%s\n' "${SUPPORTED_CUDA[@]}" | sort -rV); do
|
local best_mm=""
|
||||||
if [ "$(printf '%s\n%s\n' "$v" "$DETECTED_CUDA" | sort -V | head -n1)" = "$v" ]; then
|
|
||||||
echo "$v"
|
for v in "${SUPPORTED_CUDA[@]}"; do
|
||||||
return 0
|
v_mm="$(echo "$v" | cut -d. -f1,2)"
|
||||||
|
|
||||||
|
# Only consider versions with same major.minor
|
||||||
|
if [ "$v_mm" = "$DETECTED_MM" ]; then
|
||||||
|
# Pick highest patch of that minor
|
||||||
|
if [ -z "$best" ] || [ "$(printf '%s\n%s\n' "$best" "$v" | sort -V | tail -n1)" = "$v" ]; then
|
||||||
|
best="$v"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [ -n "$best" ]; then
|
||||||
|
echo "$best"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
if CUDA_VERSION="$(choose_cuda)"; then
|
if CUDA_VERSION="$(choose_cuda)"; then
|
||||||
log "Selected CUDA image version: ${CUDA_VERSION}"
|
log "Selected CUDA image version: ${CUDA_VERSION}"
|
||||||
else
|
else
|
||||||
warn "Could not auto-match CUDA version, defaulting to highest supported"
|
err "No compatible CUDA image found for driver capability ${DETECTED_MM}.x"
|
||||||
CUDA_VERSION="$(printf '%s\n' "${SUPPORTED_CUDA[@]}" | sort -V | tail -n1)"
|
err "Supported versions: ${SUPPORTED_CUDA[*]}"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
IMAGE="${IMAGE_BASE}/${CUDA_VERSION}/tentacle:${IMAGE_TAG}"
|
IMAGE="${IMAGE_BASE}/${CUDA_VERSION}/tentacle:${IMAGE_TAG}"
|
||||||
|
|
||||||
# -----------------------------
|
# -----------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user