By now, Esri users have heard the message that a dedicated Graphics Processing Unit or “GPU” is essential to the successful delivery of ArcGIS Pro in virtual environments. A common question from our users is “which GPU do I choose for my workload?”. Well, that depends! If ArcGIS Pro performed just one function such as rendering 3D maps, then it would be a simple calculation. ArcGIS Pro is capable of 2D, 3D, and LIDAR visualization as well as utilizing complex geoprocessing tools that can be optimized by CUDA, a parallel GPU compute platform designed by the NVIDIA corporation. Selecting the correct GPU for the right workload is essential to the successful deployment of ArcGIS Pro in a virtualized environment. Let’s first understand some of the challenges that our customers face when selecting a GPU for their organization:
Server Compatibility Utilizing NVIDIA’s server certification page https://www.nvidia.com/en-us/data-center/resources/vgpu-certified-servers/can help you determine if the physical GPU architecture you desire to purchase is compatible with your current or proposed physical server environment. Not all graphics processing units and GPU architectures are compatible with all hardware.
User Types Determine what type of ArcGIS Pro users and how many users you have in your organization. The type of ArcGIS Pro user can be broken down into 3 categories: (Heavy/3D Engineers, Mid/Power Users, Light/Knowledge workers) This will help determine what vGPU profile you will deliver to your users. This number will be used in conjunction with how many physical GPUs you can install into your physical servers. vGPU profiles can be found in the NVIDIA Virtual GPU Software Documentation for each physical GPU here 1.4.1. Virtual GPU Types
Know Your ArcGIS Projects It is common to have a virtualization administrator take on the burden of designing the virtualization requirements for the ArcGIS Pro application. This is however risky as the virtualization administrator may not have any experience using ArcGIS Pro and the tools and options that require a GPU within it. Most virtual applications do not require a GPU, so there may be contention between perceived need of a GPU vs actual need. This is especially true when the IT Department is outsourced. Currently, visualization (2D and 3D) and several Geoprocessing Tools (Slope, Aspect, and Viewshed 2) utilize a GPU. New analysis features have been added such as the Detect Objects Using Deep Learning tool that can take advantage of a well-provisioned GPU.
Proof of Concept – We highly recommend a proof of concept validating the GPU workload for your virtual environment. Esri’s Performance Engineering team in Redlands, CA performs vGPU testing on various GPU and server hardware both with on-premise virtualized solutions as well as those in the cloud. While we have tested many scenarios, it is very difficult to test every one of them. We highly recommend deploying a proof of concept and testing your ArcGIS Pro projects.
Diverse ArcGIS Pro Workloads using the NVIDIA Tesla T4 (with Quadro vDWS)
NVIDIA has produced many different server-based graphics processors over the recent years. The first being the NVIDIA GRID Kepler architecture series, which was released in 2012. Since then, the Maxwell, Pascal, Volta, and Turing microarchitecture, which was released in Feb of 2019. Advancements in the Pascal microarchitecture and later allow for both visualization as well as high performance computing simultaneously. NVIDIA GPUs are classified by either performance, density, or blade optimized. In the chart below, you will see that the V100, P40, T4, P4, and M60 are all classified as performance optimized graphics processors. All these GPUs are meant for performance workloads such as heavy 3D visualization, machine or deep learning, or data science projects. The M10 is a density optimized board and is well suited for maximizing knowledge worker density on a rack mounted server.
The blade optimized P6 GPU is designed for blade chassis servers. Blade server’s hardware is density centric. Server blades utilize a mobile PCIe module (MXM) vs the standard PCIe form factor. Since ArcGIS Pro is a professional 3D GIS application akin to SolidWorks or Catia, we recommend utilizing a performance optimized GPU for ArcGIS Pro virtualization in conjunction with rack mounted server hardware. Choosing this combination of hardware allows for the flexibility of ArcGIS Pro to deliver both a simple 2D rendered visualization as well as utilize advanced GPU features such as the deep learning tools. The NVIDIA Tesla T4 (with Quadro vDWS) is the latest performance optimized GPU offering from NVIDIA with the Turing microarchitecture that offers the most diverse use cases for virtualizing ArcGIS Pro. Looking at the chart below, The T4 is a low-profile, single PCIe slot form factor GPU with 16GB of GPU memory and 70w of power consumption. This doubles the GPU memory of the NVIDIA Tesla P4 and is 5 watts more conservative in power consumption than its predecessor. The NVIDIA Tesla T4 is an excellent choice for delivering various workload types within ArcGIS Pro.
The NVIDIA Tesla T4 can run diverse ArcGIS Pro workloads such as 3D visualization, spatial analysis, as well as creating training samples and detecting objects using deep learning via Image Analyst tools in ArcGIS Pro. Recently, we have collaborated with NVIDIA & Cisco Systems on visualization density testing with the NVIDIA Tesla T4 GPU using a Cisco C240 M5 server with 6 x NVIDIA Tesla T4s, here was the outcome:
Visualization (3D rendering tests)
In our Performance Engineering testing with the Philly 3D dataset, we tested for average rendering speed (measured in average frames per second) by flying through a sequence of pre-saved bookmarks. As you can see in the graph below, the NVIDIA Tesla T4 performs well with both with 1 virtual machine as well as 24. We found that the 4Q profile worked best as the 2Q profile reached 98%+ CPU during the density testing (24 VM test). With 24 virtual machines flying through bookmarks simultaneously, each with a 5 second start offset, we were obtaining 54.61 average frames per second.
Spatial Analysis Testing
When testing ArcGIS Pro with the NVIDIA Tesla T4 we selected tests from the standard ArcGIS Pro Performance Test Suite that causes ArcGIS Pro to exercise the underlying GPU. One of these tests was our spatial analysis tests, which are commonly measured in Elapsed Runtime. Three individual tests encompass the Spatial Analysis Test, Slope, Aspect, and Viewshed 2. The first, Slope, calculates the maximum rate of change in value from that cell to its neighbors. The second test, Aspect, identifies the downslope direction of the maximum rate of change in value from each cell to its neighbors. Third, we run Viewshed 2 test, which determines the surface locations visible to a set of observer features, using geodesic methods. This test looks for observer visibility up to a range of 100 miles from the summit of Mt. Whitney, CA.
These tests were executed on the Cisco C240 M5 with VMware VSphere 6.7, NVIDIA Virtual GPU Manager v 418.66-418.70-425.31, and the VMware Horizon client providing the connectivity between the virtual client and the virtual desktop (Win10, 6vCPU, 8GB memory). The T4-4Q vGPU profile w/Quadro vDWS was used for this test.
The Elapsed Runtimes for the Viewshed 2 tests were significantly reduced from 79.33 minutes when run without a GPU to 3.80 minutes when run with the GPU enabled, a reduction of 95.20%. We utilized the best effort scheduler (default) for our testing, which as expected, gave us very similar results across the 4Q, 8Q & 16Q profiles. The scheduler in the NVIDIA Virtual GPU Manager is how the hypervisor services the GPU load from each VM. It can be configured with 3 different scheduling options, best effort, equal share, and fixed share. The best effort scheduler allows a vGPU to use GPU processing cycles that are not being used by other vGPUs. For more info on vGPU scheduling behavior, see here Changing vGPU Scheduling Behavior
Testing Deep Learning Tools in ArcGIS Pro
We selected a project that used deep learning from our learn.arcgis.com website and created a standard ArcGIS Pro performance test that inventories the coconut trees on the Kolovai plantation in Tonga. Using the CoconutHealth.aprx in conjunction with the Detect Objects Using Deep Learning Image Analyst Tool in ArcGIS Pro 2.4 we detected and inventoried each palm tree in a section of the plantation. The below blog provides details of the original project. As you can see in the results from our tests, the NVIDIA Tesla T4 significantly reduced detection times over CPU alone by 59.65% with the NVIDIA Tesla T4-8Q profile.
ArcGIS Pro is an advanced GIS application that can support data visualization as well as perform advanced analysis of both 2D and 3D data. Understanding your server hardware, ArcGIS project types, and user requirements will greatly help you deliver ArcGIS Pro virtually to your users. The NVIDIA Tesla T4 is an all-around good performing GPU when using various ArcGIS Pro workloads such as 3D visualization, spatial analysis, or conducting inferencing analysis using deep learning. The Turing architecture of the Tesla T4 boasts a 25% faster performance than the P4 and almost twice the graphics performance of the M60.
For more information regarding the NVIDIA T4, read the Tesla T4 for Virtualization Technology Brief, by Emily Apsey: