New Faster Apps Coming Soon

Message boards : News : New Faster Apps Coming Soon
Message board moderation

To post messages, you must log in.

Previous · 1 · 2

AuthorMessage
k29000

Send message
Joined: 30 Apr 19
Posts: 30
Credit: 565,583
RAC: 412
Message 4492 - Posted: 17 Oct 2026, 13:13:32 UTC
Last modified: 17 Oct 2026, 14:12:20 UTC

I spent a few hours on pdffilter.f90 and some surrounding code. So far just from working to understand the bounds claimed in the codes comments
There are things that are not true:

1. - red(), lines 158-161. "The quotient is exact" isn’t true. x*qi is inexact. What is true is that rounding it to an integer gives the right integer

2. - reds(), lines 167-168. "quotient error (<= 2^-13)".

I get 2*2^-24*(2^19/257), about 2^-12.

For the values the code actually produces (|x| <= 2*((q-1)/2)^2, so |x|/q <= q/2) the error is <= 2^-14

3.
A question for Eric, I would like to know if coefficients this large is possible in general:
x^10 + 3475x^9 + 337500x^8 + 36x^2 + 125100x + 12150000

While playing with the code I found coefficients that large cause an overflow issue in the original polDiscTest_cpu.cpp . But I dont know what ranges are actually being tested
ID: 4492 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
pututu

Send message
Joined: 8 Jul 17
Posts: 23
Credit: 95,860,737
RAC: 212,011
Message 4493 - Posted: 17 Oct 2026, 14:26:02 UTC

Eric, I'm assuming GPU will also have a fast app as I'm not seeing them when I ran the test recently.

I tested stock versus fast app (w/o boinc) on three DS16x10 tasks on my 5070 recently and I'm seeing a 24x, 25x and 27x speed improvement.

Just my opinion: It would be nice to have a bump in credit, perhaps a reasonable compromise (not too excessive and not downright poor) considering that we can now finish the existing current search over S={2,5} field much faster by at least 10X to reflect that software improvement.
ID: 4493 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Eric Driver
Project administrator
Project developer
Project tester
Project scientist

Send message
Joined: 8 Jul 11
Posts: 1515
Credit: 1,375,892,489
RAC: 824,567
Message 4494 - Posted: 17 Oct 2026, 14:37:44 UTC - in response to Message 4492.  

I would also like to know if coefficients this large is possible:
x^10 + 3475x^9 + 337500x^8 + 36x^2 + 125100x + 12150000

While playing with the code I found coefficients that large cause an overflow issue in the original polDiscTest_cpu.cpp . But I dont know what ranges are actually being tested

When you say this causes overflow, what exactly do you mean? Is the polDiscTest failing on the polynomial? Did you concoct this polynomial or did it come out of the algorithmic search space?
Its discriminant is a square but It is reducible: (x+100)(x+3375)(x^8+36). The power of 2 in it's discriminant is way beyond anything possible for the imprimitive fields we search for. I would have to think about it, but I'm not sure if the search space can even generate such a polynomial.

The passiflora version does everything modulo q for small primes q, so it does not have an overflow problem. As you alluded to, it also does floating point and then rounds to the nearest integer.
ID: 4494 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Eric Driver
Project administrator
Project developer
Project tester
Project scientist

Send message
Joined: 8 Jul 11
Posts: 1515
Credit: 1,375,892,489
RAC: 824,567
Message 4495 - Posted: 17 Oct 2026, 14:46:48 UTC - in response to Message 4493.  

Eric, I'm assuming GPU will also have a fast app as I'm not seeing them when I ran the test recently.

I tested stock versus fast app (w/o boinc) on three DS16x10 tasks on my 5070 recently and I'm seeing a 24x, 25x and 27x speed improvement.

Just my opinion: It would be nice to have a bump in credit, perhaps a reasonable compromise (not too excessive and not downright poor) considering that we can now finish the existing current search over S={2,5} field much faster by at least 10X to reflect that software improvement.


