stable-diffusion-webui
31 строка · 649.0 Байт
1import importlib2import torch3
4from modules import shared5
6
7def check_for_npu():8if importlib.util.find_spec("torch_npu") is None:9return False10import torch_npu11
12try:13# Will raise a RuntimeError if no NPU is found14_ = torch_npu.npu.device_count()15return torch.npu.is_available()16except RuntimeError:17return False18
19
20def get_npu_device_string():21if shared.cmd_opts.device_id is not None:22return f"npu:{shared.cmd_opts.device_id}"23return "npu:0"24
25
26def torch_npu_gc():27with torch.npu.device(get_npu_device_string()):28torch.npu.empty_cache()29
30
31has_npu = check_for_npu()32