Spaces:
Paused
Paused
Update entrypoint.sh
Browse files- entrypoint.sh +32 -8
entrypoint.sh
CHANGED
|
@@ -1,16 +1,40 @@
|
|
| 1 |
#!/bin/bash
|
| 2 |
set -e
|
| 3 |
|
| 4 |
-
echo "🚀 ADUC-SDR Entrypoint:
|
| 5 |
|
| 6 |
-
#
|
| 7 |
-
|
| 8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
python3 /app/setup.py
|
| 10 |
|
| 11 |
-
echo " > Ambiente pronto!"
|
| 12 |
echo "---------------------------------------------------------"
|
| 13 |
-
|
| 14 |
-
# Passo 2: Executa o comando principal passado para o contêiner (CMD no Dockerfile)
|
| 15 |
-
# Por padrão, será "/app/start.sh"
|
| 16 |
exec "$@"
|
|
|
|
| 1 |
#!/bin/bash
|
| 2 |
set -e
|
| 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)
|
| 9 |
+
echo " > Hardware: ${NUM_VCPUS} vCPUs, ${NUM_GPUS} GPUs"
|
| 10 |
+
if [[ ${NUM_GPUS} -gt 0 ]]; then
|
| 11 |
+
VCPUS_PER_GPU=$((NUM_VCPUS / NUM_GPUS))
|
| 12 |
+
THREADS_PER_PROCESS=$((VCPUS_PER_GPU / 2))
|
| 13 |
+
else
|
| 14 |
+
THREADS_PER_PROCESS=$((NUM_VCPUS / 2))
|
| 15 |
+
fi
|
| 16 |
+
MIN_THREADS=4; MAX_THREADS=16
|
| 17 |
+
if [[ ${THREADS_PER_PROCESS} -lt ${MIN_THREADS} ]]; then THREADS_PER_PROCESS=${MIN_THREADS}; fi
|
| 18 |
+
if [[ ${THREADS_PER_PROCESS} -gt ${MAX_THREADS} ]]; then THREADS_PER_PROCESS=${MAX_THREADS}; fi
|
| 19 |
+
export OMP_NUM_THREADS=${OMP_NUM_THREADS:-${THREADS_PER_PROCESS}}
|
| 20 |
+
export MKL_NUM_THREADS=${MKL_NUM_THREADS:-${THREADS_PER_PROCESS}}
|
| 21 |
+
export MAX_JOBS=${MAX_JOBS:-${NUM_VCPUS}}
|
| 22 |
+
export PYTORCH_CUDA_ALLOC_CONF=${PYTORCH_CUDA_ALLOC_CONF:-"max_split_size_mb:512"}
|
| 23 |
+
export NVIDIA_TF32_OVERRIDE=${NVIDIA_TF32_OVERRIDE:-1}
|
| 24 |
+
|
| 25 |
+
# --- Configuração de Depuração e Logging ---
|
| 26 |
+
export ADUC_LOG_LEVEL=${ADUC_LOG_LEVEL:-"INFO"}
|
| 27 |
+
export CUDA_LAUNCH_BLOCKING=${CUDA_LAUNCH_BLOCKING:-0}
|
| 28 |
+
export PYTHONFAULTHANDLER=1
|
| 29 |
+
export GRADIO_DEBUG=${GRADIO_DEBUG:-"False"}
|
| 30 |
+
|
| 31 |
+
echo " > Performance: OMP_NUM_THREADS=${OMP_NUM_THREADS}, MKL_NUM_THREADS=${MKL_NUM_THREADS}"
|
| 32 |
+
echo " > Depuração: ADUC_LOG_LEVEL=${ADUC_LOG_LEVEL}, CUDA_LAUNCH_BLOCKING=${CUDA_LAUNCH_BLOCKING}"
|
| 33 |
+
|
| 34 |
+
# --- Setup de Dependências ---
|
| 35 |
+
echo " > Verificando dependências com setup.py..."
|
| 36 |
python3 /app/setup.py
|
| 37 |
|
|
|
|
| 38 |
echo "---------------------------------------------------------"
|
| 39 |
+
echo "🔥 Ambiente configurado. Iniciando o comando principal: $@"
|
|
|
|
|
|
|
| 40 |
exec "$@"
|