[SciPy-User] Fitting procedure to take advantage of cluster

J. David Lee johnl at cs.wisc.edu
Fri Jul 1 13:11:25 EDT 2011


On 06/29/2011 11:54 AM, J. David Lee wrote:
> Hello,
>
> I'm attempting to perform a fit of a model function's output to some
> measured data. The model has around 12 parameters, and takes tens of
> minutes to run. I have access to a cluster with several thousand
> processors that can run the simulations in parallel, so I'm wondering if
> there are any algorithms out there that I can use to leverage this
> computing power to efficiently solve my problem - that is, besides grid
> searches or Monte-Carlo methods.
>
> Thanks for your help,
>
> David
> _______________________________________________
> SciPy-User mailing list
> SciPy-User at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>    
I want to thank everyone for their suggestions. I've read through most 
of the links presented, and am getting a clearer idea of what I need to do.

Here's a quick clarification of my problem for those who are interested:

I'm running a single-processor plasma simulation modeling an experiment. 
It has tens or hundreds of parameters, but most are constrained by 
measurements. For my purposes, the output consists of several x-ray 
spectra which I am trying to match against measured spectra. I have 
about 12 or 14 parameters in all that I am changing in order to match 
the spectra. Each run of the simulation takes a few to a few tens of 
minutes. I have the ability to run the compiled code on a number of 
machines, but I can't easily run python scripts on the machines.

After some thinking, I'm considering the feasibility of parallelizing 
the routines in scipy's optimize module. My initial thought is to allow 
the user to specify a function that would run the objective function on 
multiple inputs. This would be useful, for example, when performing a 
simplex shrink, or in numerical gradient / hessian calculations with 
multiple variables.

 From my point of view, this would allow me to use a hybrid 
Monte-Carlo/minimization procedure to look for a global minimum.

I'm interested to hear other's opinions on the matter.


Thanks again,

David



More information about the SciPy-User mailing list