Performance Optimization
In order to achieve an optimal throughput, please consider the following suggestions:
Optimize Hardware & Operating System
Follow the Hardware Recommendations. In particular, it is important for the computer to have sufficient main memory (RAM).
Avoid other applications running in parallel consuming RAM or CPU/GPU power
Decide whether your graphics card (GPU) or main processor (CPU) is faster through testing.
If GPU use is desired, activate it from SURE GUI (Preferences → use GPU) or from SURE CLI (--gpu)
Consider CUDA Driver Timeout
Ensure fast communication between CPU and RAM - use all RAM slots (e.g. 8x16GB instead of 4x32GB) if possible to get maximum throughput on the memory lanes
Optimize IO, optimally with SSDs or SSD RAIDS as mentioned in Hardware Recommendations. Avoid the use of USB and network drives. These types of drives do not enable caching, which leads to a strong performance loss.
Use SSDs for the project directory
Ensure fast connection to original imagery with minimum latency - preferably on a RAID, optimally on SSD RAID. Avoid network storage where possible or if applicable choose SAN
Set the Windows energy plan to Ultimate Performance or other maximum settings by the CPU vendor, as this can have a strong impact on performance
Disable Antivirus software as file reading and writing can be slowed down - including Windows Defender and its real-time protection
Use an operating system that can handle memory, e.g. Windows for Workstations, and update to the latest chipset drivers and BIOS - particularly for AMD processors
Parameter Optimization
Choose final product resolution / quality according to your needs (higher quality = slower processing )
Define Region of Interest / Area with a polygon shapefile and/or rectangular bounding box to save processing time
Use LAS point cloud format for speed or LAZ (default) for minimizing disk space consumption
Tile Sizing
It is recommended that you let SURE automatically choose the tile size. However, in cases where it has to be set to a specific size (e.g. project requirements or if the available RAM exceeds the recommended values), the tile size may be manually set depending on the hardware available. Below are the recommended maximum tile sizes for different RAM capacities in NADIR scenarios:
RAM | Tile Size (m) for 2.5D Process | Tile Size (m) for 3D Process |
---|---|---|
16GB | 1000 x GSD | 500 x GSD |
32GB | 2000 x GSD | 1000 x GSD |
64GB | 4000 x GSD | 2000 x GSD |
128GB | 5000 x GSD | 2000 x GSD |
Note that the GSD refers to the original input images, in this context. This can be different from the GSD of the output 2.5D products (resolution of DSM, True Ortho, DSM Mesh), which can be set by the GSD parameter in the Project Configuration.
** There might be other hardware factors affecting overall performance.
Distributed Processing
If more than one PC/Server and licenses are available, consider taking advantage of distributed processing (DP). Large projects are subdivided by a Master machine into sub-projects that are then assigned to available Node machines. This will considerably increase processing performance and allow you to dynamically adapt your processing throughput. Please refer to Distributed Processing for more details.
Other Tips & Recommendations
Avoid external drives, network drives, and USB as these do not enable caching and lead to a strong performance loss. Also, data may be unreachable due to connection loss.
Test available hardware to identify the bottleneck.