-
-
Notifications
You must be signed in to change notification settings - Fork 528
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
Important speed regression because pari is forced to be --mt=pthread #31572
Comments
comment:1
This is required by giac, see #30537 |
Replying to @tornaria:
|
comment:3
Thanks for the info (and sorry, I'm not familiar with git-trac, I see now that the way branches get merged I should have followed the branch up the tree to find 8ff8b0b, but that's not completely obvious at first sight). For the record, I think #30537 comment:45 shows an example failure (doctesting I recompiled sage-9.3.rc0 with single thread pari and indeed I get a lot of failures in doctesting this file, the first one being the one in the comment quoted above. Weird enough, when I try to reproduce the doctest by hand, step-by-step, it does not fail (?). What could be done about it? Having a 40% or more penalty for pari seems a huge cost to pay. Is there an indication of when and where giac added this requirement? |
comment:5
Replying to @tornaria:
That's right. |
This comment has been minimized.
This comment has been minimized.
comment:8
For the record, debian and therefore ubuntu have shipped |
comment:10
Perhaps giac can use single-threaded Pari, as well? It can test whether Pari is single- or multi-threaded, and use different code paths for these two scenarios. |
comment:11
Another consequence of the change to |
comment:15
FTR, upstream pari recommends compiling gp with -lto to make up for the performance loss caused by multithreading. We've been doing that in the Arch package for a while. |
comment:16
Just a quick note, since I reported this I've given up and switched to pari with pthreads, since it seems just too difficult otherwise. The mitigations I'm using are:
|
The giac upgrade to 1.6 in #30537 (9.3.beta9) made it necessary to switch pari to thread mode:
The issue I find with this is that pari compiled with pthread is ~40% slower than pari in
make test-all
, e.g.:--mt=pthread
:I think sage uses
gp-dyn
so that's a 40% slowdown (even usinggp-sta
there would be a 25% slowdown).The performance hit might be even worse than that in some gp scripts, e.g.:
The performance of gp scripts may not be so important for sage, but it is for a system install of pari-gp, which means this places a conflict between what is good for a distro pari and what is required (?) for compiling sage. See void-linux/void-packages#29635 for an example of this.
CC: @mkoeppe @dkwo @antonio-rojas @sagetrac-parisse @kiwifb @pjbruin
Component: packages: standard
Keywords: pari
Issue created by migration from https://trac.sagemath.org/ticket/31572
The text was updated successfully, but these errors were encountered: