File size: 1,741 Bytes
270fc4d
5f7901d
 
270fc4d
5f7901d
270fc4d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5f7901d
270fc4d
 
 
 
 
5f7901d
270fc4d
 
 
 
5f7901d
270fc4d
5f7901d
270fc4d
 
 
 
 
 
5f7901d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash
set -e

echo "🚀 ADUC-SDR Entrypoint: Configurando o ambiente de execução..."

# --- Configuração de Performance (CPU & GPU) ---
NUM_VCPUS=$(nproc)
NUM_GPUS=$(nvidia-smi --query-gpu=count --format=csv,noheader | head -n 1 || echo 0)
echo "   > Hardware: ${NUM_VCPUS} vCPUs, ${NUM_GPUS} GPUs"
if [[ ${NUM_GPUS} -gt 0 ]]; then
    VCPUS_PER_GPU=$((NUM_VCPUS / NUM_GPUS))
    THREADS_PER_PROCESS=$((VCPUS_PER_GPU / 2))
else
    THREADS_PER_PROCESS=$((NUM_VCPUS / 2))
fi
MIN_THREADS=4; MAX_THREADS=16
if [[ ${THREADS_PER_PROCESS} -lt ${MIN_THREADS} ]]; then THREADS_PER_PROCESS=${MIN_THREADS}; fi
if [[ ${THREADS_PER_PROCESS} -gt ${MAX_THREADS} ]]; then THREADS_PER_PROCESS=${MAX_THREADS}; fi
export OMP_NUM_THREADS=${OMP_NUM_THREADS:-${THREADS_PER_PROCESS}}
export MKL_NUM_THREADS=${MKL_NUM_THREADS:-${THREADS_PER_PROCESS}}
export MAX_JOBS=${MAX_JOBS:-${NUM_VCPUS}}
export PYTORCH_CUDA_ALLOC_CONF=${PYTORCH_CUDA_ALLOC_CONF:-"max_split_size_mb:512"}
export NVIDIA_TF32_OVERRIDE=${NVIDIA_TF32_OVERRIDE:-1}

# --- Configuração de Depuração e Logging ---
export ADUC_LOG_LEVEL=${ADUC_LOG_LEVEL:-"INFO"}
export CUDA_LAUNCH_BLOCKING=${CUDA_LAUNCH_BLOCKING:-0}
export PYTHONFAULTHANDLER=1
export GRADIO_DEBUG=${GRADIO_DEBUG:-"False"}

echo "   > Performance: OMP_NUM_THREADS=${OMP_NUM_THREADS}, MKL_NUM_THREADS=${MKL_NUM_THREADS}"
echo "   > Depuração: ADUC_LOG_LEVEL=${ADUC_LOG_LEVEL}, CUDA_LAUNCH_BLOCKING=${CUDA_LAUNCH_BLOCKING}"
echo ""
echo ""

#/bin/bash /app/info.sh

# --- Setup de Dependências ---
echo "   > Verificando dependências com setup.py..."
python3 /app/setup.py

echo "---------------------------------------------------------"
echo "🔥 Ambiente configurado. Iniciando o comando principal: $@"
exec "$@"