Hardware Benchmarking Topic Single Precision VS Double Precision

From Tuflow
Jump to navigation Jump to search

Page Under Construction

Introduction

Both TUFLOW Classic and TUFLOW HPC can run using either a single precision or double precision. Please refer to the manual for a description on the differences between single precision (SP) and double precision (DP) versions of TUFLOW and also a discussion on which might be appropriate for a model.
This page discuss the relative difference in performance of the SP and DP versions of TUFLOW. This includes comparisons for TUFLOW Classic, TUFLOW HPC on CPU hardware and TUFLOW HPC on GPU hardware.
When running a double precision version of TUFLOW this will require significantly more memory available to run a simulation. The memory requirement of DP is almost twice that of SP.
Note Single precision calculations are also referred to as FP32 (32 bit floating point) and double precision as FP64 (64 bit floating point) calculations. This seems to be a more common terminology in GPU benchmarks.

TUFLOW Classic

The table below has some runtimes for the benchmark model at 20m cell size. The same model has been run for both the SP and DP versions of TUFLOW using the Classic solution scheme on CPU hardware. This same test has been performed on a number of CPU chips.

CPU SP Runtime (mins) DP Runtime (mins) % Change
Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz 71.7 87.4 21.9
AMD Ryzen Threadripper 2990WX 32-Core Processor 65.8 80.3 22.0
Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40 GHz 158.0 127.2 24.2
Intel(R) Core(TM) i7-5960X CPU @ 3.00 GHz 101.9 128.8 26.4

As can be seen from the table above the change in run time varies from ??? to ??? and the average is approximately ???

TUFLOW HPC on CPU hardware

The table below has some runtimes for the benchmark model at 20m cell size. The same model has been run for both the SP and DP versions of TUFLOW using the HPC solution scheme on CPU hardware. This same test has been performed on a number of CPU chips.

CPU SP Runtime (mins) DP Runtime (mins) % Change
Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz 216.8 230.9 6.5
Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40 GHz 307.2 350.6 12.4
AMD Ryzen Threadripper 2990WX 32-Core Processor 278.8 347.7 24.7
Intel(R) Core(TM) i7-5960X CPU @ 3.00 GHz 236.5 388.5 39.1

As can be seen from the table above the change in run time varies from ??? to ??? and the average is approximately ???

TUFLOW HPC on GPU hardware

For GPU devices, the quoted performance of GPU devices can be very different for single and double precision calculations. The table below has some runtimes for the benchmark model at 20m cell size. The same model has been run for both the SP and DP versions of TUFLOW using the HPC solution scheme on GPU hardware. This same test has been performed on a number of different GPU cards.

GPU Card SP Runtime (mins) DP Runtime (mins) % Change
NVIDIA GeForce RTX 2080 6.8 15.2 123.5
NVIDIA TITAN Xp 4.9 10.0 104.1
NVIDIA GeForce GTX 980 14.9 27.1 82.3

As can be seen from the table above the change in run time varies from ??? to ??? and the average is approximately ???

Conclusion

Running TUFLOW on CPU hardware (either Classic or HPC) is mostly giving about 20% difference between single precision and double precision.

The precision solver that is required ror running TUFLOW on GPU hardware will determine the type of GPU card that is best suited for the compute. For any given generation/architecture of cards, the “gaming” cards such as the GTX GeForce and RTX provide excellent single precision performance – typically comparable to that of the “scientific” cards such as the Tesla series. If double precision is required then the scientific cards are substantially faster, but these are also significantly more expensive. The Quadro series cards sit in between for both double precision performance and cost.