Monday, June 14, 2010

parallel processing on the Windows command line

The purpose of this post is to explain the use of a new utility named background.exe - what it is and how it might be useful. It is available with the smokeview 5.5.5 windows installation just posted on the download site at
http://code.google.com/p/fds-smv/downloads/list


As you all know, MPI is a software library used to enable parallel processing at the program ie FORTRAN source code level. This enable ONE FDS job to make use of multiple CPUs thereby speeding up the calculation. It is often the case however that you are doing a parameter study or running a verification suit - ie you have a long list of FDS jobs to run. Typically you would create a windows batch file (.bat) containing a list of commands like

fds5 casename_1.fds
....
fds5 casername_n.fds

On a Windows system, each entry in the above list will not start until the previous entry has completed - even if your computer has multiple cores or CPUs.

Unix/Linux based systems have the capability to put a computer job in the background, meaning that when you run the job, control returns to you immediately allowing you to run another job. With computers with multiple cores or CPUS you can then run more than one job simultaneously.

I didn't see a way of doing this on a Windows system so, I wrote a little utility called background that does just that.

Here is how you might use it with FDS

background -d 1.0 -u 90 fds5 casename.fds

This command runs "fds5 casename.fds" after waiting 1 s and ensuring that the CPU usage is less than 90 %. If the CPU usage happens to be more than 90 %, "background" waits to submit the fds5 command until the usage drops below 90 % then runs fds5 casename.fds.

The purpose of the delay before submitting the job to give windows a chance to update usage from previous invocations. (not really sure if this is needed. This feature is a fail safe to enusure that a large number of jobs are not submitted at once).

The background utility is designed to use in a windows batch file. Say you have a list of 5 FDS jobs you want to run in a .bat file. On a windows computer you would have a batch file with the contents something like

fds5 case1.fds
fds5 case2.fds
fds5 case3.fds
fds5 case4.fds
fds5 case5.fds

Using background and if you accept the default you would change your script to something like

background fds5 case1.fds
background fds5 case2.fds
background fds5 case3.fds
background fds5 case4.fds
background fds5 case5.fds

(or you could add -d and -u options ) On my system, I can make use of all 4 cores cutting the run times by a factor of 4.

Type background -h to see help info. Let me know if you have any questions.

Thursday, June 10, 2010

Smokeview Maintenance Release 5.5.5

A new maintenance release of Smokeview , version 5.5.5, has been posted at http://code.google.com/p/fds-smv/downloads/list . Besides bug fixes and a few other enhancements, I added a new way to manipulate the scene, inspired by a question on the users forum. Basically you can now make use of all 3 mouse buttons (on a 3 button mouse) to manipulate the scene.


LEFT – same as before – rotate the scene

MIDDLE – move in, out, left, right

RIGHT – move up and down.


The right mouse button was used for menuing. So to use the RIGHT mouse button for scene manipulation you first have to turn menuing off. Do this by press the M key . To turn menus back on press the M key again.


This feature is a work around for a problem that occurs with the Linux version of Smokeview. It did not support vertical scene movement because Smokeview could not detect the use of the ALT key.



Wednesday, April 7, 2010

FDS/Smokeview Minor Release 5.5

We have just posted a minor release of FDS and Smokeview, version 5.5. Recall that a minor release of FDS means that there will be some change in functionality related to one or more of the following:
  • More accurate properties of various gases and liquids using the JANAF Thermochemical Tables
  • Restoration of the baroclinic torque term in the momentum equation
  • Improved treatment of droplets and sprays
  • Improved treatment of various boundary conditions

You may not notice some of the changes, but because they might affect slightly some results, we decided to release these as a minor release.

Many of these improvements have come as a result of the increased verification work that we see being done by the users. Sometimes we find that very simple test cases submitted to the Issue Tracker reveal a feature of the model that is not working as well as it could. Often, these submittals have nothing to do with fire. They are fundamental thermodynamics issues. Takes us back to the good old days of engineering classes. Thanks to all of you who put together these cases and spend a considerable amount of time working with us to diagnose the problems.

In addition to new versions of FDS and Smokeview, there are updated versions of all the manuals. You'll find some work in the FDS V&V Guides related to developments we refer to as "FDS6", the next major release. We're trying to gradually work in the necessary structural changes to the code to prevent the kind of abrupt change that occurred when we transitioned from version 4 to 5. Hopefully, 5 to 6 will be smoother. We do not anticipate major changes to the input or output formats -- the major changes will be under the hood.

Tuesday, December 8, 2009

Maintenance Release of FDS 5.4.3

There is a new maintenance release of FDS/SMV on

http://code.google.com/p/fds-smv/downloads/list

Please note that for those of you who are not using the 32 bit Windows versions of FDS, there might have been a change to the name of the executable. After downloading the new version, go to the directory where the program was installed and check that there are no older versions present (or rename them if you want to keep them). When in doubt, simply type the name of the executable at the command line and see that the release number is the most current.

Wednesday, November 18, 2009

The FDS/Smokeview Issue Tracker

Over the past year, I have noticed that the FDS/SMV Discussion Group has changed its focus from general questions, comments and discussion to bug reporting. This is just a quick note to remind everyone that the best way to report a bug in FDS or Smokeview is via the Issue Tracker

http://code.google.com/p/fds-smv/issues/list

and not the Discussion Group. There are several advantages to using the Issue Tracker:

1. It is easier to upload files.
2. The case is assigned to one person and a record of progress is maintained.
3. The rest of the community need not follow the specific details.
4. It provides a good way to collaborate because there is a running record of who has done what and when.

The most important reason for using the Issue Tracker is that it is vital part of our verification process. If you report a bug, and we fix it, there is a record of what was done and why. There is also a way for you to check that the fix worked, and for us to close the case. When we fix a reported bug, the case is marked "Fixed" and the person reporting the bug ought to get an email notice to this effect. It is very important that the person reporting the bug then go and try the latest version to see if the bug has truly been fixed. It is not enough for the case to be marked "Fixed" by us -- it must be "Verified" by you.

So please, those of you who have reported bugs to the Issue Tracker in the past few months, if your case is still only marked "Fixed", could you let us know if the latest version of FDS or Smokeview really fixed the problem. Then we can close the case.

Thanks.