[sage-devel] NTL v7.0.1

2014-11-14 Thread Victor Shoup
Hi all, I've joined this group, since I think the Sage developer group is probably one of the biggest users of NTL, and so it might be useful to be in more direct contact. Anyway, I just release v7.0.1 of NTL, which fixes a bug in the polynomial multiplication code in v7.0. You will only see the

Re: [sage-devel] Re: Future NTL versions and exception handling

2014-11-14 Thread Victor Shoup
in Python. On Tuesday, November 11, 2014 10:15:44 PM UTC, Jean-Pierre Flori wrote: Dear all, As you must have noticed, Victor Shoup just released a new thread safe version of NTL. He also took the opportunity to ask me (and surely a bunch of other people) what

[sage-devel] NTL updates

2014-12-15 Thread Victor Shoup
I've just uploaded a bug-fix version of NTL (version 7.0.2) at www.shoup.net/ntl. Probably does not affect any Sage code, though. Also, I'm getting closer to finish my quixotic quest to make NTL exception safe. It is an interesting experience, as I'm learning how to make use of modern C++

Re: [sage-devel] NTL updates

2014-12-15 Thread Victor Shoup
, 2014 5:31:21 PM UTC-5, Jeroen Demeyer wrote: On 2014-12-15 20:15, Victor Shoup wrote: As I get closer to finishing this, I'm thinking more about gmp's lack of proper error handling, which is just like NTL's currently: print error message and call abort. No, MPIR (I haven't checked GMP

[sage-devel] NTL v8 - exceptions!

2014-12-24 Thread Victor Shoup
I finally transformed the internals of NTL to be exception safe and to throw exceptions upon encountering an error (rather than the old abort with error message approach). This required a major overhaul of a lot of NTL internals, but the high level interfaces remain unchanged. To enable

[sage-devel] NTL v9.0

2015-03-27 Thread Victor Shoup
With much trepidation, I have introduced a (hopefully minor) backward incompatibility into NTL. The interface to the single-precision modular arithmetic routines has been modified slightly. This interface change allows for more flexible and more efficient implementation of these routines,

Re: [sage-devel] Thread boosting in NTL

2015-10-22 Thread Victor Shoup
I implemented a simple thread pool, so threads are long lived and wake up when there is work to do. The thread pool class is pretty easy to use. Have not tried hyperthreading. The sys admins who are in charge of the machine are not keen to turn it on. All the code is available on my Web

[sage-devel] Thread boosting in NTL

2015-10-21 Thread Victor Shoup
Just in case anyone is interested... I released a new version of NTL that offers a new "thread boosting" feature, which utilizes multiple cores to speed up certain computations. This is a work in progress...as of now, only basic operations in ZZ_pX are thread boosted. You can see a report on

[sage-devel] Re: FLINT/NTL benchmarks

2015-10-04 Thread Victor Shoup
new code that is being presented at conferences these days. > > Bill. > > On Monday, 5 October 2015 01:35:09 UTC+2, Victor Shoup wrote: >> >> I've recently done some benchmarking to compare FLINT and NTL. >> I've tried to be as fair as possible in the comparisons. >> If anyone

[sage-devel] FLINT/NTL benchmarks

2015-10-04 Thread Victor Shoup
I've recently done some benchmarking to compare FLINT and NTL. I've tried to be as fair as possible in the comparisons. If anyone is interested, you can see the results here: http://shoup.net/ntl/benchmarks.pdf The upshot is: FLINT is faster for some things, and NTL is faster for other things.

[sage-devel] Re: FLINT/NTL benchmarks

2015-10-05 Thread Victor Shoup
seems like a better investment, especially since C++11 (and C11) now standardize many aspects of it, so one can write portable code now. On Monday, October 5, 2015 at 5:33:29 AM UTC-4, Bill Hart wrote: > > > > On Monday, 5 October 2015 04:18:27 UTC+2, Victor Shoup wrote: >> &g

[sage-devel] Re: FLINT/NTL benchmarks

2015-10-05 Thread Victor Shoup
, October 5, 2015 at 7:13:23 AM UTC-4, Victor Shoup wrote: > > Yes, I saw a paper by the mathemagix people recently...I believe they use > the floating point SIMD, and some > tricks with "fused multiply and add" to very nice effect. > They are basically implementing integ

Re: [sage-devel] Re: FLINT/NTL benchmarks

2015-10-05 Thread Victor Shoup
that happens before diving in to all of the current muck... Hopefully, I won't be too old to write code :-) On Monday, October 5, 2015 at 10:22:08 AM UTC-4, bluescarni wrote: > > On 5 October 2015 at 13:13, Victor Shoup <sh...@cs.nyu.edu > > wrote: >> >> I hesitate somew

Re: [sage-devel] NTL new.h patch - singular-related - details?

2016-05-27 Thread Victor Shoup
lusive... > > By the way, I've forwarded all of our patches/hackery to Victor Shoup some > monthes/years ago and he said he'll try to integrate them. > Maybe it's time to politely ask once again about what has not been > integrated (e.g. shipping its own libtool). > > On Thursda

