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 type of drives do not enable caching, which leads to a strong performance loss.

    • Use SSDs for 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 realtime protection

  • Use operating system that can handle memory, e.g. Windows for Workstations and update 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 (default) point cloud format for speed or  LAZ 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 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.


See Also

Hardware Recommendations