![]() |
|
|
#12 |
|
Dec 2014
2516 Posts |
Yeah! So I have stepped through that fetal error and retry safely. I really need to learn gdb so that I can also debug my code like what you did. Pointers and segfaults are the most confusing things to newbie C programmers. Three Star Programmer is a good old joke. Regarding the duplicated lines, I think I should not be piping stdout to the stat file. Actually, I run mlucas by this command in tty1
Code:
$ nice ./Mlucas &> /dev/null |
|
|
|
|
|
#13 | |
|
Dec 2014
37 Posts |
Quote:
About the i386 build, I have managed to build after applying a patch to the source code (by trial-and-error) and build with Code:
$ gcc -m32 -Di386_build -o mlucas *.c -lm I find problem in radix44_ditN_cy_dif1.c and radix176_ditN_cy_dif1.c. Compiler complains about undeclared a0, a1 ... a9, b0, b1 ... b9 in the expansion of radix44_main_carry_loop.h and radix176_main_carry_loop.h respectively. So what I do is to copy the declreation inside the #ifdef USE_SSE2 ... #endif in front of the #include radix44_main_carry_loop.h, and it seems working magically. The problems and the solutions of radix44_ditN_cy_dif1.c and radix176_ditN_cy_dif1.c are identical. Besides, there is also problem in get_fft_radices.c. When I try to compile, there are two case 7. Code:
case 7 :
numrad = 6; rvec[0] = 16; rvec[1] = 8; rvec[2] = 8; rvec[3] = 8; rvec[4] = 8; rvec[5] = 16; break;
#ifndef USE_ONLY_LARGE_LEAD_RADICES
case 7 :
numrad = 5; rvec[0] = 8; rvec[1] = 16; rvec[2] = 16; rvec[3] = 32; rvec[4] = 16; break;
Code:
$ ./mlucas -s m Finally, when I do the self-testing mentioned above, mlucas exit after a fetal error when using 144 as one of its radices and the error message comes from Code:
default :
sprintf(cbuf,"FATAL: radix %d not available for ditN_cy_dif1. Halting...\n",radix_vec0); fprintf(stderr,"%s", cbuf); ASSERT(HERE, 0,cbuf);
The solution I attempted is to add a case 144 by copying case 288 below. This prevents mlucas from exiting after the fetal error occurs. Instead, a fetal error caused by insane ROE occurs, mlucas halt testing and try another radix set instead of 144. These are what I find out last night. The patch is included in the attachment. I define the new feature test macro i386_build just to prevent the new changes break existing code. Maybe I will post the self-testing result after I am done with it. |
|
|
|
|
|
|
#14 |
|
∂2ω=0
Sep 2002
República de California
2D7716 Posts |
Alex, I reran the first ~30M iterations of your test on my Haswell quad and the rest on my new Broadwell NUC, final result matches yours. Max roundoff error I encountered using an AVX2-mode (that is an FMA-using) build was 0.375 (3 such during the run). Zipped .stat file attached.
|
|
|
|
|
|
#15 | |
|
Serpentine Vermin Jar
Jul 2014
63578 Posts |
Quote:
|
|
|
|
|
|
|
#17 |
|
∂2ω=0
Sep 2002
República de California
2D7716 Posts |
Thanks for the verify - I had no doubts after my DC, but because my code isn't officially allowed to do both the 1st and 2nd runs (no power-of-2 residue shift is used), you just made it official.
Does your logfile indicate what the max ROE for your run was? |
|
|
|
|
|
#18 | |
|
Serpentine Vermin Jar
Jul 2014
63578 Posts |
Quote:
I *think* it used the 3584K FFT size. Again, I kind of remember paying attention to that since it came up, and I made a mental note of that. |
|
|
|
|
![]() |
| Thread Tools | |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Automatic submit results + fetch assignments for mfaktc? | DuskFalls | GPU Computing | 5 | 2017-12-02 00:34 |
| How do we prevent miraculously true DC results from manual submit? | leonardyan96 | PrimeNet | 77 | 2017-06-01 16:18 |
| how to submit manually a job with exponent 100M which is done by mfaktc? | fairsky | Information & Answers | 17 | 2013-09-16 19:49 |
| Only submit part of ECM results? | dabaichi | PrimeNet | 5 | 2011-12-07 19:27 |
| Unable to submit / retrieve new work | Unregistered | Information & Answers | 12 | 2011-11-12 20:07 |