HongzeFu commited on
Commit
31ade5b
·
1 Parent(s): 039d8b3

cpu docker fix v1

Browse files
docker-entrypoint.sh CHANGED
@@ -7,8 +7,8 @@ fi
7
 
8
  export CUDA_VISIBLE_DEVICES=-1
9
  export NVIDIA_VISIBLE_DEVICES=void
10
- export SAPIEN_RENDER_DEVICE=cpu
11
  unset NVIDIA_DRIVER_CAPABILITIES
 
12
  unset MUJOCO_GL
13
  if [ -z "${VK_ICD_FILENAMES:-}" ] && [ -f /usr/share/vulkan/icd.d/lvp_icd.x86_64.json ]; then
14
  export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/lvp_icd.x86_64.json
@@ -18,6 +18,6 @@ echo "[entrypoint] Starting RoboMME Gradio app in CPU-only mode"
18
  echo "[entrypoint] OMP_NUM_THREADS=$OMP_NUM_THREADS"
19
  echo "[entrypoint] CUDA_VISIBLE_DEVICES=$CUDA_VISIBLE_DEVICES"
20
  echo "[entrypoint] NVIDIA_VISIBLE_DEVICES=$NVIDIA_VISIBLE_DEVICES"
21
- echo "[entrypoint] SAPIEN_RENDER_DEVICE=$SAPIEN_RENDER_DEVICE"
22
  echo "[entrypoint] VK_ICD_FILENAMES=${VK_ICD_FILENAMES:-<unset>}"
23
  exec "$@"
 
7
 
8
  export CUDA_VISIBLE_DEVICES=-1
9
  export NVIDIA_VISIBLE_DEVICES=void
 
10
  unset NVIDIA_DRIVER_CAPABILITIES
11
+ unset SAPIEN_RENDER_DEVICE
12
  unset MUJOCO_GL
13
  if [ -z "${VK_ICD_FILENAMES:-}" ] && [ -f /usr/share/vulkan/icd.d/lvp_icd.x86_64.json ]; then
14
  export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/lvp_icd.x86_64.json
 
18
  echo "[entrypoint] OMP_NUM_THREADS=$OMP_NUM_THREADS"
19
  echo "[entrypoint] CUDA_VISIBLE_DEVICES=$CUDA_VISIBLE_DEVICES"
20
  echo "[entrypoint] NVIDIA_VISIBLE_DEVICES=$NVIDIA_VISIBLE_DEVICES"
21
+ echo "[entrypoint] SAPIEN_RENDER_DEVICE=${SAPIEN_RENDER_DEVICE:-<unset>}"
22
  echo "[entrypoint] VK_ICD_FILENAMES=${VK_ICD_FILENAMES:-<unset>}"
23
  exec "$@"
gradio-web/main.py CHANGED
@@ -19,10 +19,10 @@ DEFAULT_LLVMPipe_ICD = Path("/usr/share/vulkan/icd.d/lvp_icd.x86_64.json")
19
  CPU_ONLY_ENV_OVERRIDES = {
20
  "CUDA_VISIBLE_DEVICES": "-1",
21
  "NVIDIA_VISIBLE_DEVICES": "void",
22
- "SAPIEN_RENDER_DEVICE": "cpu",
23
  }
24
  CPU_ONLY_ENV_CLEAR_KEYS = (
25
  "NVIDIA_DRIVER_CAPABILITIES",
 
26
  "MUJOCO_GL",
27
  )
28
 
 
19
  CPU_ONLY_ENV_OVERRIDES = {
20
  "CUDA_VISIBLE_DEVICES": "-1",
21
  "NVIDIA_VISIBLE_DEVICES": "void",
 
22
  }
23
  CPU_ONLY_ENV_CLEAR_KEYS = (
24
  "NVIDIA_DRIVER_CAPABILITIES",
25
+ "SAPIEN_RENDER_DEVICE",
26
  "MUJOCO_GL",
27
  )
28
 
gradio-web/minimal_robomme_env_cpu_step.py CHANGED
@@ -26,8 +26,8 @@ if str(SRC_DIR) not in sys.path:
26
  def configure_cpu_only_runtime() -> None:
27
  os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
28
  os.environ["NVIDIA_VISIBLE_DEVICES"] = "void"
29
- os.environ["SAPIEN_RENDER_DEVICE"] = "cpu"
30
  os.environ.pop("NVIDIA_DRIVER_CAPABILITIES", None)
 
31
  os.environ.pop("MUJOCO_GL", None)
32
  if "VK_ICD_FILENAMES" not in os.environ:
33
  lvp_icd = Path("/usr/share/vulkan/icd.d/lvp_icd.x86_64.json")
 
26
  def configure_cpu_only_runtime() -> None:
27
  os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
28
  os.environ["NVIDIA_VISIBLE_DEVICES"] = "void"
 
29
  os.environ.pop("NVIDIA_DRIVER_CAPABILITIES", None)
30
+ os.environ.pop("SAPIEN_RENDER_DEVICE", None)
31
  os.environ.pop("MUJOCO_GL", None)
32
  if "VK_ICD_FILENAMES" not in os.environ:
33
  lvp_icd = Path("/usr/share/vulkan/icd.d/lvp_icd.x86_64.json")
