Compare commits

..

No commits in common. "e8fa68ed390ab254af5fd29125653c1fc39e29f8" and "52758f423ad42189bf96fe69c9718d3e65634890" have entirely different histories.

View File

@ -35,24 +35,21 @@ convert_to_pci_address() {
local device="$1" local device="$1"
local gpu_address="" local gpu_address=""
if [[ "$device" =~ ^[0-9]+$ || "$device" =~ ^GPU-.*$ ]]; then if [[ "$device" =~ ^[0-9]+$ ]]; then
# Convert GPU index or UUID to PCI address # Convert GPU index to PCI address
gpu_address=$(nvidia-smi --id="$device" --query-gpu=gpu_bus_id --format=csv,noheader 2>/dev/null | tr -d '[:space:]') gpu_address=$(nvidia-smi --id=$device --query-gpu=gpu_bus_id --format=csv,noheader 2>/dev/null | tr -d '[:space:]')
elif [[ "$device" =~ ^GPU-.*$ ]]; then
# Handle UUID
gpu_address=$(nvidia-smi --id=$device --query-gpu=gpu_bus_id --format=csv,noheader 2>/dev/null | tr -d '[:space:]')
else else
# Direct PCI address provided # Direct PCI address provided
gpu_address="$device" gpu_address=$device
fi
# Check for valid output
if [ -z "$gpu_address" ]; then
error_exit "Failed to get PCI address for device: $device"
fi fi
# Standardize format # Standardize format
echo "$gpu_address" | sed -e 's/0000://' -e 's/\./:/g' echo "$gpu_address" | sed 's/0000://' | sed 's/\./:/g'
} }
get_gpu_addresses() { get_gpu_addresses() {
# Split devices by comma # Split devices by comma
IFS=',' read -ra DEVICES <<< "$NVIDIA_VISIBLE_DEVICES" IFS=',' read -ra DEVICES <<< "$NVIDIA_VISIBLE_DEVICES"