Skip to content

Installing and Running FDS on a Windows PC

Glenn Forney edited this page May 4, 2016 · 5 revisions

The Windows download is a WinZip Self-Extracting Zip file that installs FDS and Smokeview in the Program Files\firemodels directory, copies documentation to the Start menu, and defines environment variables and file associations so that FDS and Smokeview may be run from the command line. All of the necessary libraries needed to run FDS and Smokeview are installed automatically.

Running a Single or Multiple-Mesh Job on a Single Computer

After installing program, the simplest way to run FDS is to just type

fds job_name.fds

at the command prompt. This command launches a single FDS process that will calculate one or more meshes in your simulation. This command will automatically invoke multiple cores of your computer via the OpenMP functionality built into FDS. At best, OpenMP will speed up your job by a factor of 2. For faster speed up, you need to invoke the MPI functionality, which is discussed in the next section.

Running a Multiple-Mesh Job on a Single or Multiple Computers

MPI (Message Passing Interface) can speed up an FDS job by exploiting multiple processing units spread out over multiple machines. But to use it, you need to divide up your FDS domain into multiple meshes, and then assign each mesh to its own process.

The Windows 6.1.2 version of FDS and later uses the Intel MPI distribution for parallel computations. MPICH, used in earlier versions for this purpose, is no longer supported. Files needed to run an FDS MPI calculation across a Windows domain network are included with the FDS installer. There is no need to install the Intel MPI distribution separately.

The following procedure is intended for a Windows domain network. This is a network where user accounts are centrally managed so that any user can log in to any computer using the same credentials. If you are not on a domain network, then you should ensure that your account credentials are the same on all machines.

To run the MPI version of FDS, you need to have administrator privileges on the machine that launches the job, but not necessarily on the machines that run the job. We have designed the FDS installation script to set up the necessary firewall exceptions and system environment variables automatically so that you only need to install FDS as you normally would to make this work. You do not have to download and install the MPI software separately. Everything you need is in the FDS installation package.

  1. Download and run the FDS-SMV installer.

  2. Run the installer on any other computer that you intend to use. You don’t need admin rights on these other computers but you do need admin rights to perform the installation.

  3. To test the installation, open up a command prompt by right-clicking on the command prompt icon and choose "Run as administrator". Type the following command:

    mpiexec -hosts 2 <my_machine> 1 <other_machine> 1 test_mpi
    

    If you get a message like "credentials for user-PC\username rejected connecting to userPC", run the following command:

    mpiexec -register
    
  4. If this command returns a "Hello World" message from your machine and some other machine on your network, proceed to the next step. If this command fails, check that you can "see" the other machine by pinging it, and check that the other machine can "see" your machine as well. Check that the programs mpiexec.exe and test_mpi were installed correctly in C:\Program Files\firemodels\FDS6\bin:

    where mpiexec
    where test_mpi
    
  5. Share (with both read and write privilege) a working directory on your machine. Do not put this directory within the Program Files path. Share the working directory with everybody so that all other machines can see it. Note how this directory is defined on the other machines. Sometimes it is \\<my_machine>\<my_shared_directory>\ and sometimes it is defined via the numerical IP address, like \\129.6.129.87\<my_shared_directory>\. The definition depends on the way your domain name server (DNS) works. In any case, do not leave blank spaces within any directory or file names. We have found that blanks create all sorts of trouble. Unless you are a DOS/Windows expert, avoid them.

  6. Within the command prompt, cd to the working directory. Find or create within the working directory a relatively small, simple, two mesh FDS input file that you know runs with the serial version of FDS. At the command prompt, type:

    mpiexec -hosts 2 <my_machine> 1 <other_machine> 1 -wdir \\<my_machine>\<my_shared_directory>\ -env OMP_NUM_THREADS 1 fds case_name.fds
    
  7. If successful, you should see printout on the screen indicating how the MPI processes and OpenMP threads are assigned to the machines. If unsuccessful, let us know what kind of error you are getting by reporting a bug on the Issue Tracker. For more general cases, you can vary the number of hosts and the number of MPI processes to assign to each host. You can also use the -env option to control the number of OpenMP threads to assign to each MPI process. Be careful with this -- if you happen to have extra cores on the machines you are using, specifying more than 1 OpenMP threads can potentially run the case up to 2 times faster. But if you do not have extra cores, you might reduce performance by specifying more than 1 OpenMP thread. Do some test runs first before launching bigger jobs.

Clone this wiki locally