Hi Martin,

Here is a run that illustrates the problem. Am I doing something
wrong?

[EMAIL PROTECTED]:~/m4ri-20080514/testsuite> time ./
bench_multiplication 5000 2048
n:  5000, cutoff:  2048, cpu cycles: 2670143764

real    0m2.768s
user    0m2.760s
sys     0m0.008s
[EMAIL PROTECTED]:~/m4ri-20080514/testsuite> time ./
bench_multiplication 5000 3000
n:  5000, cutoff:  3000, cpu cycles:  746344039

real    0m3.277s
user    0m3.252s
sys     0m0.024s

Bill.

On 15 May, 18:42, Martin Albrecht <[EMAIL PROTECTED]>
wrote:
> On Thursday 15 May 2008, Bill Hart wrote:
>
>
>
> > Hi Martin,
>
> > The cycle counter in your bench code seems to give random values on
> > the 2.4GHz Opteron with SUSE 9 linux that I have access to, which has
> > Magma 2-14.10 on it.
>
> > Anyhow, here are the Magma times:
> > > A := RandomMatrix(GF(2),10^4,10^4);
> > > B := RandomMatrix(GF(2),10^4,10^4);
> > > t := Cputime(); C := A*B; Cputime(t);
>
> > 2.940
>
> > > A := RandomMatrix(GF(2),2*10^4,2*10^4);
> > > B := RandomMatrix(GF(2),2*10^4,2*10^4);
> > > t := Cputime(); C := A*B; Cputime(t);
>
> > 16.570
>
> > > A := RandomMatrix(GF(2),2^14,2^14);
> > > B := RandomMatrix(GF(2),2^14,2^14);
> > > t := Cputime(); C := A*B; Cputime(t);
>
> > 9.250
>
> > The corresponding times for your code are approximately (hand timed;
> > adjusted for generation of random matrices):
>
> > 10^4: 8s
> > 2*10^4: 59s
> > 2^14: 43s
>
> > I think it is polynomials over GF2 which Magma 2-14.x is much faster
> > at rather than linear algebra.
>
> > Bill.
>
> Hi Bill,
>
> I cannot explain the random behaviour of the cpucycles counter. The cpucycles
> library is by Dan Bernstein so I'd suspect it is carefully coded. Some
> potential sources of variance are: dynticks (i.e. the kernel doesn't have a
> fixed tick rate, this is done to safe power), CPU frequency scaling and other
> applications. On the other hand, I'd suspect I don't need to tell you since
> you probably benchmarked more code than I did. To account for the variance I
> have the small run_bench.py script in the testsuite directory. Run it like
> this:
>
>     ./run_bench.py -t mul -n 10000 -c 3200
>
> It'll run the experiment 17 times (17 for no particular reason) and return the
> median runtime. -n is the size and -c the cutoff.
>
> Cheers,
> Martin
>
> --
> name: Martin Albrecht
> _pgp:http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
> _www:http://www.informatik.uni-bremen.de/~malb
> _jab: [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to