Hi, Are the structures not C contiguous? What are the timing differences?
Regards, Edward On 15 June 2014 15:01, Troels Emtekær Linnet <[email protected]> wrote: > Hi Ed. > > I tried the out argument, but it wont work? > > I was more thinking of giving dot two matrices that are both C_CONTIGUOUS. > > http://wiki.scipy.org/PerformanceTips > > > > 2014-06-15 10:33 GMT+02:00 Edward d'Auvergne <[email protected]>: >> >> Hi Troels, >> >> Is this actually faster? I just wrote a script to test this at >> https://gna.org/task/index.php?7807#comment199. The log file with the >> results is also attached. This is also archived at >> http://article.gmane.org/gmane.science.nmr.relax.devel/6240. If you >> look at that, I think I can show a way to make the numeric models up >> to twice as fast. And that is simply to use the out argument for the >> dot product. At least it will minimise the time required for the dot >> products, and maybe remove this as the bottleneck. >> >> Regards, >> >> Edward >> >> >> >> On 15 June 2014 08:53, <[email protected]> wrote: >> > Author: tlinnet >> > Date: Sun Jun 15 08:53:38 2014 >> > New Revision: 23952 >> > >> > URL: http://svn.gna.org/viewcvs/relax?rev=23952&view=rev >> > Log: >> > Changed linked matrix/vector inner products into chained dot >> > expressions. >> > >> > Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion >> > models for Clustered analysis. >> > >> > Modified: >> > branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py >> > >> > Modified: branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py >> > URL: >> > http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py?rev=23952&r1=23951&r2=23952&view=diff >> > >> > ============================================================================== >> > --- branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py >> > (original) >> > +++ branches/disp_spin_speed/lib/dispersion/ns_cpmg_2site_3d.py Sun Jun >> > 15 08:53:38 2014 >> > @@ -56,6 +56,7 @@ >> > # Python module imports. >> > from numpy import dot, fabs, isfinite, log, min, ones, ndarray >> > from numpy.ma import fix_invalid, masked_less_equal, masked_where >> > +import numpy as np >> > >> > # relax module imports. >> > from lib.dispersion.ns_matrices import rcpmg_3d >> > @@ -138,9 +139,7 @@ >> > >> > # Loop over the CPMG elements, propagating the magnetisation. >> > for j in range(2*power[i]): >> > - Mint = dot(Rexpo, Mint) >> > - Mint = dot(r180x, Mint) >> > - Mint = dot(Rexpo, Mint) >> > + Mint = Rexpo.dot(r180x).dot(Rexpo).dot(Mint) >> > >> > # The next lines calculate the R2eff using a two-point >> > approximation, i.e. assuming that the decay is mono-exponential. >> > Mx = Mint[1] / pA >> > >> > >> > _______________________________________________ >> > relax (http://www.nmr-relax.com) >> > >> > This is the relax-commits 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-commits >> >> _______________________________________________ >> relax (http://www.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 > > _______________________________________________ relax (http://www.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

