On Tue, Sep 11, 2018 at 4:14 PM Victor Shoup <sh...@cs.nyu.edu> wrote:
>
> I got curious, so I collected some data.  Here are timing results comparing 
> NTL's zz_pX multiplication
> to zn_poly's zn_array_mul.  For various values of n, I multiplied polynomials 
> of degree < n
> modulo a 50 bit number.  The values of n are powers of 2 and halfway between 
> powers of 2,
> ranging between 512 and 512K.
> Both NTL and zn_poly were compiled using their default configurations.

By "default configurations" did you run `make tune` for zn_poly?

> One can also compile NTL with an option that enables an AVX-based FFT 
> implementation.
> With that option set, the numbers look like this.

The AVX support alone would seem like a major boon.

> If anyone wants to the program I used for timing, let me know.

This is not my wheelhouse, so I'm not invested beyond the fact that
zn_poly is currently supported.  But thanks!

If others want to look into using NTL to replace zn_poly in Sage they
should work on that and see if the benefits hold up.


> On Friday, September 7, 2018 at 9:53:43 AM UTC-4, Erik Bray wrote:
>>
>> Hi all,
>>
>> Does anyone know what that current status is of the upstream zn_poly
>> package?  According to its website
>> http://cims.nyu.edu/~harvey/zn_poly/ it is "no longer maintained",
>> though it has been re-released under a BSD-compatible license.
>>
>> Since its last upstream release the package for it in Sage has
>> accumulated a number of patches as well, and I believe I may need to
>> add one more patch to it for building properly on Cygwin :(  See
>> https://trac.sagemath.org/ticket/26050
>>
>> If it's alright, I would propose creating a new repository for it
>> under the sagemath gitlab organization (or GitHub) which would become
>> the new "upstream" for zn_poly.  Then we can merge in all these
>> patches; maybe even implement a new, more standard build system (I
>> would be happy to do this).  In fact the current "build system" is
>> going to have problems long-term, as it currently consists primarily
>> of a Python script that will not work, as written, on Python 3.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to