faster-whisper-dgx-spark/docker/entrypoint.sh
2025-12-23 23:53:33 +09:00

49 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
echo "[entrypoint] Python:" "$(python3 --version || true)"
echo "[entrypoint] pip packages (nvidia-*):"
python3 - <<'PY' || true
import pkgutil
names = sorted({m.name for m in pkgutil.iter_modules() if m.name.startswith("nvidia")})
print("\n".join(names) if names else "(none)")
PY
NVPATHS="$(python3 - <<'PY'
import os, sys
def try_mod(modname):
try:
m = __import__(modname, fromlist=["*"])
f = getattr(m, "__file__", None)
print(f"[entrypoint] {modname}.__file__ = {f}")
if not f:
return None
return os.path.dirname(f)
except Exception as e:
print(f"[entrypoint] import failed: {modname}: {e}", file=sys.stderr)
return None
paths = []
for mod in ("nvidia.cublas.lib", "nvidia.cudnn.lib"):
d = try_mod(mod)
if d:
paths.append(d)
print(":".join(paths))
PY
)"
BASE="/usr/local/cuda/lib64:/usr/local/lib"
if [[ -n "${NVPATHS}" ]]; then
export LD_LIBRARY_PATH="${BASE}:${NVPATHS}:${LD_LIBRARY_PATH:-}"
echo "[entrypoint] LD_LIBRARY_PATH set with NVPATHS"
else
export LD_LIBRARY_PATH="${BASE}:${LD_LIBRARY_PATH:-}"
echo "[entrypoint] NVPATHS empty; using CUDA base paths only"
fi
echo "[entrypoint] LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
exec "$@"