Spaces:
Paused
Paused
| # ============================================================================= | |
| # START.SH - Complete AI Video Suite (Production Ready) | |
| # ============================================================================= | |
| set -euo pipefail | |
| python3 -c " | |
| import os | |
| import subprocess | |
| import tempfile | |
| import os | |
| import sys | |
| import shutil | |
| from pathlib import Path | |
| #os.system(\"pip install --upgrade --pre --extra-index-url https://download.pytorch.org/whl/nightly/cu12 'torch<2.9' spaces\") | |
| " | |
| # ============================================================================= | |
| # GLOBAL VARIABLE INITIALIZATION | |
| # ============================================================================= | |
| # Initialize critical variables with default values | |
| export GPU_COUNT=0 | |
| export GPU_MODEL="Unknown" | |
| export GPU_MEMORY=0 | |
| export GPU_ARCH="CPU" | |
| export HAS_GPU=false | |
| export IS_OPTIMIZED_GPU=false | |
| export CPU_CORES=1 | |
| export TOTAL_RAM="0G" | |
| export AVAILABLE_RAM="0G" | |
| export DISK_SPACE="unknown" | |
| # TERM variable fix | |
| export TERM="${TERM:-xterm-256color}" | |
| # Diretório do installer | |
| INSTALLER_DIR="/app/installer" | |
| # ============================================================================= | |
| # BANNER E INFORMAÇÕES | |
| # ============================================================================= | |
| print_banner() { | |
| clear || true | |
| echo "==================================================================" | |
| echo " 🚀 Aduc-sdr firmware" | |
| echo " ⚡ Multi-GPU Video Generation Suite" | |
| echo " 🎬 LTX FP8 | Q8 Kernels | SeedVR | Wan2.2 | VINCIE | MMAudio" | |
| echo "==================================================================" | |
| echo "" | |
| } | |
| detect_hardware() { | |
| log_info "🔍 Detectando hardware do sistema..." | |
| # CPU Info (export as global variables) | |
| export CPU_CORES=$(nproc) | |
| export CPU_MODEL=$(grep "model name" /proc/cpuinfo | head -1 | cut -d: -f2 | xargs) | |
| # Memory Info | |
| export TOTAL_RAM=$(free -h | awk '/^Mem:/ {print $2}') | |
| export AVAILABLE_RAM=$(free -h | awk '/^Mem:/ {print $7}') | |
| # GPU Detection | |
| if command -v nvidia-smi >/dev/null 2>&1; then | |
| export GPU_COUNT=$(nvidia-smi --list-gpus | wc -l) | |
| export GPU_MODEL=$(nvidia-smi --query-gpu=name --format=csv,noheader,nounits | head -1) | |
| export GPU_MEMORY=$(nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits | head -1) | |
| # Detect specific GPU architecture | |
| if echo "$GPU_MODEL" | grep -q "L40S"; then | |
| export GPU_ARCH="ADA_LOVELACE" | |
| export COMPUTE_CAP="8.9" | |
| export IS_OPTIMIZED_GPU=true | |
| elif echo "$GPU_MODEL" | grep -q "A100"; then | |
| export GPU_ARCH="AMPERE" | |
| export COMPUTE_CAP="8.0" | |
| export IS_OPTIMIZED_GPU=true | |
| elif echo "$GPU_MODEL" | grep -q "H100"; then | |
| export GPU_ARCH="HOPPER" | |
| export COMPUTE_CAP="9.0" | |
| export IS_OPTIMIZED_GPU=true | |
| else | |
| export GPU_ARCH="OTHER" | |
| export COMPUTE_CAP="unknown" | |
| export IS_OPTIMIZED_GPU=false | |
| fi | |
| export HAS_GPU=true | |
| else | |
| export GPU_COUNT=0 | |
| export GPU_MODEL="None" | |
| export GPU_MEMORY=0 | |
| export GPU_ARCH="CPU" | |
| export HAS_GPU=false | |
| export IS_OPTIMIZED_GPU=false | |
| fi | |
| # Storage Info | |
| export DISK_SPACE=$(df -h /app 2>/dev/null | awk 'NR==2 {print $4}' || echo "unknown") | |
| log_info "Hardware detectado:" | |
| log_info " 🖥️ CPU: $CPU_MODEL ($CPU_CORES cores)" | |
| log_info " 💾 RAM: $AVAILABLE_RAM / $TOTAL_RAM disponível" | |
| log_info " 🎮 GPU: $GPU_MODEL x$GPU_COUNT" | |
| log_info " 🏗️ Arquitetura: $GPU_ARCH (CC: $COMPUTE_CAP)" | |
| log_info " 💿 Disco: $DISK_SPACE disponível" | |
| if [[ "$IS_OPTIMIZED_GPU" == "true" ]]; then | |
| log_success "GPU otimizada detectada - performance máxima disponível!" | |
| fi | |
| } | |
| load_installer_modules() { | |
| log_info "📦 Carregando módulos do installer..." | |
| local modules=( | |
| "utils.sh" | |
| "setup_env.sh" | |
| "check_gpu.sh" | |
| "multi_gpu_config.sh" | |
| ) | |
| for module in "${modules[@]}"; do | |
| local module_path="$INSTALLER_DIR/$module" | |
| if [[ -f "$module_path" ]]; then | |
| # shellcheck source=/dev/null | |
| source "$module_path" | |
| log_debug "Módulo carregado: $module" | |
| else | |
| log_warning "Módulo não encontrado: $module_path" | |
| fi | |
| done | |
| log_success "Módulos do installer carregados" | |
| } | |
| start_application() { | |
| log_info "🚀 Iniciando Complete AI Video Suite..." | |
| # Preparar argumentos da aplicação | |
| local app_args=() | |
| if [[ "$LISTEN" == "true" ]]; then | |
| app_args+=("--listen") | |
| fi | |
| if [[ "$SHARE" == "true" ]]; then | |
| app_args+=("--share") | |
| fi | |
| app_args+=("--port" "$PORT") | |
| if [[ "$MULTI_GPU" == "true" ]]; then | |
| app_args+=("--multi-gpu" "--gpus" "$NUM_GPUS") | |
| fi | |
| if [[ "$DEBUG_MODE" == "true" ]]; then | |
| app_args+=("--debug") | |
| fi | |
| if [[ "$PROFILE" == "true" ]]; then | |
| app_args+=("--profile") | |
| fi | |
| # Configurar variáveis de ambiente para a aplicação | |
| export AI_SUITE_MULTI_GPU="$MULTI_GPU" | |
| export AI_SUITE_NUM_GPUS="$NUM_GPUS" | |
| export AI_SUITE_DEBUG="$DEBUG_MODE" | |
| export AI_SUITE_PROFILE="$PROFILE" | |
| # Logs finais | |
| echo "" | |
| log_success "==================================================================" | |
| log_success "🎬 Complete Video Suite Ready!" | |
| log_success "==================================================================" | |
| log_info "🌐 Servidor: http://$HOST:$PORT" | |
| log_info "🎮 GPUs: $GPU_COUNT x $GPU_MODEL" | |
| log_info "⚡ Multi-GPU: $MULTI_GPU" | |
| log_info "🚀 Otimizado: $OPTIMIZE" | |
| log_info "📊 Profiling: $PROFILE" | |
| echo "🚀 Iniciando app.py..." | |
| python3 /app/app.py --listen --port ${PORT:-7860} | |
| if [[ "$SHARE" == "true" ]]; then | |
| log_info "🌍 Link público será exibido pelo Gradio" | |
| fi | |
| log_success "==================================================================" | |
| echo "" | |
| } | |
| start_application |