-
Notifications
You must be signed in to change notification settings - Fork 630
Installing and Running FDS on a Windows PC
The official Windows release of FDS and Smokeview can be found at the project home page. The Windows download is an application that by default installs FDS and Smokeview into the folder called C:\Program Files\firemodels
, 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.
After installing the program, open the command prompt window called CMDfds. Decide how many MPI processes and OpenMP threads you want to use (see the User's Guide chapter "Running FDS" for details). Suppose your case has four meshes and your computer has 8 cores, you can enter at the command prompt:
fds_local -p 4 -o 2 job_name.fds
This command launches 4 MPI processes, each of which will use 2 OpenMP threads. You cannot launch more MPI processes than the number of meshes in your job, but you can launch less.
There are two versions of fds distributed with releases now, a versions which uses OpenMP named fds_openmp and a version which does not named fds. fds_local invokes fds if you specify 1 OpenMP thread and fds_openmp if you specify more than one OpenMP threads. The non-OpenMP version of fds is 20% faster than the OpenMP version of fds when run with one thread.
If you want to run FDS on multiple computers, the computers must be on 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, but even then, there is no guarantee that FDS will work because it has not been tested outside of a Windows domain network.
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.
-
Download and run the FDS-SMV installer.
-
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.
-
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
-
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
andtest_mpi
were installed correctly inC:\Program Files\firemodels\FDS6\bin
:where mpiexec where test_mpi
-
Share (with both read and write privilege) a working directory on your machine. Do not put this directory within the Program Files path because writing to this folder is restricted. 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. -
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
-
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.