File size: 1,237 Bytes
3da5127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18afa85
 
3da5127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh
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 "$@"