diff --git a/scripts/rocm/rocm_mgr.py b/scripts/rocm/rocm_mgr.py index af07396a3..f517a7452 100644 --- a/scripts/rocm/rocm_mgr.py +++ b/scripts/rocm/rocm_mgr.py @@ -11,24 +11,13 @@ from scripts.rocm import rocm_profiles # pylint: disable=no-name-in-module def _check_rocm() -> bool: - try: - from modules import shared - if getattr(shared.cmd_opts, 'use_rocm', False): - return True - except Exception: - pass - try: - if installer.torch_info.get('type') == 'rocm': - return True - except Exception: - pass - try: - import torch - if hasattr(torch.version, 'hip') and torch.version.hip is not None: - return True - except Exception: - pass - return False + from modules import shared + if getattr(shared.cmd_opts, 'use_rocm', False): + return True + if installer.torch_info.get('type') == 'rocm': + return True + import torch # pylint: disable=import-outside-toplevel + return hasattr(torch.version, 'hip') and torch.version.hip is not None is_rocm = _check_rocm() diff --git a/scripts/rocm_ext.py b/scripts/rocm_ext.py index 9b514fba9..6cd664fbf 100644 --- a/scripts/rocm_ext.py +++ b/scripts/rocm_ext.py @@ -13,38 +13,35 @@ class Script(scripts_manager.Script): return False def ui(self, _is_img2img): - from scripts.rocm import rocm_mgr, rocm_vars # pylint: disable=no-name-in-module - if not shared.cmd_opts.use_rocm and not installer.torch_info.get('type') == 'rocm': # skip ui creation if not rocm - with gr.Accordion('ROCm: Advanced Config', open=False, elem_id='rocm_config'): - gr.HTML("
ROCm is not installed. This section is disabled.
") return [] + from scripts.rocm import rocm_mgr, rocm_vars # pylint: disable=no-name-in-module + config = rocm_mgr.load_config() var_names = [] components = [] def _make_component(name, meta, cfg): val = cfg.get(name, meta["default"]) - if meta["widget"] == "checkbox": + widget = meta["widget"] + if widget == "checkbox": dtype_tag = meta.get("dtype") label = f"[{dtype_tag}] {meta['desc']}" if dtype_tag else meta["desc"] return gr.Checkbox(label=label, value=(val == "1"), elem_id=f"rocm_var_{name.lower()}") - elif meta["widget"] == "dropdown": + if widget == "dropdown": choices = rocm_mgr._dropdown_choices(meta["options"]) display = rocm_mgr._dropdown_display(val, meta["options"]) return gr.Dropdown(label=meta["desc"], choices=choices, value=display, elem_id=f"rocm_var_{name.lower()}") - else: # textbox - return gr.Textbox(label=meta["desc"], value=rocm_mgr._expand_venv(val), lines=1) + return gr.Textbox(label=meta["desc"], value=rocm_mgr._expand_venv(val), lines=1) def _info_html(): d = rocm_mgr.info() - ts = "" rows = [] def section(title): - rows.append(f"Advanced configuration for ROCm users.
Set your database and solver selections based on GPU profile or individually.
Enable cuDNN in Backend Settings to activate MIOpen.
") with gr.Row(): btn_info = gr.Button("Refresh Info", variant="primary", elem_id="rocm_btn_info", size="sm") - btn_apply = gr.Button("Apply", elem_id="rocm_btn_apply", size="sm") + btn_apply = gr.Button("Apply", variant="primary", elem_id="rocm_btn_apply", size="sm") btn_reset = gr.Button("Defaults", elem_id="rocm_btn_reset", size="sm") - btn_clear = gr.Button("Clear vEnv", elem_id="rocm_btn_clear", size="sm") - btn_delete = gr.Button("Delete UserDb", elem_id="rocm_btn_delete", size="sm") + btn_clear = gr.Button("Clear Run Vars", elem_id="rocm_btn_clear", size="sm") + btn_delete = gr.Button("Delete UserDb", variant="stop", elem_id="rocm_btn_delete", size="sm") with gr.Row(): btn_rdna2 = gr.Button("RDNA2 (RX 6000)", elem_id="rocm_btn_rdna2") btn_rdna3 = gr.Button("RDNA3 (RX 7000)", elem_id="rocm_btn_rdna3")