header

Categories::

People::

stesie
r4m (de|en)
backhaus
bunnylabs

Projects::

SAGE
Kopete SILC
Junge Linke (de)

Bubble::


Tue, 17. Oct 2006

The Need for Speed

First, I am aware that the current version of MAGMA is v2.13-5 and that MAGMA’s F4 implementation was heavily optimized in version 2.11-8 as e.g. shown here. That said, I had the chance to play with MAGMA v2.11-2 a bit and was actually a bit surprised how well the now truly open-source Singular 3-0-2 performed compared to it. # construct a random CTC ideal with blocksize=10 and number of round = 1
sage: F,s = ctc_random_MQ(Nr=1,B=10,order=”degrevlex”)

sage: time _ = F.ideal().groebner_basis(“magma:GroebnerBasis”)
CPU times: user 2.60 s, sys: 0.17 s, total: 2.77 s
Wall time: 124.8 # MAGMA’s GroebnerBasis

sage: time _ = F.ideal().groebner_basis()
CPU times: user 2.36 s, sys: 0.12 s, total: 2.49 s
Wall time: 42.01 # Singular’s groebner
Again, I know that the most recent version of MAGMA is much faster than the most recent version of Singular when it comes to Gröbner bases and I know that Allan Steel did an amazing job with his F4 implementation. However, the benchmarks shown above indicate that the open-source world is not as far off as I used to believe. Feel free to criticize my benchmarks, if they are wrong, I’ll correct them as soon as possible.

Elsewhere: You might be interested in this document which lists tips and tricks how to make your Pyrex code faster and should be of interest beyond SAGE. Also my quick comparison of malloc replacements could be of interest outside of SAGE - now that omalloc is GPL’d.

posted at: 18:01 :: permanent link

Valid XHTML 1.0 Strict Valid CSS! blosxom