From 40199a5244f0c2c9b45b9aa19c978bee8795d471 Mon Sep 17 00:00:00 2001 From: Rando717 Date: Mon, 8 Sep 2025 17:00:40 +0200 Subject: [PATCH 1/9] Update zluda.py (print Triton version) Added check for Triton version string, if it exists. Could be useful info for troubleshooting reports. --- comfy/customzluda/zluda.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/comfy/customzluda/zluda.py b/comfy/customzluda/zluda.py index 5716b4245..8cac667ba 100644 --- a/comfy/customzluda/zluda.py +++ b/comfy/customzluda/zluda.py @@ -431,6 +431,13 @@ try: import triton.language as tl print(" :: Triton core imported successfully") + # Get triton version, if possible, continue if no version string + try: + version = triton.__version__ + print(f" :: Detected Triton version: {version}") + except AttributeError: + print(" :: Detected Triton version: no info") + # This needs to be up here, so it can disable cudnn before anything can even think about using it torch.backends.cudnn.enabled = os.environ.get("TORCH_BACKENDS_CUDNN_ENABLED", "1").strip().lower() not in {"0", "off", "false", "disable", "disabled", "no"} if torch.backends.cudnn.enabled: From a7336ad630728bd85513870e76a402d9fe20ed9d Mon Sep 17 00:00:00 2001 From: Rando717 Date: Mon, 8 Sep 2025 17:19:03 +0200 Subject: [PATCH 2/9] Update zluda.py (MEM_BUS_WIDTH#2) Added Vega10/20 cards. Can't test, no clue if it has effect or just a placebo effect. --- comfy/customzluda/zluda.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/comfy/customzluda/zluda.py b/comfy/customzluda/zluda.py index 8cac667ba..3c71c3310 100644 --- a/comfy/customzluda/zluda.py +++ b/comfy/customzluda/zluda.py @@ -527,7 +527,10 @@ MEM_BUS_WIDTH = { "AMD Radeon RX 5500 XT": 128, "AMD Radeon RX 5500": 128, "AMD Radeon RX 5300": 96, - # AMD Radeon Pro R9000/W7000/W6000/W5000 series, Apple exclusive WX series not listed + "AMD Radeon Vega Frontier Edition": 2048, + "AMD Radeon RX Vega 64": 2048, + "AMD Radeon RX Vega 56": 2048, + "AMD Radeon RX Radeon VII": 4096, "AMD Radeon AI PRO R9700": 256, "AMD Radeon PRO W7900": 384, "AMD Radeon PRO W7800 48GB": 384, @@ -539,8 +542,9 @@ MEM_BUS_WIDTH = { "AMD Radeon PRO W6800": 256, "AMD Radeon PRO W6600": 128, "AMD Radeon PRO W6400": 64, - "AMD Radeon PRO W5700": 256, - "AMD Radeon PRO W5500": 128, + "AMD Radeon Pro W5700": 256, + "AMD Radeon Pro W5500": 128, + "AMD Radeon Pro VII": 4096, } # ------------------- Device Properties Implementation ------------------- From ddb1e3da47ea517f678d01090c429cf8c6417a19 Mon Sep 17 00:00:00 2001 From: Rando717 Date: Mon, 8 Sep 2025 17:22:41 +0200 Subject: [PATCH 3/9] Update zluda.py (typo) --- comfy/customzluda/zluda.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/customzluda/zluda.py b/comfy/customzluda/zluda.py index 3c71c3310..49f93daa5 100644 --- a/comfy/customzluda/zluda.py +++ b/comfy/customzluda/zluda.py @@ -530,7 +530,7 @@ MEM_BUS_WIDTH = { "AMD Radeon Vega Frontier Edition": 2048, "AMD Radeon RX Vega 64": 2048, "AMD Radeon RX Vega 56": 2048, - "AMD Radeon RX Radeon VII": 4096, + "AMD Radeon VII": 4096, "AMD Radeon AI PRO R9700": 256, "AMD Radeon PRO W7900": 384, "AMD Radeon PRO W7800 48GB": 384, From 675d6d8f4cc2dcc6298fe959fdd5427bb532d8a0 Mon Sep 17 00:00:00 2001 From: Rando717 Date: Mon, 8 Sep 2025 17:55:29 +0200 Subject: [PATCH 4/9] Update zluda.py (gfx gpu names) -expanded GPU gfx names -added RDNA4, RDNA3.5, ... -added missing Polaris cards to prevent 'gfx1010' and 'gfx1030' fallback -kept gfx designation mostly the same, based on available custom lib's for hip57/62 might need some post adjustments --- comfy/customzluda/zluda.py | 76 ++++++++++++++++++++++++++------------ 1 file changed, 52 insertions(+), 24 deletions(-) diff --git a/comfy/customzluda/zluda.py b/comfy/customzluda/zluda.py index 49f93daa5..46b9eb5f6 100644 --- a/comfy/customzluda/zluda.py +++ b/comfy/customzluda/zluda.py @@ -94,42 +94,70 @@ def gpu_name_to_gfx(gpu_name): """ gpu_name_lower = gpu_name.lower() + # RDNA4 (gfx12xx) + if any(x in gpu_name_lower for x in ['rx 9070', 'r9070', 'rx 9060']): + if 'rx 9060' in gpu_name_lower: + return 'gfx1200' # Navi 44 (gfx1200) + elif 'rx 9070' in gpu_name_lower or 'r9070' in gpu_name_lower: + return 'gfx1201' # Navi 48 (gfx1201) + + # RDNA3.5 (gfx115x) + elif '890m' in gpu_name_lower: + return 'gfx1150' # Strix Point (gfx1150) + elif any(x in gpu_name_lower for x in ['8060s', '8050s', '8040s', '880m']): + return 'gfx1151' # Strix Halo (gfx1151) + elif any(x in gpu_name_lower for x in ['860m', '840m', '820m']): + return 'gfx1152' # Krackan Point (gfx1152) + # RDNA3 (gfx11xx) - if any(x in gpu_name_lower for x in ['rx 7900', 'rx 7800', 'rx 7700', 'rx 7600', 'rx 7500']): - if 'rx 7900' in gpu_name_lower: - return 'gfx1100' # Navi 31 - elif 'rx 7800' in gpu_name_lower or 'rx 7700' in gpu_name_lower: - return 'gfx1101' # Navi 32 - elif 'rx 7600' in gpu_name_lower or 'rx 7500' in gpu_name_lower: - return 'gfx1102' # Navi 33 + elif any(x in gpu_name_lower for x in ['rx 7900', 'w7900', 'w7800']): + return 'gfx1100' # Navi 31 (gfx1100) + elif any(x in gpu_name_lower for x in ['rx 7800', 'rx 7700', 'w7700']): + return 'gfx1101' # Navi 32 (gfx1101) + elif any(x in gpu_name_lower for x in ['rx 7700s', 'rx 7650', 'w7600', 'rx 7600', 'w7500', 'w7400', 'rx 7400']): + return 'gfx1102' # Navi 33 (gfx1102) + elif any(x in gpu_name_lower for x in ['780m', '760m', '740m']): + return 'gfx1100' # Hawk Point (gfx1103) # RDNA2 (gfx10xx) - elif any(x in gpu_name_lower for x in ['rx 6950', 'rx 6900', 'rx 6800', 'rx 6750', 'rx 6700']): - return 'gfx1030' # Navi 21/22 - elif any(x in gpu_name_lower for x in ['rx 6650', 'rx 6600', 'rx 6500', 'rx 6400']): - return 'gfx1032' # Navi 23/24 + elif any(x in gpu_name_lower for x in ['rx 6950', 'rx 6900', 'w6800', 'rx 6800']): + return 'gfx1030' # Navi 21 (gfx1030) + elif any(x in gpu_name_lower for x in ['rx 6850', 'rx 6800m', 'rx 6750', 'rx 6700']): + return 'gfx1030' # Navi 22 (gfx1031) + elif any(x in gpu_name_lower for x in ['rx 6800s', 'rx 6700s', 'rx 6650', 'rx 6600', 'w6600', 'rx 6550', 'rx 6500', 'rx 6450', 'rx 6400', 'rx 6300']): + return 'gfx1032' # Navi 23 (gfx1032) + elif any(x in gpu_name_lower for x in ['rx 6550', 'rx 6500', 'w6500', 'rx 6450', 'rx 6400', 'w6400', 'rx 6300', 'w6300']): + return 'gfx1032' # Navi 24 (gfx1034) + elif '680m' in gpu_name_lower or '660m' in gpu_name_lower: + return 'gfx1030' # Rembrandt (gfx1035) # RDNA1 (gfx10xx) - elif any(x in gpu_name_lower for x in ['rx 5700', 'rx 5600', 'rx 5500']): - return 'gfx1010' # Navi 10 + elif any(x in gpu_name_lower for x in ['rx 5700', 'w5700', 'rx 5600']): + return 'gfx1010' # Navi 10 (gfx1010) + elif any(x in gpu_name_lower for x in ['rx 5500', 'w5500','rx 5300', 'w5300']): + return 'gfx1010' # Navi 14 (gfx1012) # Vega (gfx9xx) - elif any(x in gpu_name_lower for x in ['vega 64', 'vega 56', 'vega 20', 'radeon vii']): - return 'gfx900' # Vega 10/20 - elif 'vega 11' in gpu_name_lower or 'vega 8' in gpu_name_lower: - return 'gfx902' # Raven Ridge APU + elif any(x in gpu_name_lower for x in ['vega 64', 'vega 56', 'frontier']): + return 'gfx900' # Vega 10 (gfx900, gfx901) + elif 'radeon vii' in gpu_name_lower or 'radeon pro vii' in gpu_name_lower: + return 'gfx900' # Vega 20 (gfx906, gfx907) + elif any(x in gpu_name_lower for x in ['vega 11', 'vega 10', 'vega 9', 'vega 8', 'vega 6', 'vega 3']): + return 'gfx902' # Raven Ridge APU (gfx902, gfx903) + elif 'radeon graphics' in gpu_name_lower: # Without (tm) + return 'gfx902' # Vega APUs (gfx90c) - Barcelo, Cezanne, Lucienne, Renoir # Polaris (gfx8xx) - elif any(x in gpu_name_lower for x in ['rx 580', 'rx 570', 'rx 480', 'rx 470']): - return 'gfx803' # Polaris 10/20 - elif any(x in gpu_name_lower for x in ['rx 560', 'rx 550', 'rx 460']): - return 'gfx803' # Polaris 11/12 + elif any(x in gpu_name_lower for x in ['rx 590', 'rx 580', 'rx 570', 'rx 560', 'rx 480', 'rx 470', 'rx 460']): + return 'gfx803' # Polaris 10/11/20/21/30/31 (gfx803) + elif any(x in gpu_name_lower for x in ['rx 640', 'rx 550', 'rx 540']): + return 'gfx803' # Polaris 12/22/23 (gfx804) # Default fallback - try to extract numbers and make educated guess if 'rx 9' in gpu_name_lower: # Future RDNA4? - return 'gfx1200' # Anticipated next gen - elif 'rx 8' in gpu_name_lower: # Future RDNA4? - return 'gfx1150' # Anticipated next gen + return 'gfx1200' # Default RDNA4 + elif 'rx 8' in gpu_name_lower: # Future RDNA3.5? + return 'gfx1150' # Default RDNA3.5 elif 'rx 7' in gpu_name_lower: return 'gfx1100' # Default RDNA3 elif 'rx 6' in gpu_name_lower: From 590f46ab41afb4d53d44dd269fbdaa198241a91d Mon Sep 17 00:00:00 2001 From: Rando717 Date: Mon, 8 Sep 2025 20:31:49 +0200 Subject: [PATCH 5/9] Update zluda.py (typo) --- comfy/customzluda/zluda.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/comfy/customzluda/zluda.py b/comfy/customzluda/zluda.py index 46b9eb5f6..2d76dfa38 100644 --- a/comfy/customzluda/zluda.py +++ b/comfy/customzluda/zluda.py @@ -134,7 +134,7 @@ def gpu_name_to_gfx(gpu_name): # RDNA1 (gfx10xx) elif any(x in gpu_name_lower for x in ['rx 5700', 'w5700', 'rx 5600']): return 'gfx1010' # Navi 10 (gfx1010) - elif any(x in gpu_name_lower for x in ['rx 5500', 'w5500','rx 5300', 'w5300']): + elif any(x in gpu_name_lower for x in ['rx 5500', 'w5500', 'rx 5300', 'w5300']): return 'gfx1010' # Navi 14 (gfx1012) # Vega (gfx9xx) From e7d48450a396c825b87770b7ee4f337a22d55308 Mon Sep 17 00:00:00 2001 From: Rando717 Date: Mon, 8 Sep 2025 21:10:20 +0200 Subject: [PATCH 6/9] Update zluda.py (removed previously added gfx90c) 'radeon graphics' check is not viable enough considering 'radeon (tm) graphics' also exists on Vega. Plus gfx1036 Raphael (Ryzen 7000) is called 'radeon (tm) graphics' , same with Granite Ridge (Ryzen 9000). --- comfy/customzluda/zluda.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/comfy/customzluda/zluda.py b/comfy/customzluda/zluda.py index 2d76dfa38..e313a9432 100644 --- a/comfy/customzluda/zluda.py +++ b/comfy/customzluda/zluda.py @@ -144,8 +144,6 @@ def gpu_name_to_gfx(gpu_name): return 'gfx900' # Vega 20 (gfx906, gfx907) elif any(x in gpu_name_lower for x in ['vega 11', 'vega 10', 'vega 9', 'vega 8', 'vega 6', 'vega 3']): return 'gfx902' # Raven Ridge APU (gfx902, gfx903) - elif 'radeon graphics' in gpu_name_lower: # Without (tm) - return 'gfx902' # Vega APUs (gfx90c) - Barcelo, Cezanne, Lucienne, Renoir # Polaris (gfx8xx) elif any(x in gpu_name_lower for x in ['rx 590', 'rx 580', 'rx 570', 'rx 560', 'rx 480', 'rx 470', 'rx 460']): From ce8900fa25c649149438b875a6d5b67f1e03abc2 Mon Sep 17 00:00:00 2001 From: Rando717 Date: Tue, 9 Sep 2025 18:51:41 +0200 Subject: [PATCH 7/9] Update zluda.py (gpu_name_to_gfx) -function changed into list of rules -correct gfx codes attached to each GPU name -addressed potential incorrect designation for RX 6000 S Series, sort priority --- comfy/customzluda/zluda.py | 112 +++++++++++++++++-------------------- 1 file changed, 51 insertions(+), 61 deletions(-) diff --git a/comfy/customzluda/zluda.py b/comfy/customzluda/zluda.py index e313a9432..5f949891b 100644 --- a/comfy/customzluda/zluda.py +++ b/comfy/customzluda/zluda.py @@ -88,69 +88,59 @@ def detect_amd_gpu_architecture(): print(f" :: GPU detection failed: {str(e)}") return None -def gpu_name_to_gfx(gpu_name): +def gpu_name_to_gfx(gpu_name: str) -> str: """ - Map GPU names to their corresponding gfx architecture codes + Map GPU names to their corresponding gfx architecture codes. + Uses prioritized rules with substring matching. """ gpu_name_lower = gpu_name.lower() - - # RDNA4 (gfx12xx) - if any(x in gpu_name_lower for x in ['rx 9070', 'r9070', 'rx 9060']): - if 'rx 9060' in gpu_name_lower: - return 'gfx1200' # Navi 44 (gfx1200) - elif 'rx 9070' in gpu_name_lower or 'r9070' in gpu_name_lower: - return 'gfx1201' # Navi 48 (gfx1201) - - # RDNA3.5 (gfx115x) - elif '890m' in gpu_name_lower: - return 'gfx1150' # Strix Point (gfx1150) - elif any(x in gpu_name_lower for x in ['8060s', '8050s', '8040s', '880m']): - return 'gfx1151' # Strix Halo (gfx1151) - elif any(x in gpu_name_lower for x in ['860m', '840m', '820m']): - return 'gfx1152' # Krackan Point (gfx1152) - - # RDNA3 (gfx11xx) - elif any(x in gpu_name_lower for x in ['rx 7900', 'w7900', 'w7800']): - return 'gfx1100' # Navi 31 (gfx1100) - elif any(x in gpu_name_lower for x in ['rx 7800', 'rx 7700', 'w7700']): - return 'gfx1101' # Navi 32 (gfx1101) - elif any(x in gpu_name_lower for x in ['rx 7700s', 'rx 7650', 'w7600', 'rx 7600', 'w7500', 'w7400', 'rx 7400']): - return 'gfx1102' # Navi 33 (gfx1102) - elif any(x in gpu_name_lower for x in ['780m', '760m', '740m']): - return 'gfx1100' # Hawk Point (gfx1103) - - # RDNA2 (gfx10xx) - elif any(x in gpu_name_lower for x in ['rx 6950', 'rx 6900', 'w6800', 'rx 6800']): - return 'gfx1030' # Navi 21 (gfx1030) - elif any(x in gpu_name_lower for x in ['rx 6850', 'rx 6800m', 'rx 6750', 'rx 6700']): - return 'gfx1030' # Navi 22 (gfx1031) - elif any(x in gpu_name_lower for x in ['rx 6800s', 'rx 6700s', 'rx 6650', 'rx 6600', 'w6600', 'rx 6550', 'rx 6500', 'rx 6450', 'rx 6400', 'rx 6300']): - return 'gfx1032' # Navi 23 (gfx1032) - elif any(x in gpu_name_lower for x in ['rx 6550', 'rx 6500', 'w6500', 'rx 6450', 'rx 6400', 'w6400', 'rx 6300', 'w6300']): - return 'gfx1032' # Navi 24 (gfx1034) - elif '680m' in gpu_name_lower or '660m' in gpu_name_lower: - return 'gfx1030' # Rembrandt (gfx1035) - - # RDNA1 (gfx10xx) - elif any(x in gpu_name_lower for x in ['rx 5700', 'w5700', 'rx 5600']): - return 'gfx1010' # Navi 10 (gfx1010) - elif any(x in gpu_name_lower for x in ['rx 5500', 'w5500', 'rx 5300', 'w5300']): - return 'gfx1010' # Navi 14 (gfx1012) - - # Vega (gfx9xx) - elif any(x in gpu_name_lower for x in ['vega 64', 'vega 56', 'frontier']): - return 'gfx900' # Vega 10 (gfx900, gfx901) - elif 'radeon vii' in gpu_name_lower or 'radeon pro vii' in gpu_name_lower: - return 'gfx900' # Vega 20 (gfx906, gfx907) - elif any(x in gpu_name_lower for x in ['vega 11', 'vega 10', 'vega 9', 'vega 8', 'vega 6', 'vega 3']): - return 'gfx902' # Raven Ridge APU (gfx902, gfx903) - - # Polaris (gfx8xx) - elif any(x in gpu_name_lower for x in ['rx 590', 'rx 580', 'rx 570', 'rx 560', 'rx 480', 'rx 470', 'rx 460']): - return 'gfx803' # Polaris 10/11/20/21/30/31 (gfx803) - elif any(x in gpu_name_lower for x in ['rx 640', 'rx 550', 'rx 540']): - return 'gfx803' # Polaris 12/22/23 (gfx804) - + + # List of (substrings, gfx_arch, comment) + rules = [ + # RDNA4 (gfx12xx) + (['rx 9060'], 'gfx1200', 'Navi 44'), + (['rx 9070', 'r9070'], 'gfx1201', 'Navi 48'), + + # RDNA3.5 (gfx115x) + (['890m'], 'gfx1150', 'Strix Point'), + (['8060s', '8050s', '8040s', '880m'], 'gfx1151', 'Strix Halo'), + (['860m', '840m', '820m'], 'gfx1152', 'Krackan Point'), + + # RDNA3 (gfx110x) + (['rx 7900', 'w7900', 'w7800'], 'gfx1100', 'Navi 31'), + (['rx 7800', 'rx 7700', 'w7700'], 'gfx1101', 'Navi 32'), + (['rx 7700s', 'rx 7650', 'rx 7600', 'w7600', 'w7500', 'rx 7400', 'w7400'], 'gfx1102', 'Navi 33'), + (['780m', '760m', '740m'], 'gfx1100', 'Hawk Point'), + + # RDNA2 (gfx103x) + (['rx 6800m'], 'gfx1031', 'Navi 22'), + (['rx 6800s', 'rx 6700s'], 'gfx1032', 'Navi 23'), # must be before 'rx 6800' + (['rx 6950', 'rx 6900', 'rx 6800', 'w6800'], 'gfx1030', 'Navi 21'), + (['rx 6850', 'rx 6750', 'rx 6700'], 'gfx1031', 'Navi 22'), + (['rx 6650', 'rx 6600', 'w6600'], 'gfx1032', 'Navi 23'), + (['rx 6550', 'rx 6500', 'w6500', 'rx 6450', 'rx 6400', 'w6400', 'rx 6300', 'w6300'], 'gfx1034', 'Navi 24'), + (['680m', '660m'], 'gfx1035', 'Rembrandt'), + (['610m'], 'gfx1037', ''), + + # RDNA1 (gfx101x) + (['rx 5700', 'w5700', 'rx 5600'], 'gfx1010', 'Navi 10'), + (['rx 5500', 'w5500', 'rx 5300', 'w5300'], 'gfx1012', 'Navi 14'), + + # Vega (gfx90x) + (['vega 64', 'vega 56', 'frontier'], 'gfx900', 'Vega 10'), + (['radeon vii', 'radeon pro vii'], 'gfx906', 'Vega 20'), + (['vega 11', 'vega 10', 'vega 9', 'vega 8', 'vega 6', 'vega 3'], 'gfx902', 'Raven Ridge'), + + # Polaris (gfx80x) + (['rx 590', 'rx 580', 'rx 570', 'rx 560', 'rx 480', 'rx 470', 'rx 460'], 'gfx803', 'Polaris 10'), + (['rx 640', 'rx 550', 'rx 540'], 'gfx804', 'Polaris 12'), + ] + + # Apply rules in order (priority matters) + for substrings, gfx, _ in rules: + if any(sub in gpu_name_lower for sub in substrings): + return gfx + # Default fallback - try to extract numbers and make educated guess if 'rx 9' in gpu_name_lower: # Future RDNA4? return 'gfx1200' # Default RDNA4 @@ -162,7 +152,7 @@ def gpu_name_to_gfx(gpu_name): return 'gfx1030' # Default RDNA2 elif 'rx 5' in gpu_name_lower: return 'gfx1010' # Default RDNA1 - + print(f" :: Unknown GPU model: {gpu_name}, using default gfx1030") return 'gfx1030' # Safe default for most modern AMD GPUs From 13ba6a8a8da50cc884a3bfcaf76db5519ea79ca6 Mon Sep 17 00:00:00 2001 From: Rando717 Date: Tue, 9 Sep 2025 19:30:54 +0200 Subject: [PATCH 8/9] Update zluda.py (cleanup print Triton version) compacted, without exception, silent if no version string --- comfy/customzluda/zluda.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/comfy/customzluda/zluda.py b/comfy/customzluda/zluda.py index 5f949891b..978f1a5d6 100644 --- a/comfy/customzluda/zluda.py +++ b/comfy/customzluda/zluda.py @@ -447,12 +447,11 @@ try: import triton.language as tl print(" :: Triton core imported successfully") - # Get triton version, if possible, continue if no version string - try: - version = triton.__version__ + # Detect Triton version, if possible + version = getattr(triton, "__version__", None) + if version: print(f" :: Detected Triton version: {version}") - except AttributeError: - print(" :: Detected Triton version: no info") + # else: do nothing # This needs to be up here, so it can disable cudnn before anything can even think about using it torch.backends.cudnn.enabled = os.environ.get("TORCH_BACKENDS_CUDNN_ENABLED", "1").strip().lower() not in {"0", "off", "false", "disable", "disabled", "no"} From 4057f2984c3beab9c18a783e616d00ed896f301b Mon Sep 17 00:00:00 2001 From: Rando717 Date: Tue, 9 Sep 2025 20:04:20 +0200 Subject: [PATCH 9/9] Update zluda.py (MEM_BUS_WIDTH#3) Lower casing the lookup inside MEM_BUS_WIDTH, just in case of incorrect casing on Radeon Pro (PRO) GPUs. fixed/lower-casing "Triton device properties" lookup inside MEM_BUS_WIDTH. --- comfy/customzluda/zluda.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/comfy/customzluda/zluda.py b/comfy/customzluda/zluda.py index 978f1a5d6..ecc72413c 100644 --- a/comfy/customzluda/zluda.py +++ b/comfy/customzluda/zluda.py @@ -507,6 +507,7 @@ except Exception as e: # # ------------------- ZLUDA Core Implementation ------------------- MEM_BUS_WIDTH = { + k.lower(): v for k, v in { "AMD Radeon RX 9070 XT": 256, "AMD Radeon RX 9070": 256, "AMD Radeon RX 9070 GRE": 192, @@ -559,7 +560,8 @@ MEM_BUS_WIDTH = { "AMD Radeon PRO W6400": 64, "AMD Radeon Pro W5700": 256, "AMD Radeon Pro W5500": 128, - "AMD Radeon Pro VII": 4096, + "AMD Radeon Pro VII": 4096, + }.items() } # ------------------- Device Properties Implementation ------------------- @@ -659,8 +661,8 @@ def do_hijack(): def patched_props(device): props = _get_props(device) name = torch.cuda.get_device_name()[:-8] # Remove [ZLUDA] - props["mem_bus_width"] = MEM_BUS_WIDTH.get(name, 128) - if name not in MEM_BUS_WIDTH: + props["mem_bus_width"] = MEM_BUS_WIDTH.get(name.lower(), 128) + if name.lower() not in MEM_BUS_WIDTH: print(f' :: Using default mem_bus_width=128 for {name}') return props triton.runtime.driver.active.utils.get_device_properties = patched_props