From 197773c346c3c7aceaf178d5720a573acadd51c8 Mon Sep 17 00:00:00 2001 From: henryruhs Date: Thu, 2 Jan 2025 22:03:48 +0100 Subject: [PATCH] Hotfix Geforce 16 series --- facefusion/execution.py | 10 +++++++++- facefusion/installer.py | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/facefusion/execution.py b/facefusion/execution.py index 6fe73a2..cf2e814 100644 --- a/facefusion/execution.py +++ b/facefusion/execution.py @@ -34,7 +34,8 @@ def create_inference_execution_providers(execution_device_id : str, execution_pr if execution_provider == 'cuda': inference_execution_providers.append((facefusion.choices.execution_provider_set.get(execution_provider), { - 'device_id': execution_device_id + 'device_id': execution_device_id, + 'cudnn_conv_algo_search': 'DEFAULT' if is_geforce_16_series() else 'EXHAUSTIVE' })) if execution_provider == 'tensorrt': inference_execution_providers.append((facefusion.choices.execution_provider_set.get(execution_provider), @@ -66,6 +67,13 @@ def create_inference_execution_providers(execution_device_id : str, execution_pr return inference_execution_providers +def is_geforce_16_series() -> bool: + execution_devices = detect_static_execution_devices() + product_names = ('GeForce GTX 1630', 'GeForce GTX 1650', 'GeForce GTX 1660') + + return any(execution_device.get('product').get('name').startswith(product_names) for execution_device in execution_devices) + + def run_nvidia_smi() -> subprocess.Popen[bytes]: commands = [ shutil.which('nvidia-smi'), '--query', '--xml-format' ] return subprocess.Popen(commands, stdout = subprocess.PIPE) diff --git a/facefusion/installer.py b/facefusion/installer.py index fbb5f1d..8bf46bf 100644 --- a/facefusion/installer.py +++ b/facefusion/installer.py @@ -89,5 +89,5 @@ def run(program : ArgumentParser) -> None: subprocess.call([ shutil.which('conda'), 'env', 'config', 'vars', 'set', 'PATH=' + os.pathsep.join(library_paths) ]) - if args.onnxruntime in [ 'rocm', 'directml' ]: + if args.onnxruntime in [ 'directml', 'rocm' ]: subprocess.call([ shutil.which('pip'), 'install', 'numpy==1.26.4', '--force-reinstall' ])