Harshith Reddy commited on
Commit
29b978c
·
1 Parent(s): 077e761

Add Python Space detection and nvcc check - warn user to switch to Docker Space for CUDA extensions

Browse files
Files changed (2) hide show
  1. app.py +11 -0
  2. postBuild +9 -0
app.py CHANGED
@@ -22,6 +22,17 @@ def log_startup_health():
22
  print("STARTUP HEALTH CHECK")
23
  print("=" * 60)
24
  import torch
 
 
 
 
 
 
 
 
 
 
 
25
 
26
  if torch.cuda.is_available():
27
  import config
 
22
  print("STARTUP HEALTH CHECK")
23
  print("=" * 60)
24
  import torch
25
+ import os
26
+
27
+ is_docker = os.path.exists('/.dockerenv') or os.path.exists('/proc/self/cgroup') and 'docker' in open('/proc/self/cgroup').read()
28
+ is_python_space = '/home/user/.pyenv' in os.environ.get('PATH', '') or os.path.exists('/home/user/.pyenv')
29
+
30
+ if is_python_space and not is_docker:
31
+ print("WARNING: Running on Python Space (managed environment)")
32
+ print("Python Spaces do NOT have CUDA toolchain (nvcc) - CUDA extensions CANNOT build")
33
+ print("ACTION REQUIRED: Switch to Docker Space in HF Settings -> Runtime -> Docker")
34
+ print("Without Docker, CUDA extensions will remain NOT INSTALLED (slow fallback)")
35
+ print("=" * 60)
36
 
37
  if torch.cuda.is_available():
38
  import config
postBuild CHANGED
@@ -8,6 +8,15 @@ echo "Note: This may fail on Python Spaces without nvcc."
8
  echo "For guaranteed success, switch to Docker Space."
9
  echo "=========================================="
10
 
 
 
 
 
 
 
 
 
 
11
  pip install pybind11 || {
12
  echo "WARNING: pybind11 installation failed"
13
  }
 
8
  echo "For guaranteed success, switch to Docker Space."
9
  echo "=========================================="
10
 
11
+ if ! command -v nvcc &> /dev/null; then
12
+ echo "ERROR: nvcc (CUDA compiler) not found!"
13
+ echo "Python Spaces do not provide CUDA toolchain."
14
+ echo "ACTION REQUIRED: Switch to Docker Space in HF Settings -> Runtime -> Docker"
15
+ echo "Docker Space includes nvcc and can build CUDA extensions."
16
+ exit 1
17
+ fi
18
+
19
+ echo "nvcc found: $(nvcc --version | head -n 1)"
20
  pip install pybind11 || {
21
  echo "WARNING: pybind11 installation failed"
22
  }