#!/bin/bash # ========================================================================= # FIX CUDA LIBRARIES - ALMALINUX 9.6 + TESLA M60 # Risolve "Cannot dlopen some GPU libraries" # ========================================================================= set -e echo "๐Ÿ”ง FIX CUDA LIBRARIES - ALMALINUX 9.6" echo "======================================" # 1. DIAGNOSTICA STATO ATTUALE echo "๐Ÿ“‹ DIAGNOSTICA SISTEMA ATTUALE..." echo "๐ŸŽฎ Driver NVIDIA:" nvidia-smi --query-gpu=name,driver_version,memory.total --format=csv,noheader,nounits echo -e "\n๐Ÿš€ CUDA Toolkit installato:" if command -v nvcc &> /dev/null; then nvcc --version echo "โœ… NVCC trovato" else echo "โŒ NVCC non trovato" fi echo -e "\n๐Ÿ“š Librerie CUDA presenti:" echo "Controllo /usr/local/cuda..." ls -la /usr/local/ | grep cuda || echo "โŒ Nessuna directory CUDA in /usr/local/" echo -e "\nControllo /usr/lib64..." ls /usr/lib64/libcuda* 2>/dev/null || echo "โŒ libcuda non trovato in /usr/lib64/" ls /usr/lib64/libcudnn* 2>/dev/null || echo "โŒ libcudnn non trovato in /usr/lib64/" echo -e "\nControllo /usr/local/cuda/lib64..." if [ -d "/usr/local/cuda/lib64" ]; then ls /usr/local/cuda/lib64/libcuda* 2>/dev/null || echo "โŒ libcuda non trovato in CUDA lib64" ls /usr/local/cuda/lib64/libcudnn* 2>/dev/null || echo "โŒ libcudnn non trovato in CUDA lib64" else echo "โŒ Directory /usr/local/cuda/lib64 non trovata" fi # 2. INSTALLAZIONE CUDA TOOLKIT COMPLETO echo -e "\n๐Ÿš€ INSTALLAZIONE CUDA TOOLKIT COMPLETO..." # Rimuovi installazioni parziali sudo dnf remove -y 'cuda*' 'nvidia-*' --exclude='nvidia-driver*,xorg-x11-drv-nvidia*' 2>/dev/null || true # Reinstalla CUDA Toolkit completo compatibile con driver 550 echo "Installazione CUDA 12.2 (compatibile con driver 550.144.03)..." sudo dnf install -y cuda-toolkit-12-2 --exclude="nvidia-driver*,xorg-x11-drv-nvidia*,nvidia-modprobe,nvidia-persistenced,nvidia-settings" # Verifica installazione echo -e "\nโœ… Verifica installazione CUDA..." if [ -d "/usr/local/cuda-12.2" ]; then echo "โœ… CUDA 12.2 installato in /usr/local/cuda-12.2" ls -la /usr/local/cuda-12.2/lib64/ | head -10 else echo "โŒ CUDA 12.2 non trovato - provo versione alternativa" sudo dnf install -y cuda-toolkit-12-1 --exclude="nvidia-driver*,xorg-x11-drv-nvidia*,nvidia-modprobe,nvidia-persistenced,nvidia-settings" fi # 3. CONFIGURAZIONE SYMLINK CUDA echo -e "\n๐Ÿ”— Configurazione symlink CUDA..." sudo rm -f /usr/local/cuda if [ -d "/usr/local/cuda-12.2" ]; then sudo ln -sf /usr/local/cuda-12.2 /usr/local/cuda CUDA_VERSION="12.2" elif [ -d "/usr/local/cuda-12.1" ]; then sudo ln -sf /usr/local/cuda-12.1 /usr/local/cuda CUDA_VERSION="12.1" else echo "โŒ Nessuna versione CUDA trovata" exit 1 fi echo "โœ… Symlink creato: /usr/local/cuda -> /usr/local/cuda-$CUDA_VERSION" # 4. CONFIGURAZIONE VARIABILI AMBIENTE echo -e "\n๐ŸŒ Configurazione variabili ambiente..." sudo tee /etc/profile.d/cuda.sh </dev/null || true # Installa versione compatibile if [ "$CUDA_VERSION" = "12.2" ]; then pip3 install tensorflow[and-cuda]==2.16.* else pip3 install tensorflow[and-cuda]==2.15.* fi # 8. TEST FINALE echo -e "\n๐Ÿงช TEST CONFIGURAZIONE FINALE..." echo "๐Ÿ“‹ Verifica librerie:" echo "CUDA_HOME: $CUDA_HOME" echo "LD_LIBRARY_PATH: $LD_LIBRARY_PATH" echo -e "\nLibrerie presenti:" ls -la /usr/local/cuda/lib64/libcuda* 2>/dev/null || echo "โŒ libcuda non trovato" ls -la /usr/local/cuda/lib64/libcudnn* 2>/dev/null || echo "โŒ libcudnn non trovato" echo -e "\nTest nvcc:" nvcc --version echo -e "\nTest nvidia-smi:" nvidia-smi echo -e "\n๐ŸŽฏ TEST TENSORFLOW GPU:" python3 -c " import tensorflow as tf print('TensorFlow version:', tf.__version__) print('CUDA built:', tf.test.is_built_with_cuda()) gpus = tf.config.list_physical_devices('GPU') print('GPU devices:', len(gpus)) if gpus: print('GPU found:', gpus[0]) try: with tf.device('/GPU:0'): a = tf.constant([1.0, 2.0]) b = tf.constant([3.0, 4.0]) c = tf.add(a, b) print('โœ… GPU test successful:', c.numpy()) except Exception as e: print('โŒ GPU test failed:', e) else: print('โŒ No GPU devices found') " echo -e "\nโœ… CONFIGURAZIONE COMPLETATA!" echo "=============================" if [ "$CUDNN_INSTALLED" = true ]; then echo "โœ… CUDA Toolkit: Installato" echo "โœ… cuDNN: Installato" echo "๐Ÿš€ Sistema pronto per DDoS Detection v04 GPU" else echo "โœ… CUDA Toolkit: Installato" echo "โš ๏ธ cuDNN: Installazione manuale necessaria" echo "๐Ÿ”„ Rilanciare script dopo download cuDNN" fi echo -e "\n๐ŸŽฏ COMANDI PROSSIMI:" echo "source /etc/profile.d/cuda.sh" echo "python3 analisys_04.py --max-records 1000000 --memory-optimize" echo "python3 detect_multi_04.py --advanced --batch-size 2000"