On 3/27/07, gary thompson <[EMAIL PROTECTED]> wrote:
On 3/26/07, Edward d'Auvergne <[EMAIL PROTECTED]> wrote:
> > >> i.e for six residues and 3 nodes
> > >>
> > >> node 1 calculates
> > >> res 1 [m1 m2 m3...]
> > >> res 2 [[m1 m2 m3..]
> > >>
> > >> node 2 calculates
> > >> res 3 [m1 m2 m3...]
> > >> res 4 [[m1 m2 m3..]
> > >>
> > >> node 3 calculates
> > >> res 5 [m1 m2 m3...]
> > >> res 6 [[m1 m2 m3..]
> > >>
> > >> this obviously places some limitations of the design of the
> > >> minimisation function as it might needs to have a set and tear down
> > >> region that cope with this batched data....
> > >
> > > The minimise() main loop is the finest grain parallelisation you can
> > > get without writing a specific parallelised optimisation algorithm.
> > >
> >
> > actually what i was aiming for was as coarse grained and well load
> > balanced a set of calculations as possible (i.e. minimum of
> > communication overhead (i.e. bigger chunks of data with similar
> > computations times going over the wire))
>
> The coarse grained target of the looping over data pipes, which the
> user must specifically ask for, will limit the number of active nodes
> to the number of data pipes, which could be a specific list of
> model-free models (assuming this is the only target).  The next level
> is the main loop over the minimisation instances.  Finally, the finest
> grain is from the parallelised grid search of grid searches (as
> discussed in the thread starting at
> https://mail.gna.org/public/relax-devel/2007-03/msg00088.html,
> Message-id: <[EMAIL PROTECTED]>).  Can you see anything
> else which could be targeted for parallelisation?
>
no see above if you combine the calculations from the various models
with those by spin etc you get the largest number of calculations that
need/can to be carried out together...

The model-free minimisations for the different model-free models need
not be carried out together.  There is no efficiency gain there.  I
don't have any numbers because this was a long time ago, but I have
tested this approach out before.  Otherwise I would have designed the
relax UI to fit this approach.


> > just as another comment (or two)
> >
> > 1. why does do we send no arguments to the fucntions e.g.
> > -#-num_frq [2]
> > -#-frq [[750800000.0, 599.71900000000005]]
>
> Sorry, again I don't understand the question.  I'll try to answer it
> anyway.  The num_frq value is used to deconvolute the 'remap_table',
> 'frq', 'ri_labels', and 'relax_data'.  This can vary for different
> spin systems.  The frequencies are essential for the calculation of
> the spectral density values (and hence the chi-squared value).
>


what is the difference between
num_frq
and the number of numbers in
frq [[750800000.0, 599.71900000000005]]

Nothing, it's historical baggage (with the added computational benefit
of not executing the len() builtin function during calculations).


> > 2. how does the data return from minimisation work (specifically why is
> > param_vector  a  instance vaiable of  Model_free
> > e.g. we have
> >
> > self.param_vector, self.func, iter, fc, gc, hc, self.warning = results
> >
> > ....
> >
> > # Disassemble the parameter vector.
> > self.disassemble_param_vector(index=index, sim_index=sim_index)
> >
> >
> >
> > inside a tight loop. So even though self.param_vector is an instance
> > variable it doesn't contain state for a Model_free object it just keeps
> > being overwritten by the latest contents of the result
> >
> > so why not
> >
> > param_vector, self.func, iter, fc, gc, hc, self.warning = results
> >
> > ....
> >
> > # Disassemble the parameter vector.
> > self.disassemble_param_vector(param_vector, index=index,
> > sim_index=sim_index)
>
> Yes, this is probably how this should be done.  Grep for
> 'self.param_vector' in 'specific_fns/model_free.py' to see why there
> has been an inertia for me to make this change.  If necessary for the
> MPI code, please try to minimise the number of changes to this setup
> as possible.

I will

Sorry about the legacy code, but because of the nature
> of the multi_processor branch you may need to work with it.

of course, I have made my bed and (be it nails or feathers)  am having
a good go at lying in it!

Hopefully
> I'll have all these legacy issues completely removed in the 1.3 line
> once the data model redesign is complete.  That being said, if you
> need to, please feel free to make the above changes.
>

I don't need to change this ;-) it was more a question trying to
understand the way things are, ask the obvious question, and check
that I am not missing something deep...

I was planning on fixing all this up anyway.  I like clean, readable,
and simple code bases to allow anyone to dive straight into it.

Regards,

Edward

_______________________________________________
relax (http://nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to