About This Page
This page is part of the Azure documentation. It contains code examples and configuration instructions for working with Azure services.
Bias Analysis
Bias Types:
⚠️
powershell_heavy
⚠️
windows_first
⚠️
windows_tools
⚠️
missing_linux_example
Summary:
The documentation demonstrates a Windows bias in several ways: PowerShell is used as the primary and often only CLI interface for both Windows and Linux instructions, with all command-line examples (including Linux deployment and verification) shown as PowerShell commands executed from a Windows environment. Windows-specific tools and file paths are referenced first and in more detail. There is a lack of native Linux shell (bash) examples for deploying, tracking, and removing the GPU extension, and Linux users are implicitly expected to use PowerShell or operate from a Windows client.
Recommendations:
- Provide native bash/CLI examples for Linux users, including az CLI commands for deployment, tracking, and removal of extensions.
- Show Linux commands being run from a Linux terminal (not PowerShell on Windows), using standard Linux conventions.
- Ensure that Linux instructions and examples are presented with equal prominence and detail as Windows instructions.
- Reference Linux log file locations and troubleshooting steps with the same clarity as Windows paths.
- Clarify whether PowerShell Core (pwsh) is required on Linux, or provide alternatives using bash and az CLI.
- Avoid assuming the user is operating from a Windows machine when managing Linux VMs.
Create pull request
Flagged Code Snippets
Get-AzureRmVMExtension -ResourceGroupName myResourceGroup -VMName <VM Name> -Name <Extension Name>
$templateFile = "<Path to addGPUextensiontoVM.json>"
$templateParameterFile = "<Path to addGPUExtWindowsVM.parameters.json>"
RGName = "<Name of your resource group>"
New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "<Name for your deployment>"
$templateFile = "Path to addGPUextensiontoVM.json"
$templateParameterFile = "Path to addGPUExtLinuxVM.parameters.json"
$RGName = "<Name of your resource group>"
New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "<Name for your deployment>"
Get-AzureRmVMExtension -ResourceGroupName <Name of resource group> -VMName <Name of VM> -Name <Name of the extension>
PS C:\WINDOWS\system32> Get-AzureRmVMExtension -ResourceGroupName myasegpuvm1 -VMName VM2 -Name windowsgpuext
ResourceGroupName : myasegpuvm1
VMName : VM2
Name : windowsgpuext
Location : dbelocal
Etag : null
Publisher : Microsoft.HpcCompute
ExtensionType : NvidiaGpuDriverWindows
TypeHandlerVersion : 1.3
Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myasegpuvm1/providers/Microsoft.Compute/virtualMachines/VM2/extensions/windowsgpuext
PublicSettings : {
"DriverURL": "http://us.download.nvidia.com/tesla/442.50/442.50-tesla-desktop-winserver-2019-2016-international.exe",
"DriverCertificateUrl": "https://go.microsoft.com/fwlink/?linkid=871664",
"DriverType": "CUDA"
}
ProtectedSettings :
ProvisioningState : Creating
Statuses :
SubStatuses :
AutoUpgradeMinorVersion : True
ForceUpdateTag :
PS C:\WINDOWS\system32>
"status": {
"formattedMessage": {
"message": "Enable Extension",
"lang": "en"
},
"name": "NvidiaGpuDriverWindows",
"status": "success",
"parameters": {
"vmName": {
"value": "<name of the VM>"
},
"extensionName": {
"value": "<name for the extension. Example: windowsGpu>"
},
"publisher": {
"value": "Microsoft.HpcCompute"
},
"type": {
"value": "NvidiaGpuDriverWindows"
},
"typeHandlerVersion": {
"value": "1.5"
},
"settings": {
"value": {
"DriverURL" : "http://us.download.nvidia.com/tesla/511.65/511.65-data-center-tesla-desktop-winserver-2016-2019-2022-dch-international.exe",
"DriverCertificateUrl" : "https://go.microsoft.com/fwlink/?linkid=871664",
"DriverType":"CUDA"
}
}
}
PS C:\WINDOWS\system32> ssh -l Administrator 10.57.50.60
Administrator@10.57.50.60's password:
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 5.0.0-1031-azure x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Thu Dec 10 22:57:01 UTC 2020
System load: 0.0 Processes: 133
Usage of /: 24.8% of 28.90GB Users logged in: 0
Memory usage: 2% IP address for eth0: 10.57.50.60
Swap usage: 0%
249 packages can be updated.
140 updates are security updates.
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 5.0.0-1031-azure x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Thu Dec 10 22:57:01 UTC 2020
System load: 0.0 Processes: 133
Usage of /: 24.8% of 28.90GB Users logged in: 0
Memory usage: 2% IP address for eth0: 10.57.50.60
Swap usage: 0%
249 packages can be updated.
140 updates are security updates.
New release '20.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
*** System restart required ***
Last login: Thu Dec 10 21:49:29 2020 from 10.90.24.23
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Administrator@VM1:~$
PS C:\azure-stack-edge-deploy-vms> Remove-AzureRmVMExtension -ResourceGroupName rgl -VMName WindowsVM -Name windowsgpuext
Virtual machine extension removal operation
This cmdlet will remove the specified virtual machine extension. Do you want to continue? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
Requestld IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK OK
"parameters": {
"vmName": {
"value": "<name of the VM>"
},
"extensionName": {
"value": "<name for the extension. Example: windowsGpu>"
},
"publisher": {
"value": "Microsoft.HpcCompute"
},
"type": {
"value": "NvidiaGpuDriverWindows"
},
"typeHandlerVersion": {
"value": "1.3"
},
"settings": {
"value": {
"DriverURL" : "http://us.download.nvidia.com/tesla/442.50/442.50-tesla-desktop-winserver-2019-2016-international.exe",
"DriverCertificateUrl" : "https://go.microsoft.com/fwlink/?linkid=871664",
"DriverType":"CUDA"
}
}
}
PS C:\WINDOWS\system32> "C:\12-09-2020\ExtensionTemplates\addGPUextensiontoVM.json"
C:\12-09-2020\ExtensionTemplates\addGPUextensiontoVM.json
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\ExtensionTemplates\addGPUextensiontoVM.json"
PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\ExtensionTemplates\addGPUExtWindowsVM.parameters.json"
PS C:\WINDOWS\system32> $RGName = "myasegpuvm1"
PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "deployment3"
DeploymentName : deployment3
ResourceGroupName : myasegpuvm1
ProvisioningState : Succeeded
Timestamp : 12/16/2020 12:18:50 AM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
vmName String VM2
extensionName String windowsgpuext
publisher String Microsoft.HpcCompute
type String NvidiaGpuDriverWindows
typeHandlerVersion String 1.3
settings Object {
"DriverURL": "http://us.download.nvidia.com/tesla/442.50/442.50-tesla-desktop-winserver-2019-2016-international.exe",
"DriverCertificateUrl": "https://go.microsoft.com/fwlink/?linkid=871664",
"DriverType": "CUDA"
}
Outputs :
DeploymentDebugLogLevel :
PS C:\WINDOWS\system32>
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\ExtensionTemplates\addGPUextensiontoVM.json"
PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\ExtensionTemplates\addGPUExtLinuxVM.parameters.json"
PS C:\WINDOWS\system32> $RGName = "rg2"
PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "deployment7"
DeploymentName : deployment7
ResourceGroupName : rg2
ProvisioningState : Succeeded
Timestamp : 12/10/2020 10:43:23 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
vmName String VM1
extensionName String gpuLinux
publisher String Microsoft.HpcCompute
type String NvidiaGpuDriverLinux
typeHandlerVersion String 1.3
settings Object {
"DRIVER_URL": "https://go.microsoft.com/fwlink/?linkid=874271",
"PUBKEY_URL":
"http://download.microsoft.com/download/F/F/A/FFAC979D-AD9C-4684-A6CE-C92BB9372A3B/7fa2af80.pub",
"CUDA_ver": "10.0.130",
"InstallCUDA": "true"
}
Outputs :
DeploymentDebugLogLevel :
PS C:\WINDOWS\system32>
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS C:\WINDOWS\system32> Get-AzureRmVMExtension -ResourceGroupName rg2 -VMName VM1 -Name gpulinux
ResourceGroupName : rg2
VMName : VM1
Name : gpuLinux
Location : dbelocal
Etag : null
Publisher : Microsoft.HpcCompute
ExtensionType : NvidiaGpuDriverLinux
TypeHandlerVersion : 1.3
Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/VM1/extensions/gpuLinux
PublicSettings : {
"DRIVER_URL": "https://go.microsoft.com/fwlink/?linkid=874271",
"PUBKEY_URL": "http://download.microsoft.com/download/F/F/A/FFAC979D-AD9C-4684-A6CE-C92BB9372A3B/7fa2af80.pub",
"CUDA_ver": "10.0.130",
"InstallCUDA": "true"
}
ProtectedSettings :
ProvisioningState : Creating
Statuses :
SubStatuses :
AutoUpgradeMinorVersion : True
ForceUpdateTag :
PS C:\WINDOWS\system32>
PS C:\Users\Administrator> cd "C:\Program Files\NVIDIA Corporation\NVSMI"
PS C:\Program Files\NVIDIA Corporation\NVSMI> ls
Directory: C:\Program Files\NVIDIA Corporation\NVSMI
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2/26/2020 12:00 PM 849640 MCU.exe
-a---- 2/26/2020 12:00 PM 443104 nvdebugdump.exe
-a---- 2/25/2020 2:06 AM 81823 nvidia-smi.1.pdf
-a---- 2/26/2020 12:01 PM 566880 nvidia-smi.exe
-a---- 2/26/2020 12:01 PM 991344 nvml.dll
PS C:\Program Files\NVIDIA Corporation\NVSMI> .\nvidia-smi.exe
Wed Dec 16 00:35:51 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 442.50 Driver Version: 442.50 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla T4 TCC | 0000503C:00:00.0 Off | 0 |
| N/A 35C P8 11W / 70W | 8MiB / 15205MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
PS C:\Program Files\NVIDIA Corporation\NVSMI>