For some reason, no tasks were sent to linux GPUs. There may be a problem with the plan class, but I can't see anything offhand. Some tasks were sent to windows GPUs. The linux CPU version was a hog with the 1000 test cases that were originally put out - it has now been validated and deprecated, to give other apps a chance at testing.
ID: 4495 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
k29000

Send message
Joined: 30 Apr 19
Posts: 30
Credit: 565,583
RAC: 412
Message 4496 - Posted: 17 Oct 2026, 14:54:13 UTC - in response to Message 4494.  
Last modified: 17 Oct 2026, 15:11:19 UTC


When you say this causes overflow, what exactly do you mean? Is the polDiscTest failing on the polynomial? Did you concoct this polynomial or did it come out of the algorithmic search space?
Its discriminant is a square but It is reducible: (x+100)(x+3375)(x^8+36). The power of 2 in it's discriminant is way beyond anything possible for the imprimitive fields we search for. I would have to think about it, but I'm not sure if the search space can even generate such a polynomial.

The passiflora version does everything modulo q for small primes q, so it does not have an overflow problem. As you alluded to, it also does floating point and then rounds to the nearest integer.


I concocted it to just work through the passiflora code.

What I mean by "overflow": the stock polDiscTest_cpu returns FALSE for the polynomial, even though its discriminant is square. The cause is an int64 overflow in the second unwrapped iteration (degR == 8 branch, line 203, R[k] = B[8]*R[k] - R[8]*B[k])
ID: 4496 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Alperen Yavuz
Avatar

Send message
Joined: 24 Jul 25
Posts: 12
Credit: 2,814,776
RAC: 457
Message 4497 - Posted: 17 Oct 2026, 15:12:52 UTC - in response to Message 4496.  

If you list the main problems, I can fix them. Claude science couldn't find a problem , maybe it's terrible at math like me.
ID: 4497 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
k29000

Send message
Joined: 30 Apr 19
Posts: 30
Credit: 565,583
RAC: 412
Message 4498 - Posted: 17 Oct 2026, 15:30:13 UTC - in response to Message 4497.  
Last modified: 17 Oct 2026, 16:25:31 UTC

If you list the main problems, I can fix them. Claude science couldn't find a problem , maybe it's terrible at math like me.


I already listed two. But I cant tell you how important they are or what should be done about them because I havent understood all of the code yet. But the possible issue I found in polDiscTest_cpu that I mentioned to Eric is more important for me to understand at the moment anyway because it may impact the assumptions in Passiflora

I can just as easily throw Claude at it because I myself use it in research but much more carefully, and in much smaller atomic steps, than a one-shot "please solve x".

I say this as someone experienced with this way of working: If we just throw Claude at the problem then whatever solution comes out could have other problems, it will take more time to solve, compared to gaining an understanding if the first solution even has guarantees at all

Many times I have told people what they are doing when trying to solve problems with LLMs like this is what I call the reverse chinese room argument.

Read up on the chinese room argument, and convince yourself that this is a mirror image of that.

I'm also an enterprise software engineer for systems that arent life threatening nor dealing with money. In that case we are much more cowboy because the consequences are low.

In science a solution means very little without understanding and correctness must be guaranteed, and LLMs are wrong a lot.

I highy recommend Prof Scarciotti's video: https://www.youtube.com/watch?v=KqiDqJMxg6o
ID: 4498 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
k29000

Send message
Joined: 30 Apr 19
Posts: 30
Credit: 565,583
RAC: 412
Message 4499 - Posted: 17 Oct 2026, 16:33:43 UTC - in response to Message 4496.  
Last modified: 17 Oct 2026, 16:51:35 UTC


When you say this causes overflow, what exactly do you mean? Is the polDiscTest failing on the polynomial? Did you concoct this polynomial or did it come out of the algorithmic search space?
Its discriminant is a square but It is reducible: (x+100)(x+3375)(x^8+36). The power of 2 in it's discriminant is way beyond anything possible for the imprimitive fields we search for. I would have to think about it, but I'm not sure if the search space can even generate such a polynomial.

The passiflora version does everything modulo q for small primes q, so it does not have an overflow problem. As you alluded to, it also does floating point and then rounds to the nearest integer.


I concocted it to just work through the passiflora code.

What I mean by "overflow": the stock polDiscTest_cpu returns FALSE for the polynomial, even though its discriminant is square. The cause is an int64 overflow in the second unwrapped iteration (degR == 8 branch, line 203, R[k] = B[8]*R[k] - R[8]*B[k])




Using the real search space, there is one I found that comes very close to the overflow. The overflow happens at bit 64 obviously, so 63 bits is max.

sf3_DS-16x271-1_Grp99 reaches 62 bits.

polBuf row: 1 0 0 5600 -102000 -2160400 -18605000 -172200000 809598750 11400000 40000

Not a square though but we know they get this large

Edit: I've found a few 63 bits too
ID: 4499 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Eric Driver
Project administrator
Project developer
Project tester
Project scientist

Send message
Joined: 8 Jul 11
Posts: 1515
Credit: 1,375,892,489
RAC: 824,567
Message 4500 - Posted: 17 Oct 2026, 16:50:36 UTC - in response to Message 4496.  


When you say this causes overflow, what exactly do you mean? Is the polDiscTest failing on the polynomial? Did you concoct this polynomial or did it come out of the algorithmic search space?
Its discriminant is a square but It is reducible: (x+100)(x+3375)(x^8+36). The power of 2 in it's discriminant is way beyond anything possible for the imprimitive fields we search for. I would have to think about it, but I'm not sure if the search space can even generate such a polynomial.

The passiflora version does everything modulo q for small primes q, so it does not have an overflow problem. As you alluded to, it also does floating point and then rounds to the nearest integer.


I concocted it to just work through the passiflora code.

What I mean by "overflow": the stock polDiscTest_cpu returns FALSE for the polynomial, even though its discriminant is square. The cause is an int64 overflow in the second unwrapped iteration (degR == 8 branch, line 203, R[k] = B[8]*R[k] - R[8]*B[k])

It's not the size of the coefficients here that matter in regards to overflow - its how the coefficients combine to form the discriminant. When I last optimized the algorithm (years ago), given the bounds on the coefficients, I determined that the first iteration of the resultant calculation (used in computing its discriminant) would easily fit within 64 bits.

The algorithm bounds the size of the coefficients using symmetrical polynomials of its roots. Your constructed polynomial does not satisfy the coefficient bounds - if you form the square root of the sum of the squares of the roots, you get 3376. The constant coefficient must be bounded by this which it is not. Therefore, this polynomial would never have even reached the polDiscTest routine.
ID: 4500 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
k29000

Send message
Joined: 30 Apr 19
Posts: 30
Credit: 565,583
RAC: 412
Message 4501 - Posted: 17 Oct 2026, 17:06:39 UTC - in response to Message 4500.  


When you say this causes overflow, what exactly do you mean? Is the polDiscTest failing on the polynomial? Did you concoct this polynomial or did it come out of the algorithmic search space?
Its discriminant is a square but It is reducible: (x+100)(x+3375)(x^8+36). The power of 2 in it's discriminant is way beyond anything possible for the imprimitive fields we search for. I would have to think about it, but I'm not sure if the search space can even generate such a polynomial.

The passiflora version does everything modulo q for small primes q, so it does not have an overflow problem. As you alluded to, it also does floating point and then rounds to the nearest integer.


I concocted it to just work through the passiflora code.

What I mean by "overflow": the stock polDiscTest_cpu returns FALSE for the polynomial, even though its discriminant is square. The cause is an int64 overflow in the second unwrapped iteration (degR == 8 branch, line 203, R[k] = B[8]*R[k] - R[8]*B[k])

It's not the size of the coefficients here that matter in regards to overflow - its how the coefficients combine to form the discriminant. When I last optimized the algorithm (years ago), given the bounds on the coefficients, I determined that the first iteration of the resultant calculation (used in computing its discriminant) would easily fit within 64 bits.

The algorithm bounds the size of the coefficients using symmetrical polynomials of its roots. Your constructed polynomial does not satisfy the coefficient bounds - if you form the square root of the sum of the squares of the roots, you get 3376. The constant coefficient must be bounded by this which it is not. Therefore, this polynomial would never have even reached the polDiscTest routine.


Yes at a glance it looked like the magnitude of the coefficients would be proportional to how they combine, so thats why I worded it that way.
I'm going to move this to another thread tomorrow to ask you more about this
ID: 4501 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile Eric Driver
Project administrator
Project developer
Project tester
Project scientist

Send message
Joined: 8 Jul 11
Posts: 1515
Credit: 1,375,892,489
RAC: 824,567
Message 4502 - Posted: 17 Oct 2026, 17:11:14 UTC - in response to Message 4501.  

The algorithm bounds the size of the coefficients using symmetrical polynomials of its roots. Your constructed polynomial does not satisfy the coefficient bounds - if you form the square root of the sum of the squares of the roots, you get 3376. The constant coefficient must be bounded by this which it is not. Therefore, this polynomial would never have even reached the polDiscTest routine.

Actually, this was not quite right. The calculation needs to be done with the degree 5 relative polynomial, but you get the idea.
ID: 4502 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Grant (SSSF)

Send message
Joined: 4 Jan 25
Posts: 83
Credit: 407,656,999
RAC: 515,275
Message 4503 - Posted: 17 Oct 2026, 20:58:14 UTC - in response to Message 4493.  

Just my opinion: It would be nice to have a bump in credit, perhaps a reasonable compromise (not too excessive and not downright poor) considering that we can now finish the existing current search over S={2,5} field much faster by at least 10X to reflect that software improvement.
Normally, that is what would happen.
But as there will be a new faster application that will be working on new Tasks that take longer to complete to keep the load on the servers down, and they will be running alongside the old application, it will complicate matters.



As i posted earlier
While the Optimised application Tasks should produce significantly more Credit per Task, as more work is actually being done, but if you are to keep the existing application to process Tasks then the new one will need to result in a similar amount of Credit per hour.
A task that requires 10 times the processing should get 10 times the Credit- but if it gets 10 times the Credit for a similar processing time to the existing Tasks and applications, then no-one will want to continue processing the current Tasks and applications- they'd need 10 times the Credit as well (even though they're doing 10 times less work).



The past has shown time and time again- if there isn't parity in Credit between applications, and the difference is more than just extremely minor and people can choose the higher paying work over the lower, then they will.
And in many cases, even if they can't easily choose- if they can identify the Tasks that will give more Credit, they will just abort those that don't.
Grant
Darwin NT, Australia.
ID: 4503 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Grant (SSSF)

Send message
Joined: 4 Jan 25
Posts: 83
Credit: 407,656,999
RAC: 515,275
Message 4504 - Posted: 17 Oct 2026, 21:16:14 UTC - in response to Message 4495.  

For some reason, no tasks were sent to linux GPUs. There may be a problem with the plan class, but I can't see anything offhand. Some tasks were sent to windows GPUs. The linux CPU version was a hog with the 1000 test cases that were originally put out - it has now been validated and deprecated, to give other apps a chance at testing.
Many of the LINUX hosts are CPU only high core count systems. And even those that have a usable GPU, many don't appear to be making use of it for Numberfields work, and many of them have 200, 500 and even 1,000 Task caches.
My two Windows systems in that are both in the Top 20 and are both set to do the test Tasks if available, but have yet to pick up any.

With 480,000 Tasks ready to send, and a huge number of high throughput CPU LINUX hosts with large caches to feed, 1,000 Tasks is but a drop in the ocean...
Grant
Darwin NT, Australia.
ID: 4504 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Previous · 1 · 2

Message boards : News : New Faster Apps Coming Soon


Main page · Your account · Message boards


Copyright © 2026 Arizona State University