Update entrypoint.sh
Browse files- entrypoint.sh +23 -8
entrypoint.sh
CHANGED
|
@@ -3,10 +3,6 @@ set -e
|
|
| 3 |
|
| 4 |
echo "🚀 ADUC-SDR Entrypoint: Configurando o ambiente de execução..."
|
| 5 |
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
# --- Configuração de Performance (CPU & GPU) ---
|
| 11 |
NUM_VCPUS=$(nproc)
|
| 12 |
NUM_GPUS=$(nvidia-smi --query-gpu=count --format=csv,noheader | head -n 1 || echo 0)
|
|
@@ -37,11 +33,30 @@ echo " > Depuração: ADUC_LOG_LEVEL=${ADUC_LOG_LEVEL}, CUDA_LAUNCH_BLOCKING=$
|
|
| 37 |
echo ""
|
| 38 |
echo ""
|
| 39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
|
| 41 |
-
|
| 42 |
|
| 43 |
-
|
| 44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
|
| 46 |
# --- Setup de Dependências ---
|
| 47 |
echo " > Verificando dependências com setup.py..."
|
|
@@ -49,4 +64,4 @@ python3 /app/setup.py
|
|
| 49 |
|
| 50 |
echo "---------------------------------------------------------"
|
| 51 |
echo "🔥 Ambiente configurado. Iniciando o comando principal: $@"
|
| 52 |
-
exec "$@"
|
|
|
|
| 3 |
|
| 4 |
echo "🚀 ADUC-SDR Entrypoint: Configurando o ambiente de execução..."
|
| 5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
# --- Configuração de Performance (CPU & GPU) ---
|
| 7 |
NUM_VCPUS=$(nproc)
|
| 8 |
NUM_GPUS=$(nvidia-smi --query-gpu=count --format=csv,noheader | head -n 1 || echo 0)
|
|
|
|
| 33 |
echo ""
|
| 34 |
echo ""
|
| 35 |
|
| 36 |
+
# =============================================================================
|
| 37 |
+
# 🔧 Compilação e Cache de Wheels (FlashAttention e outros)
|
| 38 |
+
# =============================================================================
|
| 39 |
+
WHEEL_DIR="/data/wheel"
|
| 40 |
+
mkdir -p "$WHEEL_DIR"
|
| 41 |
|
| 42 |
+
FLASH_ATTN_WHL=$(find "$WHEEL_DIR" -name "flash_attn-*.whl" | head -n 1)
|
| 43 |
|
| 44 |
+
if [[ -f "$FLASH_ATTN_WHL" ]]; then
|
| 45 |
+
echo "📦 Encontrado wheel compilado: $FLASH_ATTN_WHL"
|
| 46 |
+
echo " > Instalando diretamente sem recompilar..."
|
| 47 |
+
pip install --no-cache-dir "$FLASH_ATTN_WHL"
|
| 48 |
+
else
|
| 49 |
+
echo "⚙️ Nenhum wheel encontrado. Compilando flash-attn..."
|
| 50 |
+
pip wheel flash-attn==2.8.3 --no-build-isolation -w "$WHEEL_DIR"
|
| 51 |
+
FLASH_ATTN_WHL=$(find "$WHEEL_DIR" -name "flash_attn-*.whl" | head -n 1)
|
| 52 |
+
if [[ -f "$FLASH_ATTN_WHL" ]]; then
|
| 53 |
+
echo "✅ Compilação concluída. Instalando a partir do cache local."
|
| 54 |
+
pip install --no-cache-dir "$FLASH_ATTN_WHL"
|
| 55 |
+
else
|
| 56 |
+
echo "❌ Falha ao compilar flash-attn."
|
| 57 |
+
exit 1
|
| 58 |
+
fi
|
| 59 |
+
fi
|
| 60 |
|
| 61 |
# --- Setup de Dependências ---
|
| 62 |
echo " > Verificando dependências com setup.py..."
|
|
|
|
| 64 |
|
| 65 |
echo "---------------------------------------------------------"
|
| 66 |
echo "🔥 Ambiente configurado. Iniciando o comando principal: $@"
|
| 67 |
+
exec "$@"
|