From 1597a9140f08bf6141f09a1ef14899be5d242696 Mon Sep 17 00:00:00 2001 From: MyeonghoeLee Date: Thu, 26 Mar 2026 15:13:53 +0900 Subject: [PATCH] =?UTF-8?q?setup.sh=20VRAM=20=EA=B8=B0=EB=B0=98=20?= =?UTF-8?q?=ED=8C=90=EB=8B=A8=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=EB=B0=8F=20=EC=99=84=EC=A0=84=20=EC=9E=90=EB=8F=99=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - NVIDIA GPU VRAM 20GB 미만이면 vLLM 대신 Ollama 선택 - 사용자 확인 단계 제거, 감지 후 바로 실행 Co-Authored-By: Claude Opus 4.6 (1M context) --- setup.sh | 54 +++++++++++++++++------------------------------------- 1 file changed, 17 insertions(+), 37 deletions(-) diff --git a/setup.sh b/setup.sh index 957b9d7..b444b90 100755 --- a/setup.sh +++ b/setup.sh @@ -41,27 +41,41 @@ if [ "$OS" = "Linux" ]; then RAM_GB=$(free -g | awk '/^Mem:/{print $2}') fi -# NVIDIA GPU 감지 +# NVIDIA GPU 감지 + VRAM 확인 +VRAM_GB=0 if command -v nvidia-smi &>/dev/null; then if nvidia-smi &>/dev/null; then HAS_NVIDIA_GPU=true + VRAM_MB=$(nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits 2>/dev/null | head -1) + VRAM_GB=$((VRAM_MB / 1024)) fi fi echo " OS: $OS ($ARCH)" echo " Apple Silicon: $HAS_APPLE_SILICON" echo " NVIDIA GPU: $HAS_NVIDIA_GPU" +if [ "$HAS_NVIDIA_GPU" = true ]; then + echo " VRAM: ${VRAM_GB}GB" +fi echo " RAM: ${RAM_GB}GB" echo "" #-------------------------------------------------------------------- # 방식 결정 +# - NVIDIA GPU + VRAM 20GB 이상 → vLLM +# - NVIDIA GPU + VRAM 부족 → Ollama (GPU로는 모델 못 올림) +# - Apple Silicon + RAM 32GB↑ → MLX +# - Apple Silicon + RAM 부족 → Ollama +# - 그 외 → Ollama #-------------------------------------------------------------------- SELECTED="" -if [ "$HAS_NVIDIA_GPU" = true ]; then +if [ "$HAS_NVIDIA_GPU" = true ] && [ "$VRAM_GB" -ge 20 ]; then SELECTED="vllm" - echo " → NVIDIA GPU 감지 → vLLM 선택" + echo " → NVIDIA GPU (VRAM ${VRAM_GB}GB) → vLLM 선택" +elif [ "$HAS_NVIDIA_GPU" = true ] && [ "$VRAM_GB" -lt 20 ]; then + SELECTED="ollama" + echo " → NVIDIA GPU 감지되었으나 VRAM ${VRAM_GB}GB (20GB 미만) → Ollama 선택" elif [ "$HAS_APPLE_SILICON" = true ] && [ "$RAM_GB" -ge 32 ]; then SELECTED="mlx" echo " → Apple Silicon + RAM ${RAM_GB}GB → MLX (vllm-mlx) 선택" @@ -73,40 +87,6 @@ else echo " → 범용 환경 → Ollama 선택" fi -echo "" - -#-------------------------------------------------------------------- -# 사용자 확인 -#-------------------------------------------------------------------- -read -p " $SELECTED 방식으로 진행할까요? [Y/n] (직접 선택: o=ollama, m=mlx, v=vllm): " CONFIRM -CONFIRM=${CONFIRM:-Y} - -case "$CONFIRM" in - [Yy]|"") - # 자동 선택 유지 - ;; - [Oo]) - SELECTED="ollama" - echo " → Ollama로 변경" - ;; - [Mm]) - SELECTED="mlx" - echo " → MLX로 변경" - ;; - [Vv]) - SELECTED="vllm" - echo " → vLLM으로 변경" - ;; - [Nn]) - echo " 취소됨." - exit 0 - ;; - *) - echo " 알 수 없는 입력. 취소됨." - exit 1 - ;; -esac - echo "" echo "============================================" echo " $SELECTED 방식으로 셋업을 시작합니다"