caarleexx commited on
Commit
50d5210
·
verified ·
1 Parent(s): 494cd58

Create chmod +x /app/compile_flash.sh

Browse files
Files changed (1) hide show
  1. chmod +x /app/compile_flash.sh +51 -0
chmod +x /app/compile_flash.sh ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ echo "🔧 [Aduc-SDR] Compilador Persistente de FlashAttention"
5
+ echo "------------------------------------------------------"
6
+
7
+ # Diretório onde os wheels serão salvos
8
+ WHEEL_DIR="/data/wheel"
9
+ mkdir -p "$WHEEL_DIR"
10
+
11
+ # Busca se já existe wheel compilado
12
+ FLASH_WHL=$(find "$WHEEL_DIR" -name "flash_attn-*.whl" | head -n 1)
13
+
14
+ if [[ -f "$FLASH_WHL" ]]; then
15
+ echo "📦 Wheel já encontrado: $FLASH_WHL"
16
+ echo "✅ Nenhuma compilação necessária."
17
+ exit 0
18
+ fi
19
+
20
+ echo "⚙️ Nenhum wheel encontrado — iniciando compilação controlada..."
21
+ echo " > Limitando threads e desativando CUDA para reduzir uso de memória."
22
+
23
+ # Define limites e flags para compilar de forma segura
24
+ export MAX_JOBS=2
25
+ export OMP_NUM_THREADS=2
26
+ export USE_FLASH_ATTENTION_WITH_CUDA=0
27
+ export FORCE_CUDA=0
28
+ export CUDA_VISIBLE_DEVICES=""
29
+ export TORCH_CUDA_ARCH_LIST="8.9"
30
+ export PYTORCH_CUDA_ALLOC_CONF="max_split_size_mb:128"
31
+
32
+ # Tenta compilar o wheel
33
+ echo "🚧 Compilando wheel flash-attn==2.8.3..."
34
+ pip wheel flash-attn==2.8.3 --no-build-isolation -w "$WHEEL_DIR" || {
35
+ echo "⚠️ Falha no build padrão — tentando modo CPU-only..."
36
+ pip wheel flash-attn==2.8.3 --no-build-isolation -w "$WHEEL_DIR" --config-settings="--build-option=--cpu-only"
37
+ }
38
+
39
+ # Verifica se a compilação gerou o arquivo
40
+ FLASH_WHL=$(find "$WHEEL_DIR" -name "flash_attn-*.whl" | head -n 1)
41
+
42
+ if [[ -f "$FLASH_WHL" ]]; then
43
+ echo "✅ Wheel gerado com sucesso: $FLASH_WHL"
44
+ echo "📁 Salvo em: $WHEEL_DIR"
45
+ echo "📦 Instalando wheel local..."
46
+ pip install --no-cache-dir "$FLASH_WHL"
47
+ echo "✨ FlashAttention pronto e persistente."
48
+ else
49
+ echo "❌ Falha ao gerar wheel FlashAttention. Abortando."
50
+ exit 1
51
+ fi