Menu

SVN archive Commit Log


Commit Date  
[r23737] by tlinnet

Re-implemented safety checks in lib/dispersion/cr72.py.

This is now implemented for both rank-1 float array and of higher dimensions.

This makes the unit tests pass for multi dimensional computing.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-08 17:48:35 Tree
[r23736] by tlinnet

Added unit tests demonstrating edge cases 'no Rex' failures of the model 'CR72 full', for a clustered multi dimensional calculation.

This is implemented for one field.

This is to implement catching of math domain errors, before they occur.

These tests cover all parameter value combinations which result in no exchange:

- dw = 0.0,
- pA = 1.0,
- kex = 0.0,
- dw = 0.0 and pA = 1.0,
- dw = 0.0 and kex = 0.0,
- pA = 1.0 and kex = 0.0,
- dw = 0.0, pA = 1.0, and kex = 0.0.
- kex = 1e5,

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-08 17:48:33 Tree
[r23735] by tlinnet

Important fix for the creation of the multi dimensional pA numpy array.

It should be created as numpy.zeros([ei][si][mi][oi]) instead of numpy.ones([ei][si][mi][oi]).

This allows for rapid testing of all dimensions with np.allclose(pA, numpy.ones(dw.shape)).
pA can have missing filled out values, when the number of dispersion points are different
per spectrometer frequency.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-08 17:48:31 Tree
[r23734] by tlinnet

Made it easier to switch between single and cluster reporting in profiling script.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-08 17:48:29 Tree
[r23733] by tlinnet

Important fix for extracting the correct shape to create new arrays.

If using just one field, or having the same number of dispersion points, the shape would extend to the dispersion number.
It would report [ei][si][mi][oi][di] when calling ndarray.shape.

Shape always has to be reported as: [ei][si][mi][oi].

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-08 17:48:27 Tree
[r23732] by tlinnet

Re-inserted safety checks in lin/dispersion/cr72.py file.

This is re-inserted for the rank_1 cases.

This makes the unit-tests pass again.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-08 17:48:25 Tree
[r23731] by tlinnet

Fix for calculation of the larmor frequency per spin in profiling script.

The frq loop should also be up-shifted.
It was now extracted as 0.0.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-08 17:48:23 Tree
[r23730] by tlinnet

In profiling script, moved up the calculation of values one level.

This is to better see the output of the profiling iterations for cr72.py.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-08 11:14:38 Tree
[r23729] by tlinnet

Removing looping over exp and offset indicies in calc_chi2. They are always 0 anyway.

This brings a little speed.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

----
Profiling.

1000 iterations
100 spins
3 sfrq
('sfrq: ', 600000000.0, 'number of cpmg frq', 15, array([ 2., 6., 10., 14., 18., 22., 26., 30., 34., 38., 42.,
46., 50., 54., 58.]
))
('sfrq: ', 800000000.0, 'number of cpmg frq', 20, array([ 2., 6., 10., 14., 18., 22., 26., 30., 34., 38., 42.,
46., 50., 54., 58., 62., 66., 70., 74., 78.]
))
('sfrq: ', 900000000.0, 'number of cpmg frq', 22, array([ 2., 6., 10., 14., 18., 22., 26., 30., 34., 38., 42.,
46., 50., 54., 58., 62., 66., 70., 74., 78., 82., 86.]
))
('chi2 cluster:', 0.0)

TRUNK
ncalls tottime percall cumtime percall filename:lineno(function)
1000 5.221 0.005 53.578 0.054 relax_disp.py:456(calc_CR72_chi2)

BEFORE
ncalls tottime percall cumtime percall filename:lineno(function)
1000 14.871 0.015 43.084 0.043 relax_disp.py:494(calc_CR72_chi2)

AFTER removing looping over exp and offset indicies. They are always 0.
ncalls tottime percall cumtime percall filename:lineno(function)
1000 12.831 0.013 38.248 0.038 relax_disp.py:494(calc_CR72_chi2)

2014-06-08 11:14:36 Tree
[r23728] by tlinnet

Modified profiling script to calculate correct values when setting up R2eff values.

This is to test, that the return of chi2 gets zero.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.

2014-06-08 11:14:34 Tree
Older >
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.