-
Notifications
You must be signed in to change notification settings - Fork 3
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
Assertion failed: d[]*PRP_BASE result has unexpected carryout! #33
Comments
Thanks for the bug report! As with #10, it would be helpful if you could try disabling LTO, so we could rule that out. If that does not help, could you add this printf call: printf("c_uint64_ptr[j] = %llu\n\nj = %u\n", c_uint64_ptr[j], j); above that assert statement on line 2157: Lines 2154 to 2157 in 1839858
You might also want to try forcing a larger FFT length with the |
Hi |
Now compiled without -LTO and with the printf line added, same issue but more info.
INFO: testing qfloat routines... INFO: Maximum recommended exponent for FFT length (576 Kdbl) = 11450805; p[ = 11396863]/pmax_rec = 0.9952892395. c_uint64_ptr[j] = 1 j = 178076 |
which -fft value should I try? |
Thank you for the additional information. From the provided
Sorry, I meant building it without Link Time Optimization (LTO) enabled, so without the
The next largest one listed in your CC: @xanthe-cat |
@tdulcet, I used -fft 640 and same error happened. I will try a run from the beginning without LTO to reproduce the issue. |
same issue from a fresh run without LTO. ... j = 178076 |
Thanks for running it again and for the information. Another user reported a similar issue today when performing a regular PRP test. Here was their provided output:
and the end of their
Forcing a larger FFT length also did not help:
Both of the effected users are using ARM systems with ASIMD. |
I am using code from main, May 5th, compiled with GCC 11 with tuned Makefile with -O3 -flto=auto -DUSE_ARM_V8_SIMD -mcpu=neoverse-n1
This is an Ampere Arm VM.
I also have the file to restart, if needed.
INFO: testing qfloat routines...
System total RAM = 23236, free RAM = 11262
INFO: 11262 MB of free system RAM detected.
CPU Family = ARM Embedded ABI, OS = Linux, 64-bit Version, compiled with Gnu C [or other compatible], Version 11.4.1 20230605 (Red Hat 11.4.1-2.1.0.1).
INFO: Build uses ARMv8 advanced-SIMD instruction set.
INFO: Using prefetch.
INFO: Using inline-macro form of MUL_LOHI64.
INFO: Using FMADD-based 100-bit modmul routines for factoring.
INFO: MLUCAS_PATH is set to ""
INFO: using 53-bit-significand form of floating-double rounding constant for scalar-mode DNINT emulation.
INFO: testing IMUL routines...
INFO: Testing 64-bit 2^p (mod q) functions with 100000 random (p, q odd) pairs...
INFO: System has 4 available processor cores.
INFO: testing FFT radix tables...
Set affinity for the following 4 cores: 0.1.2.3.
User did not set LowMem in mlucas.ini ... allowing all test types.
User did not set CheckInterval in mlucas.ini ... using default.
NTHREADS = 4
Setting ITERS_BETWEEN_CHECKPOINTS = 10000.
looking for worktodo.txt file...
worktodo.txt file found...reading next assignment...
worktodo.txt entry: PRP=16A20FCE71DF730C49E6B299E558CC11,1,2,11396863,-1,99,0,3,5,"61547191186328636909209"
INFO: Maximum recommended exponent for FFT length (576 Kdbl) = 11450805; p[ = 11396863]/pmax_rec = 0.9952892395.
Initial DWT-multipliers chain length = [hiacc] in carry step.
INFO: restart file p11396863 found...reading...
Computing 2990000-squaring residue R (mod known prime q = 61547191186328636909209)
A: R == 44566622423702911301179 (mod q)
B: R == 44566622423702911301179 (mod q)
mers_mod_square: Init threadpool of 4 threads
Using 4 threads in carry step
ERROR: at line 2157 of file ../src/Mlucas.c
Assertion failed: d[]*PRP_BASE result has unexpected carryout!
[1]+ Exit 1 ./Mlucas -cpu 0:3
The text was updated successfully, but these errors were encountered: