saschagottfried / fds-openmp-benchmark

reproducible work environment for Fire Dynamics Simulator
http://saschagottfried.github.io/fds-openmp-benchmark/
MIT License
0 stars 0 forks source link

fds-openmp-benchmark

Assess OpenMP speedup for latest version of FDS.

This project is inspired by OpenMP benchmark conducted by Thunderhead Engineering in 08/2014. Run this benchmark when newer FDS versions are released.

FDS Working Environment

This project provides a working FDS environment out-of-the-box. The only requisite is an installation of Vagrant and a Hypervisor like VMware, VirtualBox or Hyper-V. Vagrant runs on Windows, Linux, MacOSX machines.

vagrant@vagrant-ubuntu-trusty-64:~$ FDS-6.3/bin/fds

 Fire Dynamics Simulator

 Current Date     : November  6, 2015  16:08:42
 Version          : FDS 6.3.0
 Revision         : Git-r1-12-gf7f4148
 Revision Date    : Wed Sep 30 23:20:47 2015 -0400
 Compilation Date : Oct 01, 2015  08:23:41

 MPI Enabled; Number of MPI Processes:     1
 OpenMP Enabled; Number of OpenMP Threads:   4

 Consult FDS Users Guide Chapter, Running FDS, for further instructions.

 Hit Enter to Escape...

The model

A simple burner that uses 1 mesh with 1.5 million cells and simulates 10 seconds of model time. This model was designed to give good OpenMP performance based on guidance in the NIST wiki document Running FDS with OpenMP which suggests that cell counts in the 0.5 million to 2 million cell range will demonstrate the most speedup as additional threads are added.

Image of FDS Model

Running the model

Running the FDS model is easy as pie.

vagrant@vagrant-ubuntu-trusty-64:/vagrant/burner-4$ ~/FDS/bin/fds burner-4.fds
 Mesh   1 is assigned to MPI Process   0
 OpenMP thread   0 of   3 assigned to MPI process   0 of   0
 OpenMP thread   2 of   3 assigned to MPI process   0 of   0
 OpenMP thread   3 of   3 assigned to MPI process   0 of   0
 OpenMP thread   1 of   3 assigned to MPI process   0 of   0

 Fire Dynamics Simulator

 Current Date     : November  6, 2015  16:22:28
 Version          : FDS 6.3.0
 Revision         : Git-r1-12-gf7f4148
 Revision Date    : Wed Sep 30 23:20:47 2015 -0400
 Compilation Date : Oct 01, 2015  08:23:41

 MPI Enabled; Number of MPI Processes:     1
 OpenMP Enabled; Number of OpenMP Threads:   4

 Job TITLE        : 
 Job ID string    : burner-4

 Time Step:      1,    Simulation Time:      0.02 s
 Time Step:      2,    Simulation Time:      0.04 s
 Time Step:      3,    Simulation Time:      0.05 s
 Time Step:      4,    Simulation Time:      0.07 s
 Time Step:      5,    Simulation Time:      0.09 s
 Time Step:      6,    Simulation Time:      0.11 s

Benchmark OpenMP speed up

Bootstrapping FDS Runtime Environment using vagrant

Reaching your audience

Introduction Page

Write Larger Documentation

Continuous Documentation

Future work

Add more examples

Data Exploration & Visualization

Contributing workflow

Here’s how we suggest you go about proposing a change to this project:

  1. Fork this project to your account.
  2. Create a branch for the change you intend to make.
  3. Make your changes to your fork.
  4. Send a pull request from your fork’s branch to our master branch.

Using the web-based interface to make changes is fine too, and will help you by automatically forking the project and prompting to send a pull request too.

License

MIT.