eeuuia commited on
Commit
f1cdfeb
·
verified ·
1 Parent(s): c4db7b7

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +32 -8
entrypoint.sh CHANGED
@@ -1,16 +1,40 @@
1
  #!/bin/bash
2
  set -e
3
 
4
- echo "🚀 ADUC-SDR Entrypoint: Verificando ambiente..."
5
 
6
- # Passo 1: Executa o script de setup para garantir que repositórios e modelos existem.
7
- # O setup.py é inteligente e pulará downloads se os arquivos já existirem no volume /data.
8
- echo " > Executando setup.py para clonar repositórios e baixar modelos (apenas se necessário)..."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 "$@"