svn+ssh://bugman@.../svn/relax/branches/disp_spin_speed
........
r23745 | tlinnet | 2014-06-08 23:44:44 +0200 (Sun, 08 Jun 2014) | 8 lines
Swith the looping from spin->frq to frq->spin.
Since the number of dispersion points are the same for all spins, this
allows to move the calculation of pA and kex array one level up.
This saves alot of computation.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23746 | tlinnet | 2014-06-08 23:44:45 +0200 (Sun, 08 Jun 2014) | 3 lines
Changed all the creation of special numpy arrays to be of float64 type.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23747 | tlinnet | 2014-06-08 23:54:41 +0200 (Sun, 08 Jun 2014) | 5 lines
Moved the data filling of special numpy array errors and values, to initialization of Dispersion class.
These values does not change, and can safely be stored outside.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23748 | tlinnet | 2014-06-08 23:56:36 +0200 (Sun, 08 Jun 2014) | 3 lines
Just a tiny little more speed, by removing temporary storage of chi2 calculation.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23749 | tlinnet | 2014-06-09 00:09:59 +0200 (Mon, 09 Jun 2014) | 25 lines
Changed all calls to numpy np.X functions to just the numpy function.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
Timing is now showing, 17% loss per single spin, but but 277 % gain on 100 spin.
3 fields, 1000 iterations.
1 spin
1 0.000 0.000 0.677 0.677 <string>:1(<module>)
1 0.001 0.001 0.677 0.677 pf:419(single)
1000 0.002 0.000 0.671 0.001 pf:405(calc)
1000 0.009 0.000 0.669 0.001 relax_disp.py:979(func_CR72_full)
1000 0.102 0.000 0.655 0.001 relax_disp.py:507(calc_CR72_chi2)
1003 0.160 0.000 0.365 0.000 cr72.py:101(r2eff_CR72)
23029 0.188 0.000 0.188 0.000 {numpy.core.multiarray.array}
4003 0.119 0.000 0.182 0.000 numeric.py:1862(allclose)
100 spin
1 0.000 0.000 19.783 19.783 <string>:1(<module>)
1 0.002 0.002 19.783 19.783 pf:441(cluster)
1000 0.004 0.000 19.665 0.020 pf:405(calc)
1000 0.013 0.000 19.661 0.020 relax_disp.py:979(func_CR72_full)
1000 6.541 0.007 19.634 0.020 relax_disp.py:507(calc_CR72_chi2)
916108 11.127 0.000 11.127 0.000 {numpy.core.multiarray.array}
1300 1.325 0.001 2.026 0.002 cr72.py:101(r2eff_CR72)
4300 0.495 0.000 0.634 0.000 numeric.py:1862(allclose)
........
r23750 | tlinnet | 2014-06-09 00:49:14 +0200 (Mon, 09 Jun 2014) | 3 lines
Removed unused import of numpy.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23751 | tlinnet | 2014-06-09 00:49:15 +0200 (Mon, 09 Jun 2014) | 3 lines
Changed all calls to numpy np.X functions to just the numpy function in lib/dispersion/cr72.py.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23752 | tlinnet | 2014-06-09 00:49:18 +0200 (Mon, 09 Jun 2014) | 3 lines
Removed unused import of numpy.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23754 | tlinnet | 2014-06-09 19:46:17 +0200 (Mon, 09 Jun 2014) | 3 lines
Made copies of numpy arrays instead of creating from new.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23755 | tlinnet | 2014-06-09 19:46:19 +0200 (Mon, 09 Jun 2014) | 3 lines
Added a self.frqs_a as a multidimensional numpy array.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23756 | tlinnet | 2014-06-09 19:46:20 +0200 (Mon, 09 Jun 2014) | 3 lines
Small fix for the indicies to the errors and values numpy array.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23757 | tlinnet | 2014-06-09 19:46:22 +0200 (Mon, 09 Jun 2014) | 5 lines
Lowered the number of iterations to the profiling scripts.
This is to use the profiling script as bug finder.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........
r23758 | tlinnet | 2014-06-09 19:46:25 +0200 (Mon, 09 Jun 2014) | 7 lines
Moved the calculation of dw_frq out of spin and spectrometer loop.
This is done by having a special 1/0 spin numpy array, which turns on or off the values in the numpy array multiplication.
The multiplication needs to first axis expand dw, and then tile the arrays according to the numpy structure.
Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion models for Clustered analysis.
........