Re: [sage-devel] NTL 9.7.0

2016-03-14 Thread Victor Shoup
ion of c++11 flags breaks the building of the > singular version shipped in sage. I don’t know about singular 4 > but it wouldn’t surprise me if it did too. > > François > > > On 13/03/2016, at 10:32, Victor Shoup <sh...@cs.nyu.edu > > wrote: > > > > Just relea

[sage-devel] NTL 9.7.0

2016-03-12 Thread Victor Shoup
Just released a new version of NTL! In a nutshell: faster, better matrix arithmetic over zz_p (small moduli), some improved thread pooling facilities, and several other small improvements. For more details, go here: http://shoup.net/ntl/doc/tour-changes.html -- You received this message because

[sage-devel] NTL 9.7.1

2016-04-20 Thread Victor Shoup
I uploaded a new NTL version (9.7.1) to http://www.shoup.net/ntl This version completes the implementation of faster matrix arithmetic (mul, inv, gauss, etc) modulo small primes. These new implementations are more cache friendly, and they make more intelligent use of available hardware

[sage-devel] NTL 9.8.0: thread safety for the masses

2016-04-26 Thread Victor Shoup
So I finally figured out a way to get NTL to work in thread-safe mode on a much broader range of platforms, including Mac OSX (10.10 and above) and Linux with somewhat older gcc's (gcc version 4.8 and above). This new version of NTL still requires many C++11 features in thread-safe mode, but it

[sage-devel] NTL v10

2016-10-08 Thread Victor Shoup
I hope this is of some interest to the Sage community. I've just released a new version of NTL at http://www.shoup.net/ntl Here is a summary of changes. *New License: LGPLv2.1* - With the permission of all relevant contributors, NTL is now licensed under LGPLv2.1+ (the Lesser GNU Public

Re: [sage-devel] NTL v10

2016-10-08 Thread Victor Shoup
Haha, yes, that was one reason to do it. On Saturday, October 8, 2016 at 4:27:01 PM UTC-4, François wrote: > > > > On 9/10/2016, at 09:21, Victor Shoup <sh...@cs.nyu.edu > > wrote: > > > > • I've renamed all the ".c" files to ".cp

Re: [sage-devel] NTL v10

2016-10-10 Thread Victor Shoup
Ok, I will start working on these issues. The one I understand the least is libtool. It looks like you are saying I should generate a libtool script on the machine X on which I create the NTL tarball. But this seems very strange. How could that script be any better than one generated/installed

Re: [sage-devel] NTL v10

2016-10-10 Thread Victor Shoup
One more question, relating to $(MAKE). There are a number of scripts besides the makefile that also invoke make. Should these also be modified? But then the mechanism would have to be different (environment variable?). Before I can sort that out, I would like to know what is the goal here? Is

Re: [sage-devel] NTL v10

2016-10-10 Thread Victor Shoup
About the make variable... I can definitely see it's utility with make -j... I would guess that's the main advantage, and that's easy enough to fix in the makefile itself. The other calls to make from other scripts are a bit more problematic. Would you say they are a priority? And if so,

[sage-devel] NTL 10.2.0

2016-11-10 Thread Victor Shoup
Just posted a new version. In addition to a few performance improvements, I've added new routines that give direct access to the underlying "limbs" of a ZZ, which is a feature that has been requested from time to time. As usual, go to: http://www.shoup.net/ntl The next thing

Re: [sage-devel] NTL 1v0.1.0

2016-10-19 Thread Victor Shoup
Sure. Will do. -- 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] NTL 1v0.1.0

2016-10-14 Thread Victor Shoup
I just uploaded NTL v10.1.0. After much foot dragging, and with the help and encouragement of folks here at sage-devel, I've finally got around to making (nearly) all of the packaging/build features that were requested. The big ones are locally generated libtool and $(MAKE). I did not implement

Re: [sage-devel] NTL 1v0.1.0

2016-10-17 Thread Victor Shoup
That said, I think the quickest fix is to replace static_cast with (long*). But it's not a good long term solution. -- 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

Re: [sage-devel] NTL 1v0.1.0

2016-10-17 Thread Victor Shoup
Interesting. Looks like the singular code is using internal, undocumented NTL interfaces. I work very hard to keep the documented interfaces stable and reliable, but I can't guarantee anything for undocumented interfaces. If singular is going to do that, they will have to use ifdefs or

Re: [sage-devel] NTL 1v0.1.0

2016-10-17 Thread Victor Shoup
I see. I don't do it on purpose... I looked at some singular source files, but I don't know if I have the most recent. But it looks like they are trying to look inside ntl's ZZ representation. That's a big no no. Right now, the only semi efficient way to do this with the existing interface

Re: [sage-devel] NTL 1v0.1.0

2016-10-17 Thread Victor Shoup
Good! But it should be determined if there is an interface that ntl could provide so that this problem goes away -- 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

