-
-
Notifications
You must be signed in to change notification settings - Fork 435
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix NTL spkg-configure.m4 so it rejects NTLs built with NTL_THREADS #29339
Comments
comment:1
the wise thing is to enable TLS as much as possible, IMHO. The configuration with enabled TLS on NTL, pari, and flint used to work, IIRC. |
comment:2
I also don't think gf2x should be a hard requirement. It is entirely optional for NTL. |
comment:3
Do you mean NTL_TLS_HACK? |
comment:4
homebrew's NTL is configured with |
comment:5
Tests run at https://github.com/mkoeppe/sage/actions/runs/56215147 |
This comment has been minimized.
This comment has been minimized.
comment:7
see #27764 |
Commit: |
New commits:
|
Author: Matthias Koeppe |
comment:10
once again - some distros build NTL without gf2x support, and it results in some deterioration of performance, but this is not something Sage should worry too much. Print a warning if you must. After all, it is by far not the only place where the performance is suboptimal on pre-build installs, untuned for the hardware, say. |
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:14
Replying to @dimpase:
OK, I have removed the tests |
comment:15
IMHO also pari/gp is typically built with threads on by distros. We may end up with having to build all the libs... |
comment:16
I don't see such problems in my tests |
comment:17
do you test with options forcing the use of system packages? |
comment:18
Not recently, will do |
comment:25
Shouldn't there be a ticket that enables NTL threads for Sage-the-distribution then? |
comment:26
4 years ago the Python's single-thread religion still had many followers :-) |
comment:27
No, seriously, when our own installation scripts avoid NTL's threads, then I think it is quite appropriate that the spkg-configure checks for that. |
comment:28
by the way, Fedora 30 (and on newer Fedoras too) also provides multithreaded NTL, and Sage happily uses it, tests pass.
|
comment:29
Replying to @mkoeppe:
I don't see why. Anyhow, this problem (inability to use multithreaded NTL) seems to be MacOS-only, and probably related to #27764 |
comment:30
We historically had an issue before defaulting to C++11 but we should be able to move ahead in my opinion. I am expecting distros to all be threaded at this stage. It is just a matter of testing the insane number of corner cases. |
comment:31
Replying to @kiwifb:
it seems to be that Debian is not providing multithreaded NTL (and the related libs, such as Flint, are single-threaded too). |
comment:32
For what it is worth, on macOS 10.13.6, Homebrew's NTL works for me without any problems. I last checked with a clean build of 9.1.beta4 and ptestlong passed. |
comment:33
Replying to @kiwifb:
I have created ticket #29340 (Enable threads in NTL) for that, in case someone would like to work on it. |
comment:34
Replying to @dimpase:
#27764 does not fix the problem on macOS, I've already tested that |
comment:35
See #29366 (arch) |
Changed author from Matthias Koeppe to none |
comment:38
I think this is no longer needed |
Reviewer: Dima Pasechnik |
comment:39
ok |
... such as homebrew's NTL (#29104).
Builds with NTL_THREADS breaks Singular (as observed in #29104).
In fact, as of the NTL upgrade ticket #20590, we build the NTL SPKG with NTL_THREADS=off. (On that ticket, it was noted "we cannot take advantage of the threading until a number of things are resolved. Threading requires C++11 and a number of packages are behind the curve.")
In a follow-up ticket we may consider issuing a warning if NTL is configured without NTL_GMP_LIP, without NTL_GF2X_LIB, which may lead to a performance degradation.
CC: @dimpase @kiwifb @mwageringel @jhpalmieri @jpflori
Component: build: configure
Branch/Commit: u/mkoeppe/fix_ntl_spkg_configure_m4_so_it_rejects_ntls_built_with_ntl_threads__without_ntl_gmp_lip__without_ntl_gf2x_lib @
c3bc092
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/29339
The text was updated successfully, but these errors were encountered: