Spaces:
Paused
Paused
| set -eu | |
| pick_vulkan_icd() { | |
| for candidate in \ | |
| /etc/vulkan/icd.d/nvidia_icd.json \ | |
| /etc/vulkan/icd.d/nvidia_icd.x86_64.json \ | |
| /usr/share/vulkan/icd.d/nvidia_icd.json \ | |
| /usr/share/vulkan/icd.d/nvidia_icd.x86_64.json | |
| do | |
| if [ -f "$candidate" ]; then | |
| printf '%s\n' "$candidate" | |
| return 0 | |
| fi | |
| done | |
| return 1 | |
| } | |
| run_diagnostic() { | |
| label="$1" | |
| shift | |
| echo "[entrypoint] $label" | |
| if "$@"; then | |
| return 0 | |
| else | |
| status=$? | |
| fi | |
| echo "[entrypoint] $label failed with exit code $status" | |
| return 0 | |
| } | |
| if [ -z "${OMP_NUM_THREADS:-}" ]; then | |
| export OMP_NUM_THREADS=1 | |
| fi | |
| if [ -z "${VK_ICD_FILENAMES:-}" ]; then | |
| if detected_icd="$(pick_vulkan_icd)"; then | |
| export VK_ICD_FILENAMES="$detected_icd" | |
| echo "[entrypoint] Using Vulkan ICD: $VK_ICD_FILENAMES" | |
| else | |
| echo "[entrypoint] Vulkan ICD file not found under /etc or /usr/share" | |
| fi | |
| else | |
| echo "[entrypoint] Respecting preset VK_ICD_FILENAMES: $VK_ICD_FILENAMES" | |
| fi | |
| echo "[entrypoint] OMP_NUM_THREADS=$OMP_NUM_THREADS" | |
| run_diagnostic "nvidia-smi" nvidia-smi | |
| run_diagnostic "vulkaninfo --summary" vulkaninfo --summary | |
| exec "$@" | |