Meeting Users Needs with Octave A survey of the use of Matlab™ and Octave at the NIH Tom Holroyd Tom Holroyd NIMH MEG Core Facility NIMH MEG Core Facility Presented at the Presented at the Octave 2006 Workshop Octave 2006 Workshop April 21, 2006 April 21, 2006
15
Embed
Meeting Users Needs with Octave A survey of the use of Matlab™ and Octave at the NIH Tom Holroyd NIMH MEG Core Facility Presented at the Octave 2006 Workshop.
Matlab Users at NIH 25 responses to the survey 9 out of 27 institutes NCI, NHGRI, NLM NHLBI, NIMH, NIAMS NIAID, NIDDK, NIDA
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Meeting Users Needs with OctaveA survey of the use of Matlab™ and Octave at the NIH
What the note doesn't say is that he What the note doesn't say is that he was also using a license; nobody else was also using a license; nobody else could use Matlab for a week.could use Matlab for a week.
I had a user who ran a long job which I had a user who ran a long job which failed right at the end when it needed failed right at the end when it needed to do a t-test and the stats toolbox to do a t-test and the stats toolbox was busy.was busy.
Multiple Processor / Cluster
As an example, the Biowulf has 11 licenses (22 CPUs) As an example, the Biowulf has 11 licenses (22 CPUs) and various toolboxes costing $96,000. MathWorks can and various toolboxes costing $96,000. MathWorks can sell us a “cluster” license on 128 CPUs for $39,000. sell us a “cluster” license on 128 CPUs for $39,000. Cheaper, but still about 1900 CPUs short. It works out to Cheaper, but still about 1900 CPUs short. It works out to about $273 / CPU or $500,000 for the whole cluster (they about $273 / CPU or $500,000 for the whole cluster (they have never sold a 2000 CPU license).have never sold a 2000 CPU license).
Octave use at the NIH
Magnetoencephalography (MEG) is the recording and Magnetoencephalography (MEG) is the recording and analysis of the magnetic field of the brain. NIH has a 275 analysis of the magnetic field of the brain. NIH has a 275 channel scanner, which produces very large multivariate channel scanner, which produces very large multivariate datasets.datasets.Analysis methods include time-frequency plots, magnetic Analysis methods include time-frequency plots, magnetic field calculations, and source localization via power field calculations, and source localization via power spectrum estimation. All can be done with Octave.spectrum estimation. All can be done with Octave.
Contour Plots
The time-frequency graph The time-frequency graph shown here was calculated shown here was calculated using Octave with a C++ using Octave with a C++ extension, then the dataextension, then the datawere exported to pylab for were exported to pylab for rendering in a manner similar rendering in a manner similar to that used for Gnuplot.to that used for Gnuplot.
Stockwell Transform
MEG Source Localization
Power spectral estimates Power spectral estimates are used to generate maps are used to generate maps of brain activity. We get a of brain activity. We get a timecourse for each voxel.timecourse for each voxel.
Octave is used as a Octave is used as a compute engine here; we compute engine here; we run hundreds of such run hundreds of such datasets on the cluster. datasets on the cluster. Voxels are all independent!Voxels are all independent!
Biowulf Cluster
Recent patches to Octave 2.9.5+ (not in CVS yet!) make it Recent patches to Octave 2.9.5+ (not in CVS yet!) make it possible to run in a very large cluster environment. The issue was possible to run in a very large cluster environment. The issue was that Octave's cache of .m files was broken, and it was hitting the that Octave's cache of .m files was broken, and it was hitting the NFS server every function call. Now it caches both successes and NFS server every function call. Now it caches both successes and failures. The new issue is that it won't see new files, although it will failures. The new issue is that it won't see new files, although it will pick up files whose modification time has changed.pick up files whose modification time has changed.
New issues: how to get 200 running Octaves to communicate New issues: how to get 200 running Octaves to communicate usefully with each other, for highly parallel computations.usefully with each other, for highly parallel computations.