Roger Pyle writes:
Making Igor Pro Take Advantage of Multiple Processors (Windows, with some applicability to Macs)
I am working on the processing and analysis of data from the University of Delaware's network of neutron monitors, located in Canada, the US, Greenland, and Antarctica. Neutron monitors indirectly measure the interplanetary flux of cosmic rays above about 1 GeV by counting the nuclear 'debris' at Earth's surface resulting from high energy interactions in the upper atmosphere. See NeutroNM for more discussion.
I have a Dell Precision Workstation 530 with two processors and 1 GB of memory, and run three experiments simultaneously to generate a series of images to put onto our web site. These three experiments communicate through waves stored on the hard disk, get their input text datafiles from a Linux box, and write plots every few minutes to a web server. The input (text) files are collected and updated by a complicated set of cron jobs FTP'ing from 17 sites around the world, including over a dozen neutron monitors, plus magnetic field and other data.
WaveMetrics was very helpful in getting this system (sort-of) bulletproof. After a reboot I use a startup experiment to load the other three experiments, using Execute/P. Once the three are running, the starter experiment quits.
In addition, since strange things CAN happen (files not available, programming laziness, etc.), I have a small fourth experiment running at all times, checking to make sure that at least one graphics file being generated by each of the three others is being updated as expected. If not, a PC reboot is done from within Igor, using ExecuteScriptText. This will eventually be changed to restart only the offending experiment.
This gory mess runs very reliably and averages about 50-60 percent usage on both processors. Anyone interested is welcome to take a look at spaceweather and at links there.
Many thanks to WaveMetrics for their assistance (and patience),
Bartol Research Institute Neutron Monitor Group
University of Delaware
And here is a sample graph from Roger's web site. Click for full size view.
Igor Pro 9
Igor XOP Toolkit
Igor NIDAQ Tools MX