Skip to content

Commit 3be384d

Browse files
FIX: Compute num_workers using (file_size_gb*3)/free_ram_gb in ./wgangp.py
1 parent aa1675b commit 3be384d

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

wgangp.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,17 +1622,23 @@ def adjust_num_workers_for_file(csv_path: str, suggested_workers: int, config: O
16221622
print(f"[DEBUG] Detected free RAM: {free_ram_gb:.4f} GB") # Log detected available RAM
16231623
print(f"[DEBUG] Original suggested num_workers: {suggested_workers}") # Log original suggestion
16241624

1625-
if free_ram_gb <= 0.0: # If available RAM cannot be determined
1626-
print("[WARNING] Free RAM detected as 0 GB; forcing num_workers=0") # Warn
1627-
final = 0 # Disable workers to avoid crash
1628-
else:
1629-
computed = (file_size_gb * 3.0) / free_ram_gb # Core formula
1630-
final = int(max(0, computed)) # Ensure non-negative integer
1625+
computed = None
1626+
if file_size_gb <= 0.0: # If file size cannot be determined or is zero
1627+
print("[WARNING] File size detected as 0 GB; keeping suggested num_workers")
1628+
final = max(0, int(suggested_workers))
1629+
else: # Otherwise, compute num_workers based on file size and free RAM
1630+
computed = (free_ram_gb * 3.0) / file_size_gb # Updated formula: free_ram numerator
1631+
try: # Attempt to convert computed value to float for proper scaling
1632+
computed_val = float(computed)
1633+
except Exception:
1634+
computed_val = float(int(suggested_workers))
1635+
computed = computed_val
1636+
final = int(max(0, computed_val)) # Ensure non-negative integer
16311637

16321638
cpu_count = os.cpu_count() or 1 # Detect CPU count safely
16331639
final = min(final, cpu_count) # Do not exceed logical CPUs
16341640

1635-
print(f"[DEBUG] Computed num_workers (formula result): {final}") # Log computed value
1641+
print(f"[DEBUG] Computed num_workers (formula result): {final} (computed={computed if computed is not None else 'N/A'})") # Log computed value
16361642

16371643
try: # Notify via Telegram (non-blocking)
16381644
send_telegram_message(

0 commit comments

Comments
 (0)