vkgs-sim / docker /entrypoint.sh
kimjunhan's picture
Add files using upload-large-folder tool
4c75661 verified
Raw History Blame Contribute Delete
2.1 kB
#!/usr/bin/env bash
# μ»¨ν…Œμ΄λ„ˆ μ§„μž…μ  β€” scripts/local_env.sh κ°€ λ‘œμ»¬μ—μ„œ κ±°λŠ” 값을 μ»¨ν…Œμ΄λ„ˆμ— 맞게 건닀.
set -euo pipefail
# 이미지 μ•ˆ μ €μž₯μ†Œ 경둜 (Dockerfile WORKSPACE = ν˜ΈμŠ€νŠΈμ™€ 같은 /home/mm/Downloads/vkgs-sim). 호슀트 μ €μž₯μ†Œλ₯Ό 같은 κ²½λ‘œμ— λ§ˆμš΄νŠΈν•΄λ„ λœλ‹€.
export VKGS_WORKSPACE="${VKGS_WORKSPACE:-/workspace}"
cd "$VKGS_WORKSPACE" 2>/dev/null || true
export CCACHE_DIR="$VKGS_WORKSPACE/cache/ccache"
mkdir -p "$CCACHE_DIR" "$VKGS_WORKSPACE/outputs" 2>/dev/null || true
# nusim 은 μ΄λ―Έμ§€μ—μ„œ editable μ„€μΉ˜λΌ μžˆλ‹€. μ—†μœΌλ©΄(λ‹€λ₯Έ κ²½λ‘œμ— 마운트) μ†ŒμŠ€μ—μ„œ λ°”λ‘œ μ“΄λ‹€.
export PYTHONPATH="$VKGS_WORKSPACE/src/nusim${PYTHONPATH:+:$PYTHONPATH}"
if ! command -v nusim >/dev/null && [[ -d "$VKGS_WORKSPACE/src/nusim" ]]; then
mkdir -p "$HOME/.local/bin"
printf '#!/bin/sh\nexec python -c "from nusim.cli.main import main; import sys; sys.exit(main())" "$@"\n' > "$HOME/.local/bin/nusim"
printf '#!/bin/sh\nexec python -c "from nusim.cli.doctor import main; import sys; sys.exit(main())" "$@"\n' > "$HOME/.local/bin/vkgs-doctor"
chmod +x "$HOME/.local/bin/nusim" "$HOME/.local/bin/vkgs-doctor"
fi
export PATH="$HOME/.local/bin:$PATH"
# conda 의 Vulkan λ‘œλ”λŠ” 자기 prefix 만 λ³Έλ‹€ β€” μ»¨ν…Œμ΄λ„ˆ νˆ΄ν‚·μ΄ 넣은 NVIDIA ICD λ₯Ό μ§€μ •ν•œλ‹€.
for f in /usr/share/vulkan/icd.d/nvidia_icd.json /etc/vulkan/icd.d/nvidia_icd.json; do
if [[ -r "$f" ]]; then export VK_DRIVER_FILES="$f" VK_ICD_FILENAMES="$f"; break; fi
done
[[ -n "${VK_DRIVER_FILES:-}" ]] || echo "[entrypoint] NVIDIA Vulkan ICD μ—†μŒ β€” --gpus all κ³Ό NVIDIA_DRIVER_CAPABILITIES=graphics 확인" >&2
if [[ -n "${DISPLAY:-}" && ! -d /tmp/.X11-unix ]]; then
echo "[entrypoint] DISPLAY=${DISPLAY} 인데 /tmp/.X11-unix κ°€ μ—†λ‹€ β€” μ°½ λ·°μ–΄λŠ” μ•ˆ λœ¬λ‹€ (--offscreen 은 λœλ‹€)" >&2
fi
if [[ "${VKGS_QUIET:-0}" != "1" ]]; then
printf '\033[1;36m vkgs-sim\033[0m dev container β€” %s\n' "$VKGS_WORKSPACE"
printf ' λΉŒλ“œ: cmake -S src/vkgs -B build -GNinja && cmake --build build 진단: vkgs-doctor\n\n'
fi
exec "$@"