Re: [sage-devel] NTL 1v0.1.0

2016-10-18 Thread Victor Shoup
I will anyway add routines to get and set the limbs of a ZZ. -- 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

[sage-devel] NTL 10.3.0

2016-11-18 Thread Victor Shoup
Go to http://shoup.net/ntl for full details. Below is the latest entry in the change log. I've also updated the NTL/FLINT comparison document: http://shoup.net/ntl/benchmarks.pdf The only significant change is to the ZZ_pX factoring benchmarks (the new code in NTL speeds up mat_ZZ_p

[sage-devel] Re: NTL v10

2016-10-11 Thread Victor Shoup
o remember using paper tape...but that was mainly just to backup my programs, if I recall correctly. Ahhh...those were the days :-) On Saturday, October 8, 2016 at 4:21:14 PM UTC-4, Victor Shoup wrote: > > I hope this is of some interest to the Sage community. > I've just released a

Re: [sage-devel] NTL v10

2016-10-10 Thread Victor Shoup
changes. I will follow up with a couple of quick questions, though. On Monday, October 10, 2016 at 5:09:48 PM UTC-4, Dima Pasechnik wrote: > > > > On Monday, October 10, 2016 at 9:09:38 PM UTC+1, François wrote: >> >> On 11/10/16 01:58, Victor Shoup wrote: >> > Anot

Re: [sage-devel] NTL v10

2016-10-10 Thread Victor Shoup
I am almost done with everything!! I have just a couple of remaining questions. First, I am having a hard time understanding why singular is having a hard time with the definition of NTL_NEW_OP. It is defined that way for a reason, and this is completely standard C++ (standard, as in C++98).

Re: [sage-devel] NTL v10

2016-10-10 Thread Victor Shoup
e pestered you about make/$(MAKE) a lot more > as it is a much bigger sin ;) > > François > > > On 11/10/2016, at 13:03, Victor Shoup <sh...@cs.nyu.edu > > wrote: > > > > First, you are definitely wrong about punch cards. I started programming >

[sage-devel] Re: NTL v10

2016-10-10 Thread Victor Shoup
problem that should be fixed in singular, if it hasn't been already. On Saturday, October 8, 2016 at 4:21:14 PM UTC-4, Victor Shoup wrote: > > I hope this is of some interest to the Sage community. > I've just released a new version of NTL at http://www.shoup.net/ntl > > Here is a s

Re: [sage-devel] NTL v10

2016-10-10 Thread Victor Shoup
Ok, thanks. I will try to get this done this week. Your explanation was very helpful. Hopefully, I can piece together a solution based on the scripts you pointed to in your previous reply. I admit, I've been quite a dinosaur when it comes to autotools stuff...when I started, none of this

Re: [sage-devel] NTL v10

2016-10-10 Thread Victor Shoup
Let me get this straight... You say that the tarball does not contain a libtool script, but rather, contains a directory that contains files that will build a libtool script at compile time. Is that right? -- You received this message because you are subscribed to the Google Groups

[sage-devel] NTL 11.1.0

2018-06-07 Thread Victor Shoup
Just posted a new version of NTL, version 11.1.0. I've completely re-written the low-level small-prime FFT to use a truncated FFT algorithm. More details here: http://www.shoup.net/ntl/doc/tour-changes.html -- You received this message because you are subscribed to the Google Groups

[sage-devel] NTL v11

2018-04-08 Thread Victor Shoup
/benchmarks.pdf Cheers! -Victor Shoup -- 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] Re: NTL 11.2.0

2018-07-10 Thread Victor Shoup
making your code Open Source, so that we can all learn from it, and for the > benchmarks you have been making available! > > Bill. > > On Saturday, 7 July 2018 20:39:59 UTC+2, Victor Shoup wrote: >> >> I just released NTL 11.2.0 at http://www.shoup.net/ntl >> >> The mai

[sage-devel] NTL 11.2.0

2018-07-07 Thread Victor Shoup
I just released NTL 11.2.0 at http://www.shoup.net/ntl The main change is a new and improved implementation of the Schoenhage-Strassen FFT for multiplication of polynomials over the integers. The new implementation includes a truncated FFT algorithm, the "sqrt 2" trick, and better engineered

[sage-devel] NTL 11.2.1

2018-07-15 Thread Victor Shoup
I just uploaded NTL 11.2.1 to http://www.shoup.net This fixes an embarrassing bug, which slipped into NTL 11.2.0. Any installations of NTL 11.2.0 should be replaced as soon as possible with NTL 11.2.1. -- You received this message because you are subscribed to the Google Groups "sage-devel"

[sage-devel] NTL 11.3.0

2018-08-17 Thread Victor Shoup
I just uploaded NTL 11.3.0 to https://www.shoup.net/ntl/ Brief summary of what's new: - An AVX-based small-prime FFT - For a variety of reasons, this is an experimental feature that is not enabled by default. - Works with both AVX2 and AVX512. - It can give a 2-3x