**This Article is being improved all the time.
N-series is a set of the various microarchitecture of GPUs. They come in all sizes with fractional, single, and multiple (up to 8). You won’t find an N-Series in all the regions and thus it is best to check if that region supports it first. Let’s take a deeper dive into each SKU and the specs for them:
GPU Optimized Virtual Machines | Microarchitecture | Released | Technical Link |
---|---|---|---|
NC-Series | NVIDIA Tesla K80 (Kepler) | November 2014 | BoardSpec |
NCv2-Series | NVIDIA Tesla P100 (Pascal) | June 2016 | BoardSpec |
NCv3-Series | NVIDIA Tesla V100 (Volta) | June 2017 | BoardSpec |
NCasT4_v3-Series | NVIDIA Tesla T4 (Turing) | September 2018 | BoardSpec |
ND-Series | NVIDIA Tesla P40 (Pascal) | September 2016 | BoardSpec |
NDv2-Series | NVIDIA Tesla V100 NVLINK-connected GPUs (Volta) | June 2017 | BoardSpec |
NV-Series | NVIDIA Tesla M60 (Maxwell) | August 2015 | BoardSpec |
NVv3-Series | NVIDIA Tesla M60 (Maxwell) | August 2015 | BoardSpec |
NVv4-Series | AMD Radeon Instinct MI25 (Vega 10) | December 2016 | BoardSpec |
Currently, in Norway, the only region with N-Series is Norway West (NVv3-series). If you want access to it, you have to create a support ticket asking for region access to Norway West, the SKU you want to use, and how many you plan to use (quota). The NVv3-series has 4 assorted sizes
Supported Operating Systems
The N-series are supported on:
- Windows Server 2019
- Windows Server 2016
- Windows 10 (up to build 2004)
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- Red Hat Enterprise Linux 7.6 (to 7.8, 8.0, 8.1)
- CentOS 7.6 (to 7.7, 8.0, 8(1911))
- SUSE Linux Enterprise Server 12 SP2
How are the GPU attached to the images
The gallery/image that is used is the default image that can be used on other SKU types. It doesn’t understand that you have a GPU. As far as I know, you need a driver for the N-Series to work. I don’t think that was the goal as for the Windows OS, they use something called Discrete Device Assignment –passes the entire PCIe device into the guest VM. According to the documentation, one wouldn’t need to install the driver for it to work. I am sure a lot of things are going on under the hood, but do take a look into Discrete Device Assignment docs.
Adding the GPU Driver
When it comes to adding the GPU driver you have multiple options:
Add it with the VM Extensions (I have never had luck with this working.)
Add it manually by downloading the driver (I have always had this working)
Use PowerShell (Since this uses the manual download, it works)
Verify GPU Driver is installed
Once you have picked how you will install the driver it is time to verify that it is actually connected to your VM. A simple method is to navigate to the Device Manager and see if you can see the new driver, but it might not always appear as it depends on the N-Series VM SKU.
When you look into the Device Manager you might see the warning triangle next to the new display adapter. What you can do is go to dxdaig and click Display. On the lower left, you should see if it has any errors. Most commonly it is the “graphics device driver error code 14”. To solve this, you simply need to restart the machine.
Also, the driver installation includes nvidia-smi which allows us to show (NVIDIA System Management Interface program) You can run nvidia-smi
command from C:\Program Files\NVIDIA Corporation\NVSMI
.
Since you are here, I do suggest running the followingnvidia-smi -fdm 0
as it will make sure to assign the driver.
Benchmarking
I use the Heaven Benchmark simply because it is free.
If you decide to run the same benchmark and get the following. It simply means you didn’t attach the GPU correctly.
Optimization
Leverage RDP with a full effect you need to open UDP as well as TCP when setting up the virtual machine (RDP using TCP is added by default) on the security group.
Once this is completed, you will then need to configure a Group Policy:
Navigate to: Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment > RemoteFX for Windows Server 2008 R2
“Configure RemoteFX”
“Optimize Visual experience when using RemoteFX”
“Optimize Visualexperience for Remote Desktop Service Sessions”
Group Policies status is set to Enabled.
Navigate to: Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment
“Use Hardware graphic adapters for all Remote Desktop Services sessions”
“Configure compression for RemoteFX data”
“Prioritize H.264/AVC 444 graphic mode for Remote Desktop Connections”
“Configure H.264/AVC hardware encoding for Remote Desktop Connections”
Group Policies status is set to Enabled.
What does optimizing actually accomplish? In my short test, it does improve a little, but it comes at a cost. It sometimes has encoding issues of blue/purple flashing of the RDP session.
Cost
When it comes to the price of the N-Series, you must think about the bandwidth that could be associated with it. I often find this a moot point because outbound data transfer has the following pricing:
Outbound Data Transfers | Zone 1* |
---|---|
First 5 GB /Month 1 | Free |
5 GB – 10 TB 2 /Month | $0.087 per GB |
Next 40 TB (10 – 50 TB) /Month | $0.083 per GB |
Next 100 TB (50 – 150 TB) /Month | $0.07 per GB |
Next 350 TB (150 – 500 TB) /Month | $0.05 per GB |
Over 500 TB /Month | Contact us |
1 For monetary credit, 6-, and 12-month offers, outbound data transfer will be charged at the 5 GB – 10 TB tier.
2 1 TB = 1,024 GB
Check your own Region https://azure.microsoft.com/en-us/pricing/details/bandwidth/
As you can see in the table above, as the outbound data transfer increases, you get a discount. Depending on how the subscription is created, this could provide benefits over time. Saying that workloads that are running RDP and using AutoCAD like software could easily push 350 GB per month. $0.087 * 350 = $30.45 for a single user running a VM. If we assume that all 100 VMs use 350 GB, then that is $0.083 * 35000 GB = $2,905. That is a discount of about $1,000 as 34.17 TB brings you to the next pricing tier. I can’t stress enough, that the data above is not accurate for all workloads, but it is something to think about.
When doing the benchmarking, I had about 2 GB for 1 hour.