From 077c6c3ac9067fc9254e5d9a8a73666a763cace5 Mon Sep 17 00:00:00 2001 From: cmdr2 Date: Mon, 10 Feb 2025 10:33:57 +0530 Subject: [PATCH] Use torchruntime for installing torch/torchvision on the users' PC, instead of the custom logic used here. torchruntime was built from the custom logic used here, and covers a lot more scenarios and supports more devices --- scripts/check_modules.py | 1008 +------------------------------------- 1 file changed, 13 insertions(+), 995 deletions(-) diff --git a/scripts/check_modules.py b/scripts/check_modules.py index e9f6cdd0..96b13cb1 100644 --- a/scripts/check_modules.py +++ b/scripts/check_modules.py @@ -16,49 +16,11 @@ import shutil from pathlib import Path from pprint import pprint import re +import torchruntime os_name = platform.system() modules_to_check = { - "torch": ( # really need a better way to check the versions. kinda reinventing the wheel here - "1.10.1", - "1.10.2", - "1.11.0", - "1.13.1", - "2.0.0", - "2.0.1", - "2.1.1", - "2.1.2", - "2.2.0", - "2.2.1", - "2.2.2", - "2.3.0", - "2.3.1", - "2.4.0", - "2.4.1", - # "2.5.0", - # "2.5.1", - ), - "torchvision": ( - "0.11.2", - "0.11.3", - "0.12.0", - "0.14.1", - "0.15.1", - "0.15.2", - "0.16.0", - "0.16.1", - "0.16.2", - "0.17.0", - "0.17.1", - "0.17.2", - "0.18.0", - "0.18.1", - "0.19.0", - "0.19.1", - # "0.20.0", - # "0.20.1", - ), "setuptools": "69.5.1", # "sdkit": "2.0.15.6", # checked later # "diffusers": "0.21.4", # checked later @@ -70,13 +32,12 @@ modules_to_check = { "ruamel.yaml": "0.17.21", "sqlalchemy": "2.0.19", "python-multipart": "0.0.6", - # "xformers": "0.0.16", "onnxruntime": "1.19.2", "huggingface-hub": "0.21.4", "wandb": "0.13.7", "torchruntime": "1.9.4", } -modules_to_log = ["torch", "torchvision", "sdkit", "stable-diffusion-sdkit", "diffusers"] +modules_to_log = ["torchruntime", "torch", "torchvision", "sdkit", "stable-diffusion-sdkit", "diffusers"] def version(module_name: str) -> str: @@ -86,36 +47,7 @@ def version(module_name: str) -> str: return None -def install(module_name: str, module_version: str): - if module_name == "xformers" and (os_name == "Darwin" or is_amd_on_linux()): - return - - index_url = None - if module_name in ("torch", "torchvision"): - module_version, index_url = apply_torch_install_overrides(module_version) - - if is_amd_on_linux(): # hack until AMD works properly on torch 2.0 (avoids black images on some cards) - amd_gpus = setup_amd_environment() - if module_name == "torch": - if "Navi 3" in amd_gpus: - # No AMD 7x00 support in rocm 5.2, needs 5.5+ - module_version = "2.4.1+rocm6.1" - index_url = "https://download.pytorch.org/whl" - else: - module_version = "1.13.1+rocm5.2" - elif module_name == "torchvision": - if "Navi 3" in amd_gpus: - # No AMD 7x00 support in rocm 5.2, needs 5.5+ - module_version = "0.20.0+rocm6.1" - index_url = "https://download.pytorch.org/whl" - else: - module_version = "0.14.1+rocm5.2" - elif os_name == "Darwin": - if module_name == "torch": - module_version = "1.13.1" - elif module_name == "torchvision": - module_version = "0.14.1" - +def install(module_name: str, module_version: str, index_url=None): install_cmd = f"python -m pip install --upgrade {module_name}=={module_version}" if index_url: @@ -128,6 +60,9 @@ def install(module_name: str, module_version: str): def update_modules(): + if version("torch") is None: + torchruntime.install(["torch", "torchvision"]) + for module_name, allowed_versions in modules_to_check.items(): if os.path.exists(f"src/{module_name}"): print(f"Skipping {module_name} update, since it's in developer/editable mode") @@ -143,16 +78,7 @@ def update_modules(): allowed_versions = ("69.5.1",) latest_version = "69.5.1" - requires_install = False - if module_name in ("torch", "torchvision"): - if version(module_name) is None: # allow any torch version - requires_install = True - elif os_name == "Darwin" and ( # force mac to downgrade from torch 2.0 - version("torch").startswith("2.") or version("torchvision").startswith("0.15.") - ): - requires_install = True - elif version(module_name) not in allowed_versions: - requires_install = True + requires_install = version(module_name) not in allowed_versions if requires_install: try: @@ -184,7 +110,7 @@ def update_modules(): sdkit_version = version_str_to_tuple(sdkit_version_str) legacy_sdkit_version = version_str_to_tuple(legacy_sdkit_version_str) - if sdkit_version[:3] <= legacy_sdkit_version[:3]: # and torch_version < (0, 13): + if sdkit_version[:3] <= legacy_sdkit_version[:3]: # stick to diffusers 0.21.4, since it preserves torch 0.11+ compatibility. # upgrading beyond this will result in a 2+ GB download of torch on older installations # and a time-consuming chain of small package updates due to huggingface_hub upgrade. @@ -197,8 +123,7 @@ def update_modules(): if torch_version < (1, 13): # install the gpu-compatible torch (if necessary), instead of the default CPU-only one # from the diffusers dependency chain - install("torch", modules_to_check["torch"][-1]) - install("torchvision", modules_to_check["torchvision"][-1]) + torchruntime.install(["--upgrade", "torch", "torchvision"]) install_pkg_if_necessary("sdkit", expected_sdkit_version_str) install_pkg_if_necessary("diffusers", expected_diffusers_version_str) @@ -277,76 +202,13 @@ def version_str_to_tuple(ver_str): ### utilities - - def get_allowed_versions(module_name: str, allowed_versions: tuple): allowed_versions = (allowed_versions,) if isinstance(allowed_versions, str) else allowed_versions latest_version = allowed_versions[-1] - if module_name in ("torch", "torchvision"): - allowed_versions = include_cuda_versions(allowed_versions) - return allowed_versions, latest_version -def apply_torch_install_overrides(module_version: str): - index_url = None - if os_name == "Windows": - module_version += "+cu117" - index_url = "https://download.pytorch.org/whl/cu117" - elif is_amd_on_linux(): - index_url = "https://download.pytorch.org/whl" - - return module_version, index_url - - -def include_cuda_versions(module_versions: tuple) -> tuple: - "Adds CUDA-specific versions to the list of allowed version numbers" - - allowed_versions = tuple(module_versions) - allowed_versions += tuple(f"{v}+cu116" for v in module_versions) - allowed_versions += tuple(f"{v}+cu117" for v in module_versions) - allowed_versions += tuple(f"{v}+cu118" for v in module_versions) - allowed_versions += tuple(f"{v}+cu121" for v in module_versions) - allowed_versions += tuple(f"{v}+cu124" for v in module_versions) - allowed_versions += tuple(f"{v}+cu126" for v in module_versions) - - allowed_versions += tuple(f"{v}+rocm4.2" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm4.3.1" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm4.5.2" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm5.0" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm5.1.1" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm5.2" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm5.3" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm5.4.2" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm5.5" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm5.6" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm5.7" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm6.0" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm6.1" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm6.1" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm6.2" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm6.2.4" for v in module_versions) - allowed_versions += tuple(f"{v}+rocm6.3" for v in module_versions) - - # needs a better way - - return allowed_versions - - -def is_amd_on_linux(): - if os_name == "Linux": - try: - with open("/proc/bus/pci/devices", "r") as f: - device_info = f.read() - if "amdgpu" in device_info and "nvidia" not in device_info: - return True - except: - return False - - return False - - def fail(module_name): print( f"""Error installing {module_name}. Sorry about that, please try to: @@ -397,49 +259,6 @@ def get_config(): return config -def setup_amd_environment(): - if not os.access("/dev/kfd", os.W_OK): - print( - "#########################################################################\n" - + "# EasyDiffusion has no write access to /dev/kfd. #\n" - + "#########################################################################\n" - + "\n" - + "Without this, the ROCm driver will probably not be able to initialize the GPU and EasyDiffusion will use the CPU for rendering.\n" - + "\n" - + "Follow the instructions on this site to configure the access:\n" - + "https://github.com/easydiffusion/easydiffusion/wiki/AMD-on-Linux#access-permissions\n" - + "\n" - ) - - gpus = list(filter(lambda x: ("amdgpu" in x), open("/proc/bus/pci/devices", "r").readlines())) - gpus = [x.split("\t")[1].upper() for x in gpus] - gpus = [AMD_PCI_IDs[x] for x in gpus if x in AMD_PCI_IDs] - i = 0 - supported_gpus = [] - for gpu in gpus: - print(f"Found AMD GPU {gpu}.") - if gpu.startswith("Navi 1"): - print("--- Applying Navi 1 settings") - os.environ["HSA_OVERRIDE_GFX_VERSION"] = "10.3.0" - os.environ["FORCE_FULL_PRECISION"] = "yes" - os.environ["HIP_VISIBLE_DEVICES"] = str(i) - supported_gpus.append("Navi 1") - elif gpu.startswith("Navi 2"): - print("--- Applying Navi 2 settings") - os.environ["HSA_OVERRIDE_GFX_VERSION"] = "10.3.0" - os.environ["HIP_VISIBLE_DEVICES"] = str(i) - supported_gpus.append("Navi 2") - elif gpu.startswith("Navi 3"): - print("--- Applying Navi 3 settings") - os.environ["HSA_OVERRIDE_GFX_VERSION"] = "11.0.0" - os.environ["HIP_VISIBLE_DEVICES"] = str(i) - supported_gpus.append("Navi 3") - else: - print("--- This GPU is probably not supported by ROCm\n") - i += 1 - return supported_gpus - - def launch_uvicorn(): config = get_config() @@ -451,7 +270,10 @@ def launch_uvicorn(): print("\n\nEasy Diffusion installation complete, starting the server!\n\n") - os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1" + torchruntime.configure() + if hasattr(torchruntime, "info"): + torchruntime.info() + if os_name == "Windows": os.environ["PYTHONPATH"] = str(Path(os.environ["INSTALL_ENV_DIR"], "lib", "site-packages")) else: @@ -478,9 +300,6 @@ def launch_uvicorn(): os.chdir("stable-diffusion") - if is_amd_on_linux(): - setup_amd_environment() - print("\nLaunching uvicorn\n") import uvicorn @@ -495,807 +314,6 @@ def launch_uvicorn(): ) -### Start - -# This list would probably be a good candidate for an import, but since PYTHONPATH and other settings -# have not been initialized yet, I keep the list here for the moment -- JeLuF -AMD_PCI_IDs = { - "1002AC0C": "Theater 506A USB", - "1002AC0D": "Theater 506A USB", - "1002AC0E": "Theater 506A External USB", - "1002AC0F": "Theater 506A External USB", - "1002AC12": "Theater HD T507 (DVB-T) TV tuner/capture device", - "1002AC02": "TV Wonder HD 600 PCIe", - "1002AC03": "Theater 506 PCIe", - "1002AC04": "Theater 506 USB", - "1002AC05": "Theater 506 USB", - "1002AC06": "Theater 506 External USB", - "1002AC07": "Theater 506 External USB", - "1002AC08": "Theater 506A World-Wide Analog Decoder + Demodulator", - "1002AC09": "Theater 506A World-Wide Analog Decoder + Demodulator", - "1002AC0A": "Theater 506A PCIe", - "1002AC0B": "Theater 506A PCIe", - "1002AC00": "Theater 506 World-Wide Analog Decoder", - "1002AC01": "Theater 506 World-Wide Analog Decoder", - "1002999D": "Richland [Radeon HD 8550D]", - "100299A0": "Trinity 2 [Radeon HD 7520G]", - "100299A2": "Trinity 2 [Radeon HD 7420G]", - "100299A4": "Trinity 2 [Radeon HD 7400G]", - "10029996": "Richland [Radeon HD 8470D]", - "10029997": "Richland [Radeon HD 8350G]", - "10029998": "Richland [Radeon HD 8370D]", - "10029999": "Richland [Radeon HD 8510G]", - "1002999A": "Richland [Radeon HD 8410G]", - "1002999B": "Richland [Radeon HD 8310G]", - "1002999C": "Richland [Radeon HD 8650D]", - "10029925": "Kingston/Clayton/Jupiter/Gladius/Montego HDMI Controller", - "10029926": "Jupiter", - "10029990": "Trinity 2 [Radeon HD 7520G]", - "10029991": "Trinity 2 [Radeon HD 7540D]", - "10029992": "Trinity 2 [Radeon HD 7420G]", - "10029993": "Trinity 2 [Radeon HD 7480D]", - "10029994": "Trinity 2 [Radeon HD 7400G]", - "10029995": "Richland [Radeon HD 8450G]", - "10029917": "Trinity [Radeon HD 7620G]", - "10029918": "Trinity [Radeon HD 7600G]", - "10029919": "Trinity [Radeon HD 7500G]", - "1002991E": "Bishop [Xbox One S APU]", - "10029920": "Liverpool [Playstation 4 APU]", - "10029922": "Starshp", - "10029923": "Starsha2 [Kingston/Clayton]", - "10029924": "Gladius", - "10029909": "Trinity [Radeon HD 7500G]", - "1002990A": "Trinity [Radeon HD 7500G]", - "1002990B": "Richland [Radeon HD 8650G]", - "1002990C": "Richland [Radeon HD 8670D]", - "1002990D": "Richland [Radeon HD 8550G]", - "1002990E": "Richland [Radeon HD 8570D]", - "1002990F": "Richland [Radeon HD 8610G]", - "10029910": "Trinity [Radeon HD 7660G]", - "10029913": "Trinity [Radeon HD 7640G]", - "10029901": "Trinity [Radeon HD 7660D]", - "10029903": "Trinity [Radeon HD 7640G]", - "10029904": "Trinity [Radeon HD 7560D]", - "10029905": "Trinity GL [FirePro A300]", - "10029906": "Trinity GL [FirePro A320]", - "10029907": "Trinity [Radeon HD 7620G]", - "10029908": "Trinity [Radeon HD 7600G]", - "1002985F": "Mullins", - "10029874": "Wani [Radeon R5/R6/R7 Graphics]", - "10029890": "Amur", - "100298C0": "Nolan", - "100298E4": "Stoney [Radeon R2/R3/R4/R5 Graphics]", - "10029900": "Trinity [Radeon HD 7660G]", - "10029858": "Mullins", - "10029859": "Mullins", - "1002985A": "Mullins", - "1002985B": "Mullins", - "1002985C": "Mullins", - "1002985D": "Mullins", - "1002985E": "Mullins", - "10029852": "Mullins [Radeon R2 Graphics]", - "10029853": "Mullins [Radeon R2 Graphics]", - "10029854": "Mullins [Radeon R3E Graphics]", - "10029855": "Mullins [Radeon R6 Graphics]", - "10029856": "Mullins [Radeon R1E/R2E Graphics]", - "10029857": "Mullins [Radeon APU XX-2200M with R2 Graphics]", - "10029836": "Kabini [Radeon HD 8280 / R3 Series]", - "10029837": "Kabini [Radeon HD 8280E]", - "10029838": "Kabini [Radeon HD 8240 / R3 Series]", - "10029839": "Kabini [Radeon HD 8180]", - "1002983D": "Temash [Radeon HD 8250/8280G]", - "10029850": "Mullins [Radeon R3 Graphics]", - "10029851": "Mullins [Radeon R4/R5 Graphics]", - "10029808": "Wrestler [Radeon HD 7340]", - "10029809": "Wrestler [Radeon HD 7310]", - "1002980A": "Wrestler [Radeon HD 7290]", - "10029830": "Kabini [Radeon HD 8400 / R3 Series]", - "10029831": "Kabini [Radeon HD 8400E]", - "10029832": "Kabini [Radeon HD 8330]", - "10029833": "Kabini [Radeon HD 8330E]", - "10029834": "Kabini [Radeon HD 8210]", - "10029835": "Kabini [Radeon HD 8310E]", - "10029714": "RS880 [Radeon HD 4290]", - "10029715": "RS880 [Radeon HD 4250]", - "10029802": "Wrestler [Radeon HD 6310]", - "10029803": "Wrestler [Radeon HD 6310]", - "10029804": "Wrestler [Radeon HD 6250]", - "10029805": "Wrestler [Radeon HD 6250]", - "10029806": "Wrestler [Radeon HD 6320]", - "10029807": "Wrestler [Radeon HD 6290]", - "1002964B": "Sumo", - "1002964C": "Sumo", - "1002964E": "Sumo", - "1002964F": "Sumo", - "10029710": "RS880 [Radeon HD 4200]", - "10029712": "RS880M [Mobility Radeon HD 4225/4250]", - "10029713": "RS880M [Mobility Radeon HD 4100]", - "10029643": "SuperSumo [Radeon HD 6380G]", - "10029644": "SuperSumo [Radeon HD 6410D]", - "10029645": "SuperSumo [Radeon HD 6410D]", - "10029647": "Sumo [Radeon HD 6520G]", - "10029648": "Sumo [Radeon HD 6480G]", - "10029649": "SuperSumo [Radeon HD 6480G]", - "1002964A": "Sumo [Radeon HD 6530D]", - "10029642": "SuperSumo [Radeon HD 6370D]", - "10029615": "RS780E [Radeon HD 3200]", - "10029610": "RS780 [Radeon HD 3200]", - "10029611": "RS780C [Radeon 3100]", - "10029612": "RS780M [Mobility Radeon HD 3200]", - "10029613": "RS780MC [Mobility Radeon HD 3100]", - "10029614": "RS780D [Radeon HD 3300]", - "10029616": "RS780L [Radeon 3000]", - "10029640": "Sumo [Radeon HD 6550D]", - "10029641": "Sumo [Radeon HD 6620G]", - "100295C4": "RV620/M82 [Mobility Radeon HD 3450/3470]", - "100295C5": "RV620 LE [Radeon HD 3450]", - "100295C6": "RV620 LE [Radeon HD 3450 AGP]", - "100295C9": "RV620 LE [Radeon HD 3450 PCI]", - "100295CC": "RV620 GL [FirePro V3700]", - "100295CD": "RV620 GL [FirePro 2450]", - "100295CF": "RV620 GL [FirePro 2260]", - "10029591": "RV635/M86 [Mobility Radeon HD 3650]", - "10029593": "RV635/M86 [Mobility Radeon HD 3670]", - "10029595": "RV635/M86 GL [Mobility FireGL V5700]", - "10029596": "RV635 PRO [Radeon HD 3650 AGP]", - "10029597": "RV635 PRO [Radeon HD 3650 AGP]", - "10029598": "RV635 [Radeon HD 3650/3750/4570/4580]", - "10029599": "RV635 PRO [Radeon HD 3650 AGP]", - "100295C0": "RV620 PRO [Radeon HD 3470]", - "100295C2": "RV620/M82 [Mobility Radeon HD 3410/3430]", - "10029586": "RV630 XT [Radeon HD 2600 XT AGP]", - "10029587": "RV630 PRO [Radeon HD 2600 PRO AGP]", - "10029588": "RV630 XT [Radeon HD 2600 XT]", - "10029589": "RV630 PRO [Radeon HD 2600 PRO]", - "1002958A": "RV630 [Radeon HD 2600 X2]", - "1002958B": "RV630/M76 [Mobility Radeon HD 2600 XT]", - "1002958C": "RV630 GL [FireGL V5600]", - "1002958D": "RV630 GL [FireGL V3600]", - "1002954F": "RV710 [Radeon HD 4350/4550]", - "10029552": "RV710/M92 [Mobility Radeon HD 4330/4350/4550]", - "10029553": "RV710/M92 [Mobility Radeon HD 4530/4570/5145/530v/540v/545v]", - "10029555": "RV711/M93 [Mobility Radeon HD 4350/4550/530v/540v/545v / FirePro RG220]", - "10029557": "RV711/M93 GL [FirePro RG220]", - "1002955F": "RV710/M92 [Mobility Radeon HD 4330]", - "10029580": "RV630 [Radeon HD 2600 PRO]", - "10029581": "RV630/M76 [Mobility Radeon HD 2600]", - "10029583": "RV630/M76 [Mobility Radeon HD 2600 XT/2700]", - "1002950F": "R680 [Radeon HD 3870 X2]", - "10029511": "RV670 GL [FireGL V7700]", - "10029513": "RV670 [Radeon HD 3850 X2]", - "10029515": "RV670 PRO [Radeon HD 3850 AGP]", - "10029519": "RV670 GL [FireStream 9170]", - "10029540": "RV710 [Radeon HD 4550]", - "10029500": "RV670 [Radeon HD 3850 X2]", - "10029501": "RV670 [Radeon HD 3870]", - "10029504": "RV670/M88 [Mobility Radeon HD 3850]", - "10029505": "RV670 [Radeon HD 3690/3850]", - "10029506": "RV670/M88 [Mobility Radeon HD 3850 X2]", - "10029507": "RV670 [Radeon HD 3830]", - "10029508": "RV670/M88-XT [Mobility Radeon HD 3870]", - "10029509": "RV670/M88 [Mobility Radeon HD 3870 X2]", - "100294C1": "RV610 [Radeon HD 2400 PRO/XT]", - "100294C3": "RV610 [Radeon HD 2400 PRO]", - "100294C4": "RV610 LE [Radeon HD 2400 PRO AGP]", - "100294C5": "RV610 [Radeon HD 2400 LE]", - "100294C7": "RV610 [Radeon HD 2350]", - "100294C8": "RV610/M74 [Mobility Radeon HD 2400 XT]", - "100294C9": "RV610/M72-S [Mobility Radeon HD 2400]", - "100294CB": "RV610 [Radeon E2400]", - "100294CC": "RV610 LE [Radeon HD 2400 PRO PCI]", - "10029498": "RV730 PRO [Radeon HD 4650]", - "1002949C": "RV730 GL [FirePro V7750]", - "1002949E": "RV730 GL [FirePro V5700]", - "1002949F": "RV730 GL [FirePro V3750]", - "100294A0": "RV740/M97 [Mobility Radeon HD 4830]", - "100294A1": "RV740/M97-XT [Mobility Radeon HD 4860]", - "100294A3": "RV740/M97 GL [FirePro M7740]", - "100294B3": "RV740 PRO [Radeon HD 4770]", - "100294B4": "RV740 PRO [Radeon HD 4750]", - "10029462": "RV790 [Radeon HD 4860]", - "1002946A": "RV770 GL [FirePro M7750]", - "10029480": "RV730/M96 [Mobility Radeon HD 4650/5165]", - "10029488": "RV730/M96-XT [Mobility Radeon HD 4670]", - "10029489": "RV730/M96 GL [Mobility FireGL V5725]", - "10029490": "RV730 XT [Radeon HD 4670]", - "10029491": "RV730/M96-CSP [Radeon E4690]", - "10029495": "RV730 [Radeon HD 4600 AGP Series]", - "1002944A": "RV770/M98L [Mobility Radeon HD 4850]", - "1002944B": "RV770/M98 [Mobility Radeon HD 4850 X2]", - "1002944C": "RV770 LE [Radeon HD 4830]", - "1002944E": "RV770 CE [Radeon HD 4710]", - "10029450": "RV770 GL [FireStream 9270]", - "10029452": "RV770 GL [FireStream 9250]", - "10029456": "RV770 GL [FirePro V8700]", - "1002945A": "RV770/M98-XT [Mobility Radeon HD 4870]", - "10029460": "RV790 [Radeon HD 4890]", - "1002940A": "R600 GL [FireGL V8650]", - "1002940B": "R600 GL [FireGL V8600]", - "1002940F": "R600 GL [FireGL V7600]", - "10029440": "RV770 [Radeon HD 4870]", - "10029441": "R700 [Radeon HD 4870 X2]", - "10029442": "RV770 [Radeon HD 4850]", - "10029443": "R700 [Radeon HD 4850 X2]", - "10029444": "RV770 GL [FirePro V8750]", - "10029446": "RV770 GL [FirePro V7760]", - "1002793F": "RS690M [Radeon Xpress 1200/1250/1270] (Secondary)", - "10027941": "RS600 [Radeon Xpress 1250]", - "10027942": "RS600M [Radeon Xpress 1250]", - "1002796E": "RS740 [Radeon 2100]", - "10029400": "R600 [Radeon HD 2900 PRO/XT]", - "10029401": "R600 [Radeon HD 2900 XT]", - "10029403": "R600 [Radeon HD 2900 PRO]", - "10029405": "R600 [Radeon HD 2900 GT]", - "1002791E": "RS690 [Radeon X1200]", - "1002791F": "RS690M [Radeon Xpress 1200/1250/1270]", - "10027835": "RS350M [Mobility Radeon 9000 IGP]", - "10027448": "Navi 31 [Radeon Pro W7900]", - "1002744C": "Navi 31 [Radeon RX 7900 XT/7900 XTX]", - "1002745E": "Navi 31 [Radeon Pro W7800]", - "10027480": "Navi 33 [Radeon RX 7700S/7600S/7600M XT]", - "10027483": "Navi 33 [Radeon RX 7600M/7600M XT]", - "10027489": "Navi 33", - "10027834": "RS350 [Radeon 9100 PRO/XT IGP]", - "10027446": "Navi 31 USB", - "1002743F": "Navi 24 [Radeon RX 6400/6500 XT/6500M]", - "10027421": "Navi 24 [Radeon PRO W6500M]", - "10027422": "Navi 24 [Radeon PRO W6400]", - "10027423": "Navi 24 [Radeon PRO W6300/W6300M]", - "10027424": "Navi 24 [Radeon RX 6300]", - "100273F0": "Navi 33 [Radeon RX 7600M XT]", - "100273EF": "Navi 23 [Radeon RX 6650 XT / 6700S / 6800S]", - "100273E1": "Navi 23 WKS-XM [Radeon PRO W6600M]", - "100273FF": "Navi 23 [Radeon RX 6600/6600 XT/6600M]", - "100273E3": "Navi 23 WKS-XL [Radeon PRO W6600]", - "100273E4": "Navi 23 USB", - "10027408": "Aldebaran/MI200 [Instinct MI250X]", - "1002740C": "Aldebaran/MI200 [Instinct MI250X/MI250]", - "1002740F": "Aldebaran/MI200 [Instinct MI210]", - "100273CE": "Navi 22-XL SRIOV MxGPU", - "100273AF": "Navi 21 [Radeon RX 6900 XT]", - "100273BF": "Navi 21 [Radeon RX 6800/6800 XT / 6900 XT]", - "100273C4": "Navi 22 USB", - "100273C3": "Navi 22", - "100273E0": "Navi 23", - "100273DF": "Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]", - "100273A5": "Navi 21 [Radeon RX 6950 XT]", - "100273AE": "Navi 21 [Radeon Pro V620 MxGPU]", - "100273A2": "Navi 21 Pro-XTA [Radeon Pro W6900X]", - "100273A3": "Navi 21 GL-XL [Radeon PRO W6800]", - "100273A4": "Navi 21 USB", - "100273AB": "Navi 21 Pro-XLA [Radeon Pro W6800X/Radeon Pro W6800X Duo]", - "1002734F": "Navi 14 [Radeon Pro W5300M]", - "10027360": "Navi 12 [Radeon Pro 5600M/V520/BC-160]", - "100273A1": "Navi 21 [Radeon Pro V620]", - "10027362": "Navi 12 [Radeon Pro V520/V540]", - "10027388": "Arcturus GL-XL", - "1002738C": "Arcturus GL-XL [Instinct MI100]", - "1002738E": "Arcturus GL-XL [Instinct MI100]", - "10027319": "Navi 10 [Radeon Pro 5700 XT]", - "1002731B": "Navi 10 [Radeon Pro 5700]", - "1002731F": "Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]", - "10027340": "Navi 14 [Radeon RX 5500/5500M / Pro 5500M]", - "10027341": "Navi 14 [Radeon Pro W5500]", - "10027347": "Navi 14 [Radeon Pro W5500M]", - "1002731E": "TDC-150", - "100272A0": "RV570 [Radeon X1950 PRO] (Secondary)", - "100272A8": "RV570 [Radeon X1950 GT] (Secondary)", - "100272B1": "RV560 [Radeon X1650 XT] (Secondary)", - "100272B3": "RV560 [Radeon X1650 GT] (Secondary)", - "10027300": "Fiji [Radeon R9 FURY / NANO Series]", - "10027310": "Navi 10 [Radeon Pro W5700X]", - "10027312": "Navi 10 [Radeon Pro W5700]", - "10027314": "Navi 10 USB", - "1002724E": "R580 GL [FireGL V7350]", - "10027269": "R580 [Radeon X1900 XT] (Secondary)", - "1002726B": "R580 [Radeon X1900 GT] (Secondary)", - "1002726E": "R580 [AMD Stream Processor] (Secondary)", - "10027280": "RV570 [Radeon X1950 PRO]", - "10027288": "RV570 [Radeon X1950 GT]", - "10027291": "RV560 [Radeon X1650 XT]", - "10027293": "RV560 [Radeon X1650 GT]", - "100271F2": "RV530 GL [FireGL V3400] (Secondary)", - "10027210": "RV550/M71 [Mobility Radeon HD 2300]", - "10027211": "RV550/M71 [Mobility Radeon X2300 HD]", - "10027240": "R580+ [Radeon X1950 XTX]", - "10027244": "R580+ [Radeon X1950 XT]", - "10027248": "R580 [Radeon X1950]", - "10027249": "R580 [Radeon X1900 XT]", - "1002724B": "R580 [Radeon X1900 GT]", - "100271D6": "RV530/M66-XT [Mobility Radeon X1700]", - "100271DE": "RV530/M66 [Mobility Radeon X1700/X2500]", - "100271E0": "RV530 [Radeon X1600] (Secondary)", - "100271E1": "RV535 [Radeon X1650 PRO] (Secondary)", - "100271E2": "RV530 [Radeon X1600] (Secondary)", - "100271E6": "RV530 [Radeon X1650] (Secondary)", - "100271E7": "RV535 [Radeon X1650 PRO] (Secondary)", - "100271C4": "RV530/M56 GL [Mobility FireGL V5200]", - "100271C5": "RV530/M56-P [Mobility Radeon X1600]", - "100271C6": "RV530LE [Radeon X1600/X1650 PRO]", - "100271C7": "RV535 [Radeon X1650 PRO]", - "100271CE": "RV530 [Radeon X1300 XT/X1600 PRO]", - "100271D2": "RV530 GL [FireGL V3400]", - "100271D4": "RV530/M66 GL [Mobility FireGL V5250]", - "100271D5": "RV530/M66-P [Mobility Radeon X1700]", - "100271A7": "RV516 [Radeon X1300/X1550 Series] (Secondary)", - "100271BB": "RV516 GL [FireMV 2250] (Secondary)", - "100271C0": "RV530 [Radeon X1600 XT/X1650 GTO]", - "100271C1": "RV535 [Radeon X1650 PRO]", - "100271C2": "RV530 [Radeon X1600 PRO]", - "100271C3": "RV530 [Radeon X1600 PRO]", - "1002718D": "RV516/M64-CSP128 [Mobility Radeon X1450]", - "10027193": "RV516 [Radeon X1550 Series]", - "10027196": "RV516/M62-S [Mobility Radeon X1350]", - "1002719B": "RV516 GL [FireMV 2250]", - "1002719F": "RV516 [Radeon X1550 Series]", - "100271A0": "RV516 [Radeon X1300/X1550 Series] (Secondary)", - "100271A1": "RV516 [Radeon X1600/X1650 Series] (Secondary)", - "100271A3": "RV516 [Radeon X1300/X1550 Series] (Secondary)", - "10027186": "RV516/M64 [Mobility Radeon X1450]", - "10027187": "RV516 [Radeon X1300/X1550 Series]", - "10027188": "RV516/M64-S [Mobility Radeon X2300]", - "1002718A": "RV516/M64 [Mobility Radeon X2300]", - "1002718B": "RV516/M62 [Mobility Radeon X1350]", - "1002718C": "RV516/M62-CSP64 [Mobility Radeon X1350]", - "10027162": "RV515 PRO [Radeon X1300/X1550 Series] (Secondary)", - "10027163": "RV505 [Radeon X1550 Series] (Secondary)", - "10027166": "RV515 [Radeon X1300/X1550 Series] (Secondary)", - "10027167": "RV515 [Radeon X1550 64-bit] (Secondary)", - "10027172": "RV515 GL [FireGL V3300] (Secondary)", - "10027173": "RV515 GL [FireGL V3350] (Secondary)", - "10027181": "RV516 [Radeon X1600/X1650 Series]", - "10027183": "RV516 [Radeon X1300/X1550 Series]", - "10027145": "RV515/M54 [Mobility Radeon X1400]", - "10027146": "RV515 [Radeon X1300/X1550]", - "10027147": "RV505 [Radeon X1550 64-bit]", - "10027149": "RV515/M52 [Mobility Radeon X1300]", - "1002714A": "RV515/M52 [Mobility Radeon X1300]", - "10027152": "RV515 GL [FireGL V3300]", - "10027153": "RV515 GL [FireGL V3350]", - "1002715F": "RV505 CE [Radeon X1550 64-bit]", - "10027120": "R520 [Radeon X1800] (Secondary)", - "10027124": "R520 GL [FireGL V7200] (Secondary)", - "10027129": "R520 [Radeon X1800] (Secondary)", - "1002712E": "R520 GL [FireGL V7300] (Secondary)", - "1002712F": "R520 GL [FireGL V7350] (Secondary)", - "10027140": "RV515 [Radeon X1300/X1550/X1600 Series]", - "10027142": "RV515 PRO [Radeon X1300/X1550 Series]", - "10027143": "RV505 [Radeon X1300/X1550 Series]", - "10027102": "R520/M58 [Mobility Radeon X1800]", - "10027104": "R520 GL [FireGL V7200 / Barco MXTR-5100]", - "10027109": "R520 [Radeon X1800 XL]", - "1002710A": "R520 [Radeon X1800 GTO]", - "1002710B": "R520 [Radeon X1800 GTO]", - "1002710E": "R520 GL [FireGL V7300]", - "1002710F": "R520 GL [FireGL V7350]", - "100269A1": "Vega 12", - "100269A2": "Vega 12", - "100269A3": "Vega 12", - "100269AF": "Vega 12 [Radeon Pro Vega 20]", - "10026FDF": "Polaris 20 XL [Radeon RX 580 2048SP]", - "10027100": "R520 [Radeon X1800 XT]", - "10027101": "R520/M58 [Mobility Radeon X1800 XT]", - "10026980": "Polaris12", - "10026981": "Lexa XT [Radeon PRO WX 3200]", - "10026985": "Lexa XT [Radeon PRO WX 3100]", - "10026986": "Polaris12", - "10026987": "Lexa [Radeon 540X/550X/630 / RX 640 / E9171 MCM]", - "10026995": "Lexa XT [Radeon PRO WX 2100]", - "1002699F": "Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]", - "100269A0": "Vega 12", - "1002698F": "Lexa XT [Radeon PRO WX 3100 / Barco MXRT 4700]", - "1002692F": "Tonga XTV GL [FirePro S7150V]", - "10026938": "Tonga XT / Amethyst XT [Radeon R9 380X / R9 M295X]", - "10026939": "Tonga PRO [Radeon R9 285/380]", - "1002694C": "Polaris 22 XT [Radeon RX Vega M GH]", - "1002694E": "Polaris 22 XL [Radeon RX Vega M GL]", - "1002694F": "Polaris 22 MGL XL [Radeon Pro WX Vega M GL]", - "10026930": "Tonga PRO [Radeon R9 380 4GB]", - "1002693B": "Tonga PRO GL [FirePro W7100 / Barco MXRT-7600]", - "100268FE": "Cedar LE", - "10026900": "Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445 / 530/535 / 620/625 Mobile]", - "10026901": "Topaz PRO [Radeon R5 M255]", - "10026907": "Meso XT [Radeon R5 M315]", - "10026920": "Amethyst [Radeon R9 M395/ M395X Mac Edition]", - "10026921": "Amethyst XT [Radeon R9 M295X / M390X]", - "10026929": "Tonga XT GL [FirePro S7150]", - "1002692B": "Tonga PRO GL [FirePro W7100]", - "100268FA": "Cedar [Radeon HD 7350/8350 / R5 220]", - "100268E4": "Robson CE [Radeon HD 6370M/7370M]", - "100268E5": "Robson LE [Radeon HD 6330M]", - "100268E8": "Cedar", - "100268E9": "Cedar [ATI FirePro (FireGL) Graphics Adapter]", - "100268F1": "Cedar GL [FirePro 2460]", - "100268F2": "Cedar GL [FirePro 2270]", - "100268F8": "Cedar [Radeon HD 7300 Series]", - "100268F9": "Cedar [Radeon HD 5000/6000/7350/8350 Series]", - "100268C8": "Redwood XT GL [FirePro V4800]", - "100268C9": "Redwood PRO GL [FirePro V3800]", - "100268D8": "Redwood XT [Radeon HD 5670/5690/5730]", - "100268D9": "Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570]", - "100268DA": "Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570]", - "100268DE": "Redwood", - "100268E0": "Park [Mobility Radeon HD 5430/5450/5470]", - "100268E1": "Park [Mobility Radeon HD 5430]", - "100268A9": "Juniper XT [FirePro V5800]", - "100268B8": "Juniper XT [Radeon HD 5770]", - "100268B9": "Juniper LE [Radeon HD 5670 640SP Edition]", - "100268BA": "Juniper XT [Radeon HD 6770]", - "100268BE": "Juniper PRO [Radeon HD 5750]", - "100268BF": "Juniper PRO [Radeon HD 6750]", - "100268C0": "Madison [Mobility Radeon HD 5730 / 6570M]", - "100268C1": "Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M]", - "100268C7": "Pinewood [Mobility Radeon HD 5570/6550A]", - "10026898": "Cypress XT [Radeon HD 5870]", - "10026899": "Cypress PRO [Radeon HD 5850]", - "1002689B": "Cypress PRO [Radeon HD 6800 Series]", - "1002689C": "Hemlock [Radeon HD 5970]", - "1002689D": "Hemlock [Radeon HD 5970]", - "1002689E": "Cypress LE [Radeon HD 5830]", - "100268A0": "Broadway XT [Mobility Radeon HD 5870]", - "100268A1": "Broadway PRO [Mobility Radeon HD 5850]", - "100268A8": "Granville [Radeon HD 6850M/6870M]", - "1002686D": "Vega 10 GLXTA", - "1002686E": "Vega 10 GLXLA", - "1002687F": "Vega 10 XL/XT [Radeon RX Vega 56/64]", - "10026880": "Lexington [Radeon HD 6550M]", - "10026888": "Cypress XT [FirePro V8800]", - "10026889": "Cypress PRO [FirePro V7800]", - "1002688A": "Cypress XT [FirePro V9800]", - "1002688C": "Cypress XT GL [FireStream 9370]", - "1002688D": "Cypress PRO GL [FireStream 9350]", - "10026869": "Vega 10 XGA [Radeon Pro Vega 48]", - "1002686A": "Vega 10 LEA", - "1002686B": "Vega 10 XTXA [Radeon Pro Vega 64X]", - "10026862": "Vega 10 XT [Radeon PRO SSG]", - "10026863": "Vega 10 XTX [Radeon Vega Frontier Edition]", - "10026864": "Vega 10 [Radeon Pro V340/Instinct MI25x2]", - "10026867": "Vega 10 XL [Radeon Pro Vega 56]", - "10026868": "Vega 10 [Radeon PRO WX 8100/8200]", - "1002686C": "Vega 10 [Instinct MI25 MxGPU/MI25x2 MxGPU/V340 MxGPU/V340L MxGPU]", - "1002683F": "Cape Verde PRO [Radeon HD 7750/8740 / R7 250E]", - "10026840": "Thames [Radeon HD 7500M/7600M Series]", - "10026841": "Thames [Radeon HD 7550M/7570M/7650M]", - "10026842": "Thames LE [Radeon HD 7000M Series]", - "10026843": "Thames [Radeon HD 7670M]", - "10026860": "Vega 10 [Instinct MI25/MI25x2/V340/V320]", - "10026861": "Vega 10 XT [Radeon PRO WX 9100]", - "10026828": "Cape Verde PRO [FirePro W600]", - "10026829": "Cape Verde", - "1002682A": "Venus PRO", - "1002682B": "Cape Verde PRO / Venus LE / Tropo PRO-L [Radeon HD 8830M / R7 250 / R7 M465X]", - "1002682C": "Cape Verde GL [FirePro W4100]", - "1002682D": "Chelsea XT GL [FirePro M4000]", - "1002682F": "Chelsea LP [Radeon HD 7730M]", - "10026835": "Cape Verde PRX [Radeon R9 255 OEM]", - "10026837": "Cape Verde LE [Radeon HD 7730/8730]", - "1002683D": "Cape Verde XT [Radeon HD 7770/8760 / R7 250X]", - "10026820": "Venus XTX [Radeon HD 8890M / R9 M275X/M375X]", - "10026821": "Venus XT [Radeon HD 8870M / R9 M270X/M370X]", - "10026822": "Venus PRO [Radeon E8860]", - "10026823": "Venus PRO [Radeon HD 8850M / R9 M265X]", - "10026825": "Heathrow XT [Radeon HD 7870M]", - "10026826": "Chelsea LP [Radeon HD 7700M Series]", - "10026827": "Heathrow PRO [Radeon HD 7850M/8850M]", - "10026808": "Pitcairn XT GL [FirePro W7000]", - "10026809": "Pitcairn LE GL [FirePro W5000]", - "10026810": "Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]", - "10026811": "Curacao PRO [Radeon R7 370 / R9 270/370 OEM]", - "10026816": "Pitcairn", - "10026817": "Pitcairn", - "10026818": "Pitcairn XT [Radeon HD 7870 GHz Edition]", - "10026819": "Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP]", - "100267EB": "Baffin [Radeon Pro V5300X]", - "100267EF": "Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]", - "100267FF": "Baffin [Radeon RX 550 640SP / RX 560/560X]", - "10026800": "Wimbledon XT [Radeon HD 7970M]", - "10026801": "Neptune XT [Radeon HD 8970M]", - "10026802": "Wimbledon", - "10026806": "Neptune", - "100267DF": "Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]", - "100267E0": "Baffin [Radeon Pro WX 4170]", - "100267E1": "Baffin [Polaris11]", - "100267E3": "Baffin [Radeon Pro WX 4100]", - "100267E8": "Baffin [Radeon Pro WX 4130/4150]", - "100267E9": "Baffin [Polaris11]", - "100267D7": "Ellesmere [Radeon Pro WX 5100 / Barco MXRT-6700]", - "100267C7": "Ellesmere [Radeon Pro WX 5100]", - "100267CA": "Ellesmere [Polaris10]", - "100267CC": "Ellesmere [Polaris10]", - "100267CF": "Ellesmere [Polaris10]", - "100267D0": "Ellesmere [Radeon Pro V7300X / V7350x2]", - "100267D4": "Ellesmere [Radeon Pro WX 7100 / Barco MXRT-8700]", - "100267B9": "Vesuvius [Radeon R9 295X2]", - "100267BE": "Hawaii LE", - "100267C0": "Ellesmere [Radeon Pro WX 7100 Mobile]", - "100267C2": "Ellesmere [Radeon Pro V7300X / V7350x2]", - "100267C4": "Ellesmere [Radeon Pro WX 7100]", - "100267B8": "Hawaii XT [Radeon R9 290X Engineering Sample]", - "100267A2": "Hawaii GL", - "100267A8": "Hawaii", - "100267A9": "Hawaii", - "100267AA": "Hawaii", - "100267B0": "Hawaii XT / Grenada XT [Radeon R9 290X/390X]", - "100267B1": "Hawaii PRO [Radeon R9 290/390]", - "1002679A": "Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280]", - "1002679B": "Malta [Radeon HD 7990/8990 OEM]", - "1002679E": "Tahiti LE [Radeon HD 7870 XT]", - "1002679F": "Tahiti", - "100267A0": "Hawaii XT GL [FirePro W9100]", - "100267A1": "Hawaii PRO GL [FirePro W8100]", - "10026780": "Tahiti XT GL [FirePro W9000]", - "10026784": "Tahiti [FirePro Series Graphics Adapter]", - "10026788": "Tahiti [FirePro Series Graphics Adapter]", - "1002678A": "Tahiti PRO GL [FirePro Series]", - "10026798": "Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]", - "10026770": "Caicos [Radeon HD 6450A/7450A]", - "10026771": "Caicos XTX [Radeon HD 8490 / R5 235X OEM]", - "10026772": "Caicos [Radeon HD 7450A]", - "10026778": "Caicos XT [Radeon HD 7470/8470 / R5 235/310 OEM]", - "10026779": "Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM]", - "1002677B": "Caicos PRO [Radeon HD 7450]", - "10026761": "Seymour LP [Radeon HD 6430M]", - "10026763": "Seymour [Radeon E6460]", - "10026764": "Seymour [Radeon HD 6400M Series]", - "10026765": "Seymour [Radeon HD 6400M Series]", - "10026766": "Caicos", - "10026767": "Caicos", - "10026768": "Caicos", - "10026759": "Turks PRO [Radeon HD 6570/7570/8550 / R5 230]", - "1002675B": "Turks [Radeon HD 7600 Series]", - "1002675D": "Turks PRO [Radeon HD 7570]", - "1002675F": "Turks LE [Radeon HD 5570/6510/7510/8510]", - "10026760": "Seymour [Radeon HD 6400M/7400M Series]", - "10026743": "Whistler [Radeon E6760]", - "10026749": "Turks GL [FirePro V4900]", - "1002674A": "Turks GL [FirePro V3900]", - "10026750": "Onega [Radeon HD 6650A/7650A]", - "10026751": "Turks [Radeon HD 7650A/7670A]", - "10026758": "Turks XT [Radeon HD 6670/7670]", - "1002671F": "Cayman CE [Radeon HD 6930]", - "10026720": "Blackcomb [Radeon HD 6970M/6990M]", - "10026738": "Barts XT [Radeon HD 6870]", - "10026739": "Barts PRO [Radeon HD 6850]", - "1002673E": "Barts LE [Radeon HD 6790]", - "10026740": "Whistler [Radeon HD 6730M/6770M/7690M XT]", - "10026741": "Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]", - "10026742": "Whistler LE [Radeon HD 6610M/7610M]", - "10026707": "Cayman LE GL [FirePro V5900]", - "10026718": "Cayman XT [Radeon HD 6970]", - "10026719": "Cayman PRO [Radeon HD 6950]", - "1002671C": "Antilles [Radeon HD 6990]", - "1002671D": "Antilles [Radeon HD 6990]", - "100266A2": "Vega 20", - "100266A3": "Vega 20 [Radeon Pro Vega II/Radeon Pro Vega II Duo]", - "100266A7": "Vega 20 [Radeon Pro Vega 20]", - "100266AF": "Vega 20 [Radeon VII]", - "10026704": "Cayman PRO GL [FirePro V7900]", - "10026665": "Jet PRO [Radeon R5 M230 / R7 M260DX / Radeon 520/610 Mobile]", - "10026667": "Jet ULT [Radeon R5 M230]", - "1002666F": "Sun LE [Radeon HD 8550M / R5 M230]", - "100266A0": "Vega 20 [Radeon Pro/Radeon Instinct]", - "100266A1": "Vega 20 [Radeon Pro VII/Radeon Instinct MI50 32GB]", - "10026658": "Bonaire XTX [Radeon R7 260X/360]", - "1002665C": "Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM]", - "1002665D": "Bonaire [Radeon R7 200 Series]", - "1002665F": "Tobago PRO [Radeon R7 360 / R9 360 OEM]", - "10026660": "Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / Radeon 520 Mobile]", - "10026663": "Sun PRO [Radeon HD 8570A/8570M]", - "10026664": "Jet XT [Radeon R5 M240]", - "10026631": "Oland", - "10026640": "Saturn XT [FirePro M6100]", - "10026641": "Saturn PRO [Radeon HD 8930M]", - "10026646": "Bonaire XT [Radeon R9 M280X / FirePro W6150M]", - "10026647": "Saturn PRO/XT [Radeon R9 M270X/M280X]", - "10026649": "Bonaire [FirePro W5100]", - "10026650": "Bonaire", - "10026651": "Bonaire", - "1002664D": "Bonaire [FirePro W5100 / Barco MXRT-5600]", - "10026606": "Mars XTX [Radeon HD 8790M]", - "10026607": "Mars LE [Radeon HD 8530M / R5 M240]", - "10026608": "Oland GL [FirePro W2100]", - "10026610": "Oland XT [Radeon HD 8670 / R5 340X OEM / R7 250/350/350X OEM]", - "10026611": "Oland [Radeon HD 8570 / R5 430 OEM / R7 240/340 / Radeon 520 OEM]", - "10026613": "Oland PRO [Radeon R7 240/340 / Radeon 520]", - "10026617": "Oland LE [Radeon R7 240]", - "10026609": "Oland GL [FirePro W2100 / Barco MXRT 2600]", - "10025E4F": "RV410 [Radeon X700]", - "10025E6B": "RV410 [Radeon X700 PRO] (Secondary)", - "10025E6D": "RV410 [Radeon X700] (Secondary)", - "10025F57": "R423 [Radeon X800 XT]", - "10026600": "Mars [Radeon HD 8670A/8670M/8750M / R7 M370]", - "10026601": "Mars [Radeon HD 8730M]", - "10026604": "Opal XT [Radeon R7 M265/M365X/M465]", - "10026605": "Opal PRO [Radeon R7 M260X]", - "10025D72": "R480 [Radeon X850 XT] (Secondary)", - "10025D77": "R423 [Radeon X800 XT] (Secondary)", - "10025E48": "RV410 GL [FireGL V5000]", - "10025E49": "RV410 [Radeon X700 Series]", - "10025E4A": "RV410 [Radeon X700 XT]", - "10025E4B": "RV410 [Radeon X700 PRO]", - "10025E4C": "RV410 [Radeon X700 SE]", - "10025E4D": "RV410 [Radeon X700]", - "10025D4D": "R480 [Radeon X850 XT Platinum Edition]", - "10025D4E": "R480 [Radeon X850 SE]", - "10025D4F": "R480 [Radeon X800 GTO]", - "10025D50": "R480 GL [FireGL V7200]", - "10025D52": "R480 [Radeon X850 XT]", - "10025D57": "R423 [Radeon X800 XT]", - "10025D6D": "R480 [Radeon X850 XT Platinum Edition] (Secondary)", - "10025D6F": "R480 [Radeon X800 GTO] (Secondary)", - "10025B73": "RV370 [Radeon X300/X550/X1050 Series] (Secondary)", - "10025B74": "RV370 GL [FireGL V3100] (Secondary)", - "10025B75": "RV370 GL [FireMV 2200] (Secondary)", - "10025C61": "RV280/M9+ [Mobility Radeon 9200 AGP]", - "10025C63": "RV280/M9+ [Mobility Radeon 9200 AGP]", - "10025D44": "RV280 [Radeon 9200 SE] (Secondary)", - "10025D45": "RV280 GL [FireMV 2200 PCI] (Secondary)", - "10025D48": "R423/M28 [Mobility Radeon X800 XT]", - "10025D49": "R423/M28 GL [Mobility FireGL V5100]", - "10025D4A": "R423/M28 [Mobility Radeon X800]", - "10025A62": "RC410M [Mobility Radeon Xpress 200M]", - "10025B60": "RV370 [Radeon X300]", - "10025B62": "RV370 [Radeon X600/X600 SE]", - "10025B63": "RV370 [Radeon X300/X550/X1050 Series]", - "10025B64": "RV370 GL [FireGL V3100]", - "10025B65": "RV370 GL [FireMV 2200]", - "10025B66": "RV370X", - "10025B70": "RV370 [Radeon X300 SE]", - "10025B72": "RV380 [Radeon X300/X550/X1050 Series] (Secondary)", - "10025A36": "RC4xx/RS4xx PCI Express Port 1", - "10025A37": "RC4xx/RS4xx PCI Express Port 2", - "10025A38": "RC4xx/RS4xx PCI Express Port 3", - "10025A39": "RC4xx/RS4xx PCI Express Port 4", - "10025A41": "RS400 [Radeon Xpress 200]", - "10025A42": "RS400M [Radeon Xpress 200M]", - "10025A61": "RC410 [Radeon Xpress 200/1100]", - "10025A23": "RD890S/RD990 I/O Memory Management Unit (IOMMU)", - "10025A34": "RS4xx PCI Express Port [ext gfx]", - "10025965": "RV280 GL [FireMV 2200 PCI]", - "10025974": "RS482/RS485 [Radeon Xpress 1100/1150]", - "10025975": "RS482M [Mobility Radeon Xpress 200]", - "10025960": "RV280 [Radeon 9200 PRO / 9250]", - "10025961": "RV280 [Radeon 9200]", - "10025962": "RV280 [Radeon 9200]", - "10025964": "RV280 [Radeon 9200 SE]", - "10025940": "RV280 [Radeon 9200 PRO] (Secondary)", - "10025941": "RV280 [Radeon 9200] (Secondary)", - "10025944": "RV280 [Radeon 9200 SE PCI]", - "10025954": "RS480 [Radeon Xpress 200 Series]", - "10025955": "RS480M [Mobility Radeon Xpress 200]", - "10025834": "RS300 [Radeon 9100 IGP]", - "10025835": "RS300M [Mobility Radeon 9100 IGP]", - "10025854": "RS480 [Radeon Xpress 200 Series] (Secondary)", - "10025874": "RS480 [Radeon Xpress 1150] (Secondary)", - "1002564B": "RV410/M26 GL [Mobility FireGL V5000]", - "1002564F": "RV410/M26 [Mobility Radeon X700 XL]", - "10025652": "RV410/M26 [Mobility Radeon X700]", - "10025653": "RV410/M26 [Mobility Radeon X700]", - "10025654": "Mach64 VT [Video Xpression]", - "10025655": "264VT3 [Mach64 VT3]", - "10025656": "Mach64 VT4 [Video Xpression+]", - "10025657": "RV410 [Radeon X550 XTX / X700]", - "1002554E": "R430 [All-In-Wonder X800 GT]", - "1002554F": "R430 [Radeon X800]", - "10025550": "R423 GL [FireGL V7100]", - "10025551": "R423 GL [FireGL V5100]", - "10025569": "R423 [Radeon X800 PRO] (Secondary)", - "1002556B": "R423 [Radeon X800 GT] (Secondary)", - "1002556D": "R480 [Radeon X800 GTO2/XL] (Secondary)", - "1002556F": "R430 [Radeon X800] (Secondary)", - "10025571": "R423 GL [FireGL V5100] (Secondary)", - "10025462": "RV380/M24C [Mobility Radeon X600 SE]", - "10025464": "RV370/M22 GL [Mobility FireGL V3100]", - "10025549": "R423 [Radeon X800 GTO]", - "1002554A": "R423 [Radeon X800 XT Platinum Edition]", - "1002554B": "R423 [Radeon X800 GT/SE]", - "1002554D": "R480 [Radeon X800 GTO2/XL]", - "1002524C": "Rage 128 VR AGP", - "1002534D": "Rage 128 4X AGP 4x", - "10025354": "Mach 64 VT", - "10025446": "Rage 128 PRO Ultra AGP 4x", - "10025452": "Rage 128 PRO Ultra4XL VR-R AGP", - "10025460": "RV370/M22 [Mobility Radeon X300]", - "10025461": "RV370/M22 [Mobility Radeon X300]", - "1002514C": "R200 [Radeon 8500/8500 LE]", - "1002514D": "R200 [Radeon 9100]", - "10025157": "RV200 [Radeon 7500/7500 LE]", - "10025159": "RV100 [Radeon 7000 / Radeon VE]", - "1002515E": "ES1000", - "10025245": "Rage 128 GL PCI", - "10025246": "Rage 128 (Rage 4) series", - "1002524B": "Rage 128 VR PCI", - "10024E6A": "RV350 [Radeon 9800 XT] (Secondary)", - "10024E71": "RV350/M10 [Mobility Radeon 9600] (Secondary)", - "10024F72": "RV250 [Radeon 9000 Series]", - "10024F73": "RV250 [Radeon 9000 Series] (Secondary)", - "10025044": "All-In-Wonder 128 PCI", - "10025046": "Rage 4 [Rage 128 PRO AGP 4X]", - "10025050": "Rage 4 [Rage 128 PRO PCI / Xpert 128 PCI]", - "10025052": "Rage 4 [Rage 128 PRO AGP 4X]", - "10025144": "R100 [Radeon 7200 / All-In-Wonder Radeon]", - "10025148": "R200 GL [FireGL 8800]", - "10024E54": "RV350/M10 GL [Mobility FireGL T2]", - "10024E56": "RV360/M12 [Mobility Radeon 9550]", - "10024E64": "R300 [Radeon 9700 PRO] (Secondary)", - "10024E65": "R300 [Radeon 9500 PRO] (Secondary)", - "10024E66": "RV350 [Radeon 9600] (Secondary)", - "10024E67": "R300 GL [FireGL X1] (Secondary)", - "10024E68": "R350 [Radeon 9800 PRO] (Secondary)", - "10024E69": "R350 [Radeon 9800] (Secondary)", - "10024E48": "R350 [Radeon 9800 Series]", - "10024E49": "R350 [Radeon 9800]", - "10024E4A": "R360 [Radeon 9800 XXL/XT]", - "10024E4B": "R350 GL [FireGL X2 AGP Pro]", - "10024E50": "RV350/M10 / RV360/M11 [Mobility Radeon 9600 (PRO) / 9700]", - "10024E51": "RV350 [Radeon 9550/9600/X1050 Series]", - "10024E52": "RV350/M10 [Mobility Radeon 9500/9700 SE]", - "10024C66": "RV250/M9 GL [Mobility FireGL 9000/Radeon 9000]", - "10024C6E": "RV250/M9 [Mobility Radeon 9000] (Secondary)", - "10024D46": "Rage Mobility 128 AGP 4X/Mobility M4", - "10024D52": "Theater 550 PRO PCI [ATI TV Wonder 550]", - "10024D53": "Theater 550 PRO PCIe", - "10024E44": "R300 [Radeon 9700/9700 PRO]", - "10024E45": "R300 [Radeon 9500 PRO/9700]", - "10024E46": "R300 [Radeon 9600 TX]", - "10024E47": "R300 GL [FireGL X1]", - "10024C4E": "Rage Mobility L AGP 2x", - "10024C46": "Rage Mobility 128 AGP 2X/Mobility M3", - "10024C47": "3D Rage IIC PCI / Mobility Radeon 7500/7500C", - "10024C49": "3D Rage LT PRO PCI", - "10024C4D": "Rage Mobility AGP 2x Series", - "10024C50": "Rage 3 LT [3D Rage LT PRO PCI]", - "10024C52": "M1 [Rage Mobility-M1 PCI]", - "10024C54": "264LT [Mach64 LT]", - "10024C57": "RV200/M7 [Mobility Radeon 7500]", - "10024C58": "RV200/M7 GL [Mobility FireGL 7800]", - "10024C59": "RV100/M6 [Rage/Radeon Mobility Series]", - "10024A6A": "R420 [Radeon X800] (Secondary)", - "10024A6B": "R420 [Radeon X800 XT AGP] (Secondary)", - "10024A70": "R420 [Radeon X800 XT Platinum Edition AGP] (Secondary)", - "10024A74": "R420 [Radeon X800 VE] (Secondary)", - "10024B49": "R481 [Radeon X850 XT AGP]", - "10024B4B": "R481 [Radeon X850 PRO AGP]", - "10024B4C": "R481 [Radeon X850 XT Platinum Edition AGP]", - "10024B69": "R481 [Radeon X850 XT AGP] (Secondary)", - "10024B6B": "R481 [Radeon X850 PRO AGP] (Secondary)", - "10024B6C": "R481 [Radeon X850 XT Platinum Edition AGP] (Secondary)", - "10024C42": "Mach64 LT [3D Rage LT PRO AGP]", - "1002496E": "RV250 [Radeon 9000] (Secondary)", - "10024A49": "R420 [Radeon X800 PRO/GTO AGP]", - "10024A4A": "R420 [Radeon X800 GT AGP]", - "10024A4B": "R420 [Radeon X800 AGP Series]", - "10024A4D": "R420 GL [FireGL X3-256]", - "10024A4E": "RV420/M18 [Mobility Radeon 9800]", - "10024A4F": "R420 [Radeon X850 AGP]", - "10024A50": "R420 [Radeon X800 XT Platinum Edition AGP]", - "10024A54": "R420 [Radeon X800 VE AGP]", - "10024A69": "R420 [Radeon X800 PRO/GTO] (Secondary)", - "10024966": "RV250 [Radeon 9000 Series]", - "10024753": "Rage XC", - "10024754": "Mach64 GT/GT-B [3D Rage I/II]", - "10024755": "Mach64 GT-B [3D Rage II+ DVD]", - "10024756": "Rage 2 [3D Rage IIC PCI]", - "10024757": "Rage 2 [3D Rage IIC AGP]", - "10024758": "Mach64 GX [WinTurbo]", - "10024759": "Rage 3 [3D Rage IIC PCI]", - "1002475A": "3D Rage IIC AGP", - "10024654": "Mach64 VT", - "10024742": "Rage 3 [3D Rage PRO AGP 2X]", - "10024744": "Rage 3 [3D Rage PRO AGP 1X]", - "10024749": "3D Rage PRO PCI", - "1002474D": "Rage XL AGP 2X", - "1002474E": "Rage XC AGP", - "1002474F": "Rage XL", - "10024750": "3D Rage Pro PCI", - "10024752": "Rage 3 [Rage XL PCI]", - "10024437": "RS250 [Mobility Radeon 7000 IGP]", - "10024554": "210888ET [Mach64 ET]", - "10024630": "XENOS Parent Die (XBOX 360)", - "10024631": "XENOS Daughter Die (XBOX 360)", -} - - update_modules() if len(sys.argv) > 1 and sys.argv[1] == "--launch-uvicorn":