gradio-web/test/test_main_launch_config.py CHANGED
@@ -54,9 +54,9 @@ def test_main_launch_passes_ui_css_and_forces_cpu_runtime(monkeypatch, reload_mo
54
  assert fake_demo.launch_kwargs["head"] == fake_demo.head
55
  assert os.environ["CUDA_VISIBLE_DEVICES"] == "-1"
56
  assert os.environ["NVIDIA_VISIBLE_DEVICES"] == "void"
57
- assert os.environ["SAPIEN_RENDER_DEVICE"] == "cpu"
58
  assert os.environ["VK_ICD_FILENAMES"] == "/tmp/another_nvidia_icd.json"
59
  assert "NVIDIA_DRIVER_CAPABILITIES" not in os.environ
 
60
  assert "MUJOCO_GL" not in os.environ
61
 
62
 
@@ -83,9 +83,9 @@ def test_configure_cpu_only_runtime_autosets_llvmpipe_icd(monkeypatch, reload_mo
83
 
84
  assert os.environ["CUDA_VISIBLE_DEVICES"] == "-1"
85
  assert os.environ["NVIDIA_VISIBLE_DEVICES"] == "void"
86
- assert os.environ["SAPIEN_RENDER_DEVICE"] == "cpu"
87
  assert os.environ["VK_ICD_FILENAMES"] == DEFAULT_LLVMPipe_ICD
88
  assert "NVIDIA_DRIVER_CAPABILITIES" not in os.environ
 
89
  assert "MUJOCO_GL" not in os.environ
90
 
91
 
@@ -109,7 +109,22 @@ def test_configure_cpu_only_runtime_preserves_existing_vk_icd(monkeypatch, reloa
109
 
110
  assert os.environ["CUDA_VISIBLE_DEVICES"] == "-1"
111
  assert os.environ["NVIDIA_VISIBLE_DEVICES"] == "void"
112
- assert os.environ["SAPIEN_RENDER_DEVICE"] == "cpu"
113
  assert os.environ["VK_ICD_FILENAMES"] == "/tmp/preserved_icd.json"
114
  assert "NVIDIA_DRIVER_CAPABILITIES" not in os.environ
 
115
  assert "MUJOCO_GL" not in os.environ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  assert fake_demo.launch_kwargs["head"] == fake_demo.head
55
  assert os.environ["CUDA_VISIBLE_DEVICES"] == "-1"
56
  assert os.environ["NVIDIA_VISIBLE_DEVICES"] == "void"
 
57
  assert os.environ["VK_ICD_FILENAMES"] == "/tmp/another_nvidia_icd.json"
58
  assert "NVIDIA_DRIVER_CAPABILITIES" not in os.environ
59
+ assert "SAPIEN_RENDER_DEVICE" not in os.environ
60
  assert "MUJOCO_GL" not in os.environ
61
 
62
 
 
83
 
84
  assert os.environ["CUDA_VISIBLE_DEVICES"] == "-1"
85
  assert os.environ["NVIDIA_VISIBLE_DEVICES"] == "void"
 
86
  assert os.environ["VK_ICD_FILENAMES"] == DEFAULT_LLVMPipe_ICD
87
  assert "NVIDIA_DRIVER_CAPABILITIES" not in os.environ
88
+ assert "SAPIEN_RENDER_DEVICE" not in os.environ
89
  assert "MUJOCO_GL" not in os.environ
90
 
91
 
 
109
 
110
  assert os.environ["CUDA_VISIBLE_DEVICES"] == "-1"
111
  assert os.environ["NVIDIA_VISIBLE_DEVICES"] == "void"
 
112
  assert os.environ["VK_ICD_FILENAMES"] == "/tmp/preserved_icd.json"
113
  assert "NVIDIA_DRIVER_CAPABILITIES" not in os.environ
114
+ assert "SAPIEN_RENDER_DEVICE" not in os.environ
115
  assert "MUJOCO_GL" not in os.environ
116
+
117
+
118
+ def test_configure_cpu_only_runtime_clears_stale_sapien_render_device(monkeypatch, reload_module):
119
+ monkeypatch.setenv("SAPIEN_RENDER_DEVICE", "cpu")
120
+ monkeypatch.setenv("CUDA_VISIBLE_DEVICES", "7")
121
+ monkeypatch.setenv("NVIDIA_VISIBLE_DEVICES", "all")
122
+
123
+ main = reload_module("main")
124
+ monkeypatch.setenv("SAPIEN_RENDER_DEVICE", "cuda:0")
125
+
126
+ main.configure_cpu_only_runtime()
127
+
128
+ assert os.environ["CUDA_VISIBLE_DEVICES"] == "-1"
129
+ assert os.environ["NVIDIA_VISIBLE_DEVICES"] == "void"
130
+ assert "SAPIEN_RENDER_DEVICE" not in os.environ
human_readme.md CHANGED
@@ -155,7 +155,7 @@ A2: This Docker image is configured for CPU-only execution and should not rely o
155
  ```python
156
  os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
157
  os.environ['NVIDIA_VISIBLE_DEVICES'] = 'void'
158
- os.environ['SAPIEN_RENDER_DEVICE'] = 'cpu'
159
  os.environ.pop('NVIDIA_DRIVER_CAPABILITIES', None)
160
  os.environ.pop('MUJOCO_GL', None)
161
  os.environ.setdefault('VK_ICD_FILENAMES', '/usr/share/vulkan/icd.d/lvp_icd.x86_64.json')
 
155
  ```python
156
  os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
157
  os.environ['NVIDIA_VISIBLE_DEVICES'] = 'void'
158
+ os.environ.pop('SAPIEN_RENDER_DEVICE', None)
159
  os.environ.pop('NVIDIA_DRIVER_CAPABILITIES', None)
160
  os.environ.pop('MUJOCO_GL', None)
161
  os.environ.setdefault('VK_ICD_FILENAMES', '/usr/share/vulkan/icd.d/lvp_icd.x86_64.json')