raylim commited on
Commit
c96b0f8
·
unverified ·
1 Parent(s): a15a72c

Fix invalid OMP_NUM_THREADS environment variable

Browse files

- Check for empty, zero, or negative OMP_NUM_THREADS values
- Set to reasonable default (half of CPU count, min 1, max 8)
- Prevents 'Invalid value for environment variable' error on startup
- Ensures OpenMP libraries can initialize properly

Files changed (1) hide show
  1. app.py +9 -0
app.py CHANGED
@@ -21,6 +21,15 @@ from mosaic.gradio_app import download_and_process_models
21
  from mosaic.ui import launch_gradio
22
 
23
  if __name__ == "__main__":
 
 
 
 
 
 
 
 
 
24
  # Enable HF transfer for faster downloads on Spaces
25
  os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
26
 
 
21
  from mosaic.ui import launch_gradio
22
 
23
  if __name__ == "__main__":
24
+ # Fix OMP_NUM_THREADS environment variable if invalid
25
+ omp_threads = os.environ.get("OMP_NUM_THREADS", "")
26
+ if not omp_threads or omp_threads == "0" or (omp_threads.lstrip('-').isdigit() and int(omp_threads) <= 0):
27
+ # Set to a reasonable default based on CPU count
28
+ import multiprocessing
29
+ num_cpus = multiprocessing.cpu_count()
30
+ # Use half of available CPUs, minimum 1, maximum 8 for stability
31
+ os.environ["OMP_NUM_THREADS"] = str(max(1, min(8, num_cpus // 2)))
32
+
33
  # Enable HF transfer for faster downloads on Spaces
34
  os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
35