Difference between revisions of "Hardware Benchmarking (2018-03-AA)"

From Tuflow
Jump to navigation Jump to search
Line 82: Line 82:
 
<li> Save the batch file as '''Run_Benchmark_HighPerformance_GPU.bat''' in the '''TUFLOW/runs''' folder (same location as the standard benchmark batch file)
 
<li> Save the batch file as '''Run_Benchmark_HighPerformance_GPU.bat''' in the '''TUFLOW/runs''' folder (same location as the standard benchmark batch file)
 
<li> Run the batch file
 
<li> Run the batch file
<li> Follow the participation steps below to provide results to TUFLOW
+
<li> Follow the participation steps above to provide results to TUFLOW
 
</ol>
 
</ol>
 
<br>
 
<br>

Revision as of 15:53, 22 May 2018

Introduction

We frequently get asked, "What is the minimum or recommended hardware to use for TUFLOW modelling". This is always a tricky question, as the answer depends on the type and size of the models you are going to be run. For a small model, TUFLOW should run on any modern PC or laptop that is capable of running Windows XP or later. However, for large models there may be requirements for a hefty computer running a 64 bit version of Windows.
The tables below showing computer specifications and model run-time should help you compare systems.
In this page we outline a hardware benchmark model which is available to download from the TUFLOW website the model can be simulated without a TUFLOW dongle (license). This makes it easy to benchmark on a range of computers and the results are complied below.
We have typically found that for TUFLOW Classic, the CPU speed is the largest influence on TUFLOW runtimes, with the RAM speed also having an influence for large models. When using GPU hardware (available for TUFLOW HPC), the Graphics Card has the largest influence, specifically the number and speed of the CUDA cores. In order to quantify this we are compiling the computational times required for a range of different machines.

Benchmark Model

Background

The benchmark model is based on a “challenge” issued prior to the 2012 Flood Managers Association (FMA) Conference in Sacramento, USA. There is more information on the model setup and purpose in the FMA challenge model introduction.
This hardware benchmark is based on the second challenge which involves a coastal river in flood with two ocean outlets. The model has been modified slightly (mainly in terms of the outputs). It is setup to run use both the TUFLOW Classic (CPU) and TUFLOW HPC (on both CPU and GPU hardware) for a range of cell sizes.
Cell sizes

Cell Size (m) Number of cells
20.0 181,981
10.0 727,865
5.0 2,911,472
2.5 11,645,341

The model runs for three days of simulation time (72 hours). The approximate run time for the 30m model on the CPU is likely to be ~20min and for the 15m version approximately 4 hours. Given the runtime for the CPU model at 10m resolution is likely to be > 12 hours, this is skipped in the benchmark (this can also be run without a licence).

Models


The simulated models are:

  • 20m model - TUFLOW Classic
  • 20m model - TUFLOW HPC CPU - 2 Cores (default)
  • 20m model - TUFLOW HPC - GPU Hardware
  • 10m model - TUFLOW HPC - GPU Hardware

The user also has an option to run a couple of bigger models on GPU hardware as part of the High End GPU Benchmarking. To run these models, please follow the steps outlined in the below section. HIGH END GPU BENCHMARKING MODELS

  • 5m model - TUFLOW HPC - GPU Hardware*
  • 2.5m model - TUFLOW HPC - GPU Hardware*

*To run the high end HPC GPU models, please see " Running the High End GPU Benchmarking" below.

To Participate

To participate in the benchmark, please follow the steps below:

  1. Download the model from http://www.tuflow.com/Download/TUFLOW/Benchmark_Models/FMA2_GPU_CPU_Benchmark.zip
  2. Extract the model on a local drive of the computer you would like to benchmark.
  3. Navigate to the TUFLOW\runs\ folder and run the Run_Benchmark_Short.bat or Run_Benchmark_Long.bat file. This checks if you are running a 32 or 64 bit system and then runs the benchmark. This also generates some output files that contain more information on the processor, memory and GPU# that you are using.
  4. Email the _ TUFLOW Simulations.log, cpu.txt, ram.txt and GPU.txt files to support@tuflow.com and we will includes these in the results tables below.

The computer information is determined in the batch file using the wmic and dxdiag commands.

#An nVidia graphics card that is CUDA compatible is required to run the GPU model . For more information on this please see the release notes.

List of Benchmarking Runtimes and Discussions

Benchmarking Runtimes (2017-09 Release)

Discussion Topics

Previous Benchmarking Runtimes (2013-12-AD)



Running the High End GPU Benchmarking

  1. In a text editor, copy and paste the below batch file syntax
  2. Save the batch file as Run_Benchmark_HighPerformance_GPU.bat in the TUFLOW/runs folder (same location as the standard benchmark batch file)
  3. Run the batch file
  4. Follow the participation steps above to provide results to TUFLOW


@echo off
:: This sets the variables as local, so you can use another batch file with A and B variables
setlocal ENABLEDELAYEDEXPANSION

:: determine if 32 or 64 bit run
ECHO.%PROCESSOR_ARCHITECTURE% | FIND /I "64">Nul && ( set platform=w64) || ( set platform=w32)
IF %platform% == w32 (
	goto :break
) ELSE (
	echo Running with %platform% version of TUFLOW
)

:: set executable (relative path)
set exe=..\exe\2018-03-AA\TUFLOW_iSP_%platform%.exe
echo Executable: %exe%
::
echo getting system info using  get_computer_info_%platform%.bat
call get_computer_info_%platform%.bat
echo done getting system info
pause

echo.
echo Starting High Performance HPC Solver GPU hardware simulations
set A=05.00m 02.50m
:: Loop through each cell size
FOR %%a in (%A%) do (
    echo Running %%a model with HPC GPU solver
    Start "TUFLOW" /wait %exe% -b -s1 HPC -s2 GPU -s3 PU1 -s4 %%a FMA_T2_~s1~_~s2~_~s3~_~s4~_001.tcf
)
echo Finished High Performance Benchmarking Runs
goto :end

:break
echo Unable to run benchmark tests. From release 2017-09-AA, TUFLOW no longer supports 32 bit architecture.

:end
pause