flintlib / flint

FLINT (Fast Library for Number Theory)
http://www.flintlib.org
GNU Lesser General Public License v3.0
401 stars 235 forks source link

nfloat_complex dot products #2007

Closed fredrik-johansson closed 1 month ago

fredrik-johansson commented 1 month ago

Current profile vs acf:

                  _gr_vec_dot
prec = 64
n =   10         1.010e-07 (1.901x)
n =  100         8.410e-07 (1.700x)
prec = 128
n =   10         1.600e-07 (1.862x)
n =  100         1.380e-06 (1.659x)
prec = 192
n =   10         3.400e-07 (2.079x)
n =  100         3.180e-06 (2.267x)
prec = 256
n =   10         4.320e-07 (1.850x)
n =  100         4.120e-06 (1.942x)
prec = 512
n =   10         1.020e-06 (1.471x)
n =  100         1.010e-05 (1.455x)
prec = 1024
n =   10         3.070e-06 (1.485x)
n =  100         3.110e-05 (1.450x)
prec = 2048
n =   10         8.380e-06 (1.516x)
n =  100         8.420e-05 (1.390x)
prec = 4096
n =   10         2.840e-05 (1.408x)
n =  100         2.820e-04 (1.319x)
fredrik-johansson commented 1 month ago

What's up with the CI? Have we hit some limit?

albinahlback commented 1 month ago

Seems to only affect the runners with Ubuntu 24.04 running more than 4 minutes.

fredrik-johansson commented 1 month ago

BTW, why do we run duplicate tests (both (push) and (pull_request)) on PRs? I thought at some point this was fixed so only one was run.

albinahlback commented 1 month ago

I wrote about the issue of Ubuntu 24.04 runners here: https://github.com/actions/runner-images/issues/9848#issuecomment-2137140734

albinahlback commented 1 month ago

BTW, why do we run duplicate tests (both (push) and (pull_request)) on PRs? I thought at some point this was fixed so only one was run.

Because you are pushing to flintlib user/organization's repository of FLINT. I don't know how to fix this. Perhaps Doctor @edgarcosta knows how?

fredrik-johansson commented 1 month ago

True, I should maybe just go back to using my own repo :-)

edgarcosta commented 1 month ago

BTW, why do we run duplicate tests (both (push) and (pull_request)) on PRs? I thought at some point this was fixed so only one was run.

Because you are pushing to flintlib user/organization's repository of FLINT. I don't know how to fix this. Perhaps Doctor @edgarcosta knows how?

That is exactly what @albinahlback said. For organizational purposes, we should always work on our personal forks, make PRs to main, and perhaps protect main from accidental pushes. https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches

Alternatively, we could add something to prevent the double CI run, e.g.: (this is not tested)


if: (github.event_name != 'pull_request' && ! github.event.pull_request.head.repo.fork) || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork))