eliminate duplicated code from #5095

This commit is contained in:
AUTOMATIC 2022-11-27 13:08:54 +03:00
parent 997ac57020
commit 5b2c316890
1 changed files with 11 additions and 19 deletions

View File

@ -24,17 +24,18 @@ def extract_device_id(args, name):
return None
def get_cuda_device_string():
from modules import shared
if shared.cmd_opts.device_id is not None:
return f"cuda:{shared.cmd_opts.device_id}"
return "cuda"
def get_optimal_device():
if torch.cuda.is_available():
from modules import shared
device_id = shared.cmd_opts.device_id
if device_id is not None:
cuda_device = f"cuda:{device_id}"
return torch.device(cuda_device)
else:
return torch.device("cuda")
return torch.device(get_cuda_device_string())
if has_mps():
return torch.device("mps")
@ -44,16 +45,7 @@ def get_optimal_device():
def torch_gc():
if torch.cuda.is_available():
from modules import shared
device_id = shared.cmd_opts.device_id
if device_id is not None:
cuda_device = f"cuda:{device_id}"
else:
cuda_device = "cuda"
with torch.cuda.device(cuda_device):
with torch.cuda.device(get_cuda_device_string()):
torch.cuda.empty_cache()
torch.cuda.ipc_collect()