Menu

Commit [r24654]  Maximize  Restore  History

Merged revisions 23745-23752,23754-23758 via svnmerge from

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.
........

bugman 2014-07-22

changed /trunk
changed /trunk/lib/dispersion/cr72.py
changed /trunk/target_functions/relax_disp.py
changed /trunk/test_suite/shared_data/dispersion/profiling/profiling_cr72.py
/trunk
Directory.
/trunk/lib/dispersion/cr72.py Diff Switch to side-by-side view
Loading...
/trunk/target_functions/relax_disp.py Diff Switch to side-by-side view
Loading...
/trunk/test_suite/shared_data/dispersion/profiling/profiling_cr72.py Diff Switch to side-by-side view
Loading...
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.