Repository: microsoft/lisa

Issue:
LISA skipped `verify_gpu_adapter_count` by wrongly regarding `Standard_ND96asr_v4` SKU as AMD GPU.
LISA skipped `verify_gpu_adapter_count` by wrongly regarding `Standard_ND96asr_v4` SKU as AMD GPU.

Key log here:

```
2023-06-27 05:50:13.454[36760][INFO] lisa.suite[Gpu].case[verify_gpu_adapter_count] case skipped: AMD vm sizes is not supported
```

The GPU is NVIDIA actually, logs here:

```
2023-06-27 05:50:13.314[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 0001:00:00.0 "3D controller" "NVIDIA Corporation" "GA100 [A100 SXM4 40GB]" -ra1 "NVIDIA Corporation" "Device 134f"
2023-06-27 05:50:13.315[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 0002:00:00.0 "3D controller" "NVIDIA Corporation" "GA100 [A100 SXM4 40GB]" -ra1 "NVIDIA Corporation" "Device 134f"
2023-06-27 05:50:13.315[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 0003:00:00.0 "3D controller" "NVIDIA Corporation" "GA100 [A100 SXM4 40GB]" -ra1 "NVIDIA Corporation" "Device 134f"
2023-06-27 05:50:13.316[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 0004:00:00.0 "3D controller" "NVIDIA Corporation" "GA100 [A100 SXM4 40GB]" -ra1 "NVIDIA Corporation" "Device 134f"
2023-06-27 05:50:13.316[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 0005:00:00.0 "Bridge" "NVIDIA Corporation" "GA100 [A100 NVSwitch]" -ra1 "NVIDIA Corporation" "Device 13b8"
2023-06-27 05:50:13.317[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 0006:00:00.0 "Bridge" "NVIDIA Corporation" "GA100 [A100 NVSwitch]" -ra1 "NVIDIA Corporation" "Device 13b8"
2023-06-27 05:50:13.317[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 0007:00:00.0 "Bridge" "NVIDIA Corporation" "GA100 [A100 NVSwitch]" -ra1 "NVIDIA Corporation" "Device 13b8"
2023-06-27 05:50:13.437[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 0008:00:00.0 "Bridge" "NVIDIA Corporation" "GA100 [A100 NVSwitch]" -ra1 "NVIDIA Corporation" "Device 13b8"
2023-06-27 05:50:13.437[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 0009:00:00.0 "Bridge" "NVIDIA Corporation" "GA100 [A100 NVSwitch]" -ra1 "NVIDIA Corporation" "Device 13b8"
2023-06-27 05:50:13.438[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 000a:00:00.0 "Bridge" "NVIDIA Corporation" "GA100 [A100 NVSwitch]" -ra1 "NVIDIA Corporation" "Device 13b8"
2023-06-27 05:50:13.438[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 000b:00:00.0 "3D controller" "NVIDIA Corporation" "GA100 [A100 SXM4 40GB]" -ra1 "NVIDIA Corporation" "Device 134f"
2023-06-27 05:50:13.439[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 000c:00:00.0 "3D controller" "NVIDIA Corporation" "GA100 [A100 SXM4 40GB]" -ra1 "NVIDIA Corporation" "Device 134f"
2023-06-27 05:50:13.439[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 000d:00:00.0 "3D controller" "NVIDIA Corporation" "GA100 [A100 SXM4 40GB]" -ra1 "NVIDIA Corporation" "Device 134f"
2023-06-27 05:50:13.440[27620][DEBUG] lisa.env[generated_2].node[0].cmd[3400].stdout 000e:00:00.0 "3D controller" "NVIDIA Corporation" "GA100 [A100 SXM4 40GB]" -ra1 "NVIDIA Corporation" "Device 134f"
```

Affect commit id `d7aa9587e3219bda8cbfa588cf8ab52ab43ac7d6` (2023-06-19T13:01:23+08:00) from main branch.


Discussion:
I'll submit a PR today.

`lisa\sut_orchestrator\azure\features.py`, class `Gpu`, field `_amd_supported_skus`.

Resolving patch:
diff --git a/lisa/sut_orchestrator/azure/features.py b/lisa/sut_orchestrator/azure/features.py
--- a/lisa/sut_orchestrator/azure/features.py
+++ b/lisa/sut_orchestrator/azure/features.py
@@ -447,7 +447,12 @@ class Gpu(AzureFeatureMixin, features.Gpu):
         r"Standard_NV[\d]+ad(ms|s)_A10_v5)",
         re.I,
     )
-    _amd_supported_skus = re.compile(r"^Standard_[^_]+_v4$", re.I)
+    # refer https://learn.microsoft.com/en-us/azure/virtual-machines/windows/n-series-amd-driver-setup # noqa: E501
+    # - NGads V620 Series: Standard_NG[^_]+_V620_v[0-9]+
+    # - NVv4 Series: Standard_NV[^_]+_v4
+    _amd_supported_skus = re.compile(
+        r"^(Standard_NG[^_]+_V620_v[0-9]+|Standard_NV[^_]+_v4)$", re.I
+    )
     _gpu_extension_template = """
         {
         "name": "[concat(parameters('nodes')[copyIndex('vmCopy')]['name'], '/gpu-extension')]",


Test patch: