mailRe: How is the R2eff data collected and processed for clustered analysis?


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Edward d'Auvergne on June 05, 2014 - 15:31:
On 5 June 2014 15:15, Troels Emtekær Linnet <tlinnet@xxxxxxxxxxxxx> wrote:
Hi Edward.

So, I have tried to implement directly the infrastructure data format for NO
* NM * NS * NE.
And the speed up is 4.1x-4.5x times faster.

I think that is a very nice message to the release list.

It is obvious, that the largest speed-up will be gained by getting rid of
the NS loop.

Could one just re-shape the numpy arrays in the target function?

Yes!  Ok, you will need a little more than that.  The reshape will be
inside the lib.dispersion modules where we have the code:

back_calc[:] = R2eff

This would need to be replaced with:

back_calc[:] = R2eff.reshape(NE, NS, NM, NO, ND)

Or maybe keep the experiments separate, i.e. don't delete that loop in
target_functions.relax_disp, as different experiments are sometimes
associated with different lib.dispersion models, and then use:

back_calc[:] = R2eff.reshape(NS, NM, NO, ND)

As in your script
(http://thread.gmane.org/gmane.science.nmr.relax.devel/6022/focus=6028),
you will need to increase the dimensionality of some data structures:

g_ncyc = array(ncyc_list*100)

So, just as you have done in your script, you calculate a large 1D
array of R2eff values for all spins, all magnetic field strengths, all
offsets, and all dispersion points.

Difficulties might occur for cases with missing data, but that is why
I have implemented a number of system tests checking what happens when
data is missing :)  The large speedups are not just for large spin
clusters.  You also have large speedups for R1rho experiments where
many offsets are collected.  And there is a nice speedup when you have
data at 2 or 3 magnetic fields.  Anyway, for testing your script can
be expanded for multi-field and multi-offset cases.  Or maybe make a
new script for that profiling in
test_suite/shared_data/dispersion/profiling/.

Regards,

Edward



Related Messages


Powered by MHonArc, Updated Fri Jun 06 09:20:10 2014