mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Mlucas (https://www.mersenneforum.org/forumdisplay.php?f=118)
-   -   Mlucas on ubuntu (https://www.mersenneforum.org/showthread.php?t=22700)

Damian 2017-11-08 18:26

Mlucas on ubuntu
 
Hi! I'd like to run mlucas on an ubuntu machine. I installed it with

[CODE]sudo apt-get install mlucas[/CODE]

Then i cd into [CODE]~/.mlucas.d/[/CODE]

and I write a worktodo.ini file with this

[CODE]Test=DDD21F2A0B252E499A9F9020E02FE232,11213,69,0
[/CODE]
where the only number I understand what it means is the exponent I changed from some example I found on the net, 11213.

The I run mlucas, and this is the output I get

[CODE]Old stack_limits: cur = 8388608, max = 0, [RLIM_INFINITY = 4294967295]
New stack_limits: cur = 4294967295, max = 4294967295
Old stack_limits: cur = 4294967295, max = 4294967295, [RLIM_INFINITY = 4294967295]

Mlucas 14.1

http://hogranch.com/mayer/README.html

INFO: testing qfloat routines...
INFO: qfloat routines using subroutine form of MUL_LOHI
CPU Family = x86, OS = Linux, 32-bit Version, compiled with Gnu C [or other compatible], Version 5.2.1 20151022.
INFO: CPU supports SSE2 instruction set, but using scalar floating-point build.
INFO: Using prefetch.
INFO: Using subroutine form of MUL_LOHI64.
INFO: MLUCAS_PATH is set to "/home/damian/.mlucas.d/"
INFO: mkdir -p "/home/damian/.mlucas.d/" succeeded
INFO: using 64-bit-significand form of floating-double rounding constant for scalar-mode DNINT emulation.
INFO: testing IMUL routines...
INFO: System has 4 available processor cores.
INFO: testing FFT radix tables...
looking for number of threads to use in nthreads.ini file...
Using NTHREADS = #CPUs = 4.
looking for worktodo.ini file...
worktodo.ini file found...checking next exponent in range...
INFO: local.ini file local.ini not found.
INFO: primary restart file p11213 not found...looking for secondary...
INFO: no restart file found...starting run from scratch.
INFO: Using default value of ROCheckIter = 200000.
Mers_mod_square: Init threadpool of 4 threads
executing worker thread id 2, syscall_id = 28890
syscall_id = 28890, setaffinity[2] = 0, ISSET[2] = 1
executing worker thread id 0, syscall_id = 28888
executing worker thread id 3, syscall_id = 28891
Using 4 threads in carry step
executing worker thread id 1, syscall_id = 28889
syscall_id = 28889, setaffinity[1] = 0, ISSET[1] = 1
syscall_id = 28891, setaffinity[3] = 0, ISSET[3] = 1
syscall_id = 28888, setaffinity[0] = 0, ISSET[0] = 1
INFO: local.ini file local.ini not found.
INFO: restart file p11213 found...reading...
INFO: RO warnings > 0.40625 detected in first 200K iterations;
Leaving error checking on for rest of the LL test of this exponent.
INFO: Using default value of ROCheckIter = 200000.

Return with code ERR_INCORRECT_RES64
The error is not reproducible, but encountered a different ROE in the retry of the interval ... as this is
an indicator of likely data corruption, quitting. Please restart the program at your earliest convenience.
ERROR: at line 2999 of file ./src/Mlucas.c
Assertion failed: The error is not reproducible, but encountered a different ROE in the retry of the interval ... as this is
an indicator of likely data corruption, quitting. Please restart the program at your earliest convenience.
[/CODE]

The program exists, and I have new files p11213 p11213.stat q11213. If I run it again it shows in a loop this

[CODE]Leaving error checking on for rest of the LL test of this exponent.
INFO: Using default value of ROCheckIter = 200000.
INFO: local.ini file local.ini not found.
INFO: restart file p11213 found...reading...
INFO: RO warnings > 0.40625 detected in first 200K iterations;
Leaving error checking on for rest of the LL test of this exponent.
INFO: Using default value of ROCheckIter = 200000.
INFO: local.ini file local.ini not found.
INFO: restart file p11213 found...reading...
INFO: RO warnings > 0.40625 detected in first 200K iterations;
Leaving error checking on for rest of the LL test of this exponent.
INFO: Using default value of ROCheckIter = 200000.
INFO: local.ini file local.ini not found.
INFO: restart file p11213 found...reading...
INFO: RO warnings > 0.40625 detected in first 200K iterations;
Leaving error checking on for rest of the LL test of this exponent.
INFO: Using default value of ROCheckIter = 200000.
INFO: local.ini file local.ini not found.
INFO: restart file p11213 found...reading...
INFO: RO warnings > 0.40625 detected in first 200K iterations;
Leaving error checking on for rest of the LL test of this exponent.
INFO: Using default value of ROCheckIter = 200000.
INFO: local.ini file local.ini not found.
INFO: restart file p11213 found...reading...
INFO: RO warnings > 0.40625 detected in first 200K iterations;
Leaving error checking on for rest of the LL test of this exponent.
INFO: Using default value of ROCheckIter = 200000.
INFO: local.ini file local.ini not found.
INFO: restart file p11213 found...reading...
INFO: RO warnings > 0.40625 detected in first 200K iterations;
Leaving error checking on for rest of the LL test of this exponent.
INFO: Using default value of ROCheckIter = 200000.
[/CODE]

What am I doing wrong? How can I make it work?
Thanks!

GP2 2017-11-08 18:46

The exponent 11213 is ridiculously small by modern standards. If it worked correctly, it would complete in a fraction of a second.

Perhaps the program simply hasn't been verified for such small ranges, I don't know.

Try a slightly more realistic exponent, like perhaps 6972593

Damian 2017-11-08 18:49

From source
 
I now tried compiling the source, following this guide

[url]http://www.mersenneforum.org/mayer/README.html[/url]

I downloaded the mlucas_v17.txz file, checked the md5sum, and uncompressed it with

tar xJf mlucas_v17.txz

the I cd into /mlucas_v17/src, mkdir obj, cd obj and tried to compile with

gcc -c -O3 -DUSE_SSE2 -DUSE_THREADS ../*.c >& build.log

but when I

grep -i error build.log

I get many errors, all of them look like these

[CODE]../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm0’ in ‘asm’
../radix09_sse_macro.h:3002:2: error: unknown register name ‘xmm7’ in ‘asm’
../radix09_sse_macro.h:3002:2: error: unknown register name ‘xmm6’ in ‘asm’
../radix09_sse_macro.h:3002:2: error: unknown register name ‘xmm5’ in ‘asm’
../radix09_sse_macro.h:3002:2: error: unknown register name ‘xmm4’ in ‘asm’
../radix09_sse_macro.h:3002:2: error: unknown register name ‘xmm3’ in ‘asm’
../radix09_sse_macro.h:3002:2: error: unknown register name ‘xmm2’ in ‘asm’
../radix09_sse_macro.h:3002:2: error: unknown register name ‘xmm1’ in ‘asm’
../radix09_sse_macro.h:3002:2: error: unknown register name ‘xmm0’ in ‘asm’
../radix09_sse_macro.h:3313:2: error: unknown register name ‘xmm7’ in ‘asm’
../radix09_sse_macro.h:3313:2: error: unknown register name ‘xmm6’ in ‘asm’
../radix09_sse_macro.h:3313:2: error: unknown register name ‘xmm5’ in ‘asm’
../radix09_sse_macro.h:3313:2: error: unknown register name ‘xmm4’ in ‘asm’
../radix09_sse_macro.h:3313:2: error: unknown register name ‘xmm3’ in ‘asm’
../radix09_sse_macro.h:3313:2: error: unknown register name ‘xmm2’ in ‘asm’
../radix09_sse_macro.h:3313:2: error: unknown register name ‘xmm1’ in ‘asm’
../radix09_sse_macro.h:3313:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:710:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:1120:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:1120:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:1120:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:1120:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2489:2: error: unknown register name ‘xmm7’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2489:2: error: unknown register name ‘xmm6’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2489:2: error: unknown register name ‘xmm5’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2489:2: error: unknown register name ‘xmm4’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2489:2: error: unknown register name ‘xmm3’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2489:2: error: unknown register name ‘xmm2’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2489:2: error: unknown register name ‘xmm1’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2489:2: error: unknown register name ‘xmm0’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2736:2: error: unknown register name ‘xmm7’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2736:2: error: unknown register name ‘xmm6’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2736:2: error: unknown register name ‘xmm5’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2736:2: error: unknown register name ‘xmm4’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2736:2: error: unknown register name ‘xmm3’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2736:2: error: unknown register name ‘xmm2’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2736:2: error: unknown register name ‘xmm1’ in ‘asm’
../radix8_dif_dit_pass_asm.h:2736:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm0’ in ‘asm’
../carry_gcc32.h:1412:2: error: unknown register name ‘xmm7’ in ‘asm’
../carry_gcc32.h:1412:2: error: unknown register name ‘xmm6’ in ‘asm’
../carry_gcc32.h:1412:2: error: unknown register name ‘xmm5’ in ‘asm’
../carry_gcc32.h:1412:2: error: unknown register name ‘xmm4’ in ‘asm’
../carry_gcc32.h:1412:2: error: unknown register name ‘xmm3’ in ‘asm’
../carry_gcc32.h:1412:2: error: unknown register name ‘xmm2’ in ‘asm’
../carry_gcc32.h:1412:2: error: unknown register name ‘xmm1’ in ‘asm’
../carry_gcc32.h:1412:2: error: unknown register name ‘xmm0’ in ‘asm’
../carry_gcc32.h:1639:2: error: unknown register name ‘xmm7’ in ‘asm’
../carry_gcc32.h:1639:2: error: unknown register name ‘xmm6’ in ‘asm’
../carry_gcc32.h:1639:2: error: unknown register name ‘xmm5’ in ‘asm’
../carry_gcc32.h:1639:2: error: unknown register name ‘xmm4’ in ‘asm’
../carry_gcc32.h:1639:2: error: unknown register name ‘xmm3’ in ‘asm’
../carry_gcc32.h:1639:2: error: unknown register name ‘xmm2’ in ‘asm’
../carry_gcc32.h:1639:2: error: unknown register name ‘xmm1’ in ‘asm’
../carry_gcc32.h:1639:2: error: unknown register name ‘xmm0’ in ‘asm’
../carry_gcc32.h:340:2: error: unknown register name ‘xmm7’ in ‘asm’
../carry_gcc32.h:340:2: error: unknown register name ‘xmm6’ in ‘asm’
../carry_gcc32.h:340:2: error: unknown register name ‘xmm5’ in ‘asm’
../carry_gcc32.h:340:2: error: unknown register name ‘xmm4’ in ‘asm’
../carry_gcc32.h:340:2: error: unknown register name ‘xmm3’ in ‘asm’
../carry_gcc32.h:340:2: error: unknown register name ‘xmm2’ in ‘asm’
../carry_gcc32.h:340:2: error: unknown register name ‘xmm1’ in ‘asm’
../carry_gcc32.h:340:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:595:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../twopmodq80.c:1274:2: error: unknown register name ‘xmm6’ in ‘asm’
../twopmodq80.c:1274:2: error: unknown register name ‘xmm5’ in ‘asm’
../twopmodq80.c:1274:2: error: unknown register name ‘xmm3’ in ‘asm’
../twopmodq80.c:1274:2: error: unknown register name ‘xmm2’ in ‘asm’
../twopmodq80.c:1274:2: error: unknown register name ‘xmm1’ in ‘asm’
../twopmodq80.c:1274:2: error: unknown register name ‘xmm0’ in ‘asm’
../twopmodq80.c:1391:2: error: unknown register name ‘xmm6’ in ‘asm’
../twopmodq80.c:1391:2: error: unknown register name ‘xmm2’ in ‘asm’
../twopmodq80.c:1391:2: error: unknown register name ‘xmm1’ in ‘asm’
../twopmodq80.c:1391:2: error: unknown register name ‘xmm0’ in ‘asm’
../twopmodq80.c:1580:2: error: unknown register name ‘xmm7’ in ‘asm’
../twopmodq80.c:1580:2: error: unknown register name ‘xmm3’ in ‘asm’
../twopmodq80.c:1580:2: error: unknown register name ‘xmm2’ in ‘asm’
../twopmodq80.c:1580:2: error: unknown register name ‘xmm1’ in ‘asm’
../twopmodq80.c:1580:2: error: unknown register name ‘xmm0’ in ‘asm’
../twopmodq80.c:2386:2: error: unknown register name ‘xmm7’ in ‘asm’
../twopmodq80.c:2386:2: error: unknown register name ‘xmm6’ in ‘asm’
../twopmodq80.c:2386:2: error: unknown register name ‘xmm5’ in ‘asm’
../twopmodq80.c:2386:2: error: unknown register name ‘xmm4’ in ‘asm’
../twopmodq80.c:2386:2: error: unknown register name ‘xmm3’ in ‘asm’
../twopmodq80.c:2386:2: error: unknown register name ‘xmm2’ in ‘asm’
../twopmodq80.c:2386:2: error: unknown register name ‘xmm1’ in ‘asm’
../twopmodq80.c:2386:2: error: unknown register name ‘xmm0’ in ‘asm’
../twopmodq80.c:2543:3: error: unknown register name ‘xmm6’ in ‘asm’
../twopmodq80.c:2543:3: error: unknown register name ‘xmm5’ in ‘asm’
../twopmodq80.c:2543:3: error: unknown register name ‘xmm4’ in ‘asm’
../twopmodq80.c:2543:3: error: unknown register name ‘xmm3’ in ‘asm’
../twopmodq80.c:2543:3: error: unknown register name ‘xmm2’ in ‘asm’
../twopmodq80.c:2543:3: error: unknown register name ‘xmm1’ in ‘asm’
../twopmodq80.c:2543:3: error: unknown register name ‘xmm0’ in ‘asm’
../twopmodq80.c:2932:3: error: unknown register name ‘xmm7’ in ‘asm’
../twopmodq80.c:2932:3: error: unknown register name ‘xmm6’ in ‘asm’
../twopmodq80.c:2932:3: error: unknown register name ‘xmm5’ in ‘asm’
../twopmodq80.c:2932:3: error: unknown register name ‘xmm4’ in ‘asm’
../twopmodq80.c:2932:3: error: unknown register name ‘xmm3’ in ‘asm’
../twopmodq80.c:2932:3: error: unknown register name ‘xmm2’ in ‘asm’
../twopmodq80.c:2932:3: error: unknown register name ‘xmm1’ in ‘asm’
../twopmodq80.c:2932:3: error: unknown register name ‘xmm0’ in ‘asm’[/CODE]

I'm not sure if it is important, but I think this old computer is 32-bit only.

GP2 2017-11-08 19:37

I get the similar errors when trying to compile Mlucas v17 on Amazon Linux 2017.09.0 on a c5 instance, except it complains about xmm16 through xmm31

On this OS, the output of gcc -v shows that it's gcc version 4.8.5 20150623


Whereas on Ubuntu 17.10, I can compile it just fine on a Skylake machine, using the command

[CODE]
gcc -c -O3 -DUSE_AVX512 -DUSE_THREADS -march=skylake-avx512 -mtune=skylake-avx512 ../*.c >& bu
ild.log
[/CODE]

On that computer, the output of gcc -v shows that this is gcc version 7.2.0


On your computer, what do you get when you run the command gcc -v

And what do you see when you run the command grep flags /proc/cpuinfo

Damian 2017-11-08 19:46

[QUOTE=GP2;471350]The exponent 11213 is ridiculously small by modern standards. If it worked correctly, it would complete in a fraction of a second.

Perhaps the program simply hasn't been verified for such small ranges, I don't know.

Try a slightly more realistic exponent, like perhaps 6972593[/QUOTE]


I am running with the exponent 6972593 now. I can see it writes to the file p6972593 from time to time. But how do I know what percentage/iteration is running now? For the time being this is the output on the console

[CODE]Old stack_limits: cur = 8388608, max = 0, [RLIM_INFINITY = 4294967295]
New stack_limits: cur = 4294967295, max = 4294967295
Old stack_limits: cur = 4294967295, max = 4294967295, [RLIM_INFINITY = 4294967295]

Mlucas 14.1

http://hogranch.com/mayer/README.html

INFO: testing qfloat routines...
INFO: qfloat routines using subroutine form of MUL_LOHI
CPU Family = x86, OS = Linux, 32-bit Version, compiled with Gnu C [or other compatible], Version 5.2.1 20151022.
INFO: CPU supports SSE2 instruction set, but using scalar floating-point build.
INFO: Using prefetch.
INFO: Using subroutine form of MUL_LOHI64.
INFO: MLUCAS_PATH is set to "/home/damian/.mlucas.d/"
INFO: mkdir -p "/home/damian/.mlucas.d/" succeeded
INFO: using 64-bit-significand form of floating-double rounding constant for scalar-mode DNINT emulation.
INFO: testing IMUL routines...
INFO: System has 4 available processor cores.
INFO: testing FFT radix tables...
looking for number of threads to use in nthreads.ini file...
Using NTHREADS = #CPUs = 4.
looking for worktodo.ini file...
worktodo.ini file found...checking next exponent in range...

Return with code ERR_RUN_SELFTEST_FORLENGTH

Mlucas selftest running.....


**** You will need to manually verify that the Res64s output
**** for this user-set p match for all FFT radix combinations!!


/****************************************************************************/

NTHREADS = 4
M7036339: using FFT length 352K = 360448 8-byte floats.
this gives an average 19.521093195134942 bits per digit
Using complex FFT radices 44 16 16 16
mers_mod_square: radix_vec0/2 not exactly divisible by NTHREADS - This will hurt performance.
executing worker thread id 0, syscall_id = 29976
Mers_mod_square: Init threadpool of 4 threads
executing worker thread id 1, syscall_id = 29977
syscall_id = 29977, setaffinity[1] = 0, ISSET[1] = 1
executing worker thread id 2, syscall_id = 29978
executing worker thread id 3, syscall_id = 29979
syscall_id = 29979, setaffinity[3] = 0, ISSET[3] = 1
syscall_id = 29976, setaffinity[0] = 0, ISSET[0] = 1
syscall_id = 29978, setaffinity[2] = 0, ISSET[2] = 1
executing worker thread id 0, syscall_id = 29980
Using 4 threads in carry step
executing worker thread id 1, syscall_id = 29981
syscall_id = 29981, setaffinity[1] = 0, ISSET[1] = 1
syscall_id = 29980, setaffinity[0] = 0, ISSET[0] = 1
executing worker thread id 3, syscall_id = 29983
executing worker thread id 2, syscall_id = 29982
syscall_id = 29982, setaffinity[2] = 0, ISSET[2] = 1
syscall_id = 29983, setaffinity[3] = 0, ISSET[3] = 1
100 iterations of M7036339 with FFT length 360448 = 352 K
Res64: D6A226BAB5E14D62. AvgMaxErr = 0.203695922. MaxErr = 0.274047852. Program: E14.1
Res mod 2^36 = 46001114466
Res mod 2^35 - 1 = 9444972171
Res mod 2^36 - 1 = 28639488018
Clocks = 00:00:01.688

NTHREADS = 4
looking for worktodo.ini file...
worktodo.ini file found...checking next exponent in range...
INFO: local.ini file local.ini not found.
INFO: primary restart file p6972593 not found...looking for secondary...
INFO: no restart file found...starting run from scratch.
INFO: Using default value of ROCheckIter = 200000.
mers_mod_square: radix_vec0/2 not exactly divisible by NTHREADS - This will hurt performance.
executing worker thread id 1, syscall_id = 29985
syscall_id = 29985, setaffinity[1] = 0, ISSET[1] = 1
executing worker thread id 2, syscall_id = 29986
Mers_mod_square: Init threadpool of 4 threads
executing worker thread id 0, syscall_id = 29984
syscall_id = 29986, setaffinity[2] = 0, ISSET[2] = 1
executing worker thread id 3, syscall_id = 29987
syscall_id = 29987, setaffinity[3] = 0, ISSET[3] = 1
syscall_id = 29984, setaffinity[0] = 0, ISSET[0] = 1
executing worker thread id 0, syscall_id = 29988
Using 4 threads in carry step
executing worker thread id 1, syscall_id = 29989
executing worker thread id 2, syscall_id = 29990
syscall_id = 29990, setaffinity[2] = 0, ISSET[2] = 1
executing worker thread id 3, syscall_id = 29991
syscall_id = 29991, setaffinity[3] = 0, ISSET[3] = 1
syscall_id = 29989, setaffinity[1] = 0, ISSET[1] = 1
syscall_id = 29988, setaffinity[0] = 0, ISSET[0] = 1
[/CODE]

[QUOTE=GP2;471359]
On your computer, what do you get when you run the command gcc -v

And what do you see when you run the command grep flags /proc/cpuinfo[/QUOTE]

This is the output of gcc -v

[CODE]Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/5/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.5' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)
[/CODE]

And this is the output of grep flags /proc/cpuinfo

[CODE]flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
[/CODE]

Damian 2017-11-08 19:51

If I compile with

[CODE]gcc -c -O3 -DUSE_AVX512 -DUSE_THREADS -march=skylake-avx512 -mtune=skylake-avx512 ../*.c >& build.log
[/CODE]

this is the output of grep -i error build.log

[CODE]../br.c:1:0: error: bad value (skylake-avx512) for -march= switch
../br.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../dft_macro.c:1:0: error: bad value (skylake-avx512) for -march= switch
../dft_macro.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../factor.c:1:0: error: bad value (skylake-avx512) for -march= switch
../factor.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../fermat_mod_square.c:1:0: error: bad value (skylake-avx512) for -march= switch
../fermat_mod_square.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../fgt_m61.c:1:0: error: bad value (skylake-avx512) for -march= switch
../fgt_m61.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../gcd_lehmer.c:1:0: error: bad value (skylake-avx512) for -march= switch
../gcd_lehmer.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../get_cpuid.c:1:0: error: bad value (skylake-avx512) for -march= switch
../get_cpuid.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../get_fft_radices.c:1:0: error: bad value (skylake-avx512) for -march= switch
../get_fft_radices.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../get_fp_rnd_const.c:1:0: error: bad value (skylake-avx512) for -march= switch
../get_fp_rnd_const.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../get_preferred_fft_radix.c:1:0: error: bad value (skylake-avx512) for -march= switch
../get_preferred_fft_radix.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../getRealTime.c:1:0: error: bad value (skylake-avx512) for -march= switch
../getRealTime.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../imul_macro.c:1:0: error: bad value (skylake-avx512) for -march= switch
../imul_macro.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../mers_mod_square.c:1:0: error: bad value (skylake-avx512) for -march= switch
../mers_mod_square.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../mi64.c:1:0: error: bad value (skylake-avx512) for -march= switch
../mi64.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../Mlucas.c:1:0: error: bad value (skylake-avx512) for -march= switch
../Mlucas.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../pairFFT_mul.c:1:0: error: bad value (skylake-avx512) for -march= switch
../pairFFT_mul.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../qfloat.c:1:0: error: bad value (skylake-avx512) for -march= switch
../qfloat.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix1008_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix1008_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix1024_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix1024_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix104_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix104_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix10_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix10_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix112_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix112_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix11_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix11_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix120_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix120_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix128_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix128_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix12_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix12_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix13_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix13_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix144_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix144_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix14_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix14_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix15_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix15_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix160_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix160_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix16_dif_dit_pass.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix16_dif_dit_pass.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix16_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix16_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix16_dyadic_square.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix16_dyadic_square.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix16_pairFFT_mul.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix16_pairFFT_mul.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix16_wrapper_ini.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix16_wrapper_ini.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix16_wrapper_square.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix16_wrapper_square.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix176_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix176_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix18_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix18_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix192_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix192_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix208_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix208_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix20_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix20_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix224_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix224_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix22_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix22_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix240_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix240_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix24_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix24_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix256_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix256_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix26_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix26_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix288_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix288_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix28_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix28_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix30_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix30_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix31_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix31_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix32_dif_dit_pass.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix32_dif_dit_pass.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix32_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix32_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix32_dyadic_square.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix32_dyadic_square.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix32_wrapper_ini.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix32_wrapper_ini.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix32_wrapper_square.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix32_wrapper_square.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix36_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix36_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix4032_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix4032_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix40_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix40_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix44_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix44_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix48_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix48_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix512_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix512_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix52_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix52_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix56_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix56_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix5_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix5_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix60_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix60_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix63_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix63_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix64_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix64_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix6_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix6_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix72_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix72_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix768_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix768_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix7_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix7_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix80_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix80_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix88_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix88_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix8_dif_dit_pass.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix8_dif_dit_pass.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix8_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix8_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix960_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix960_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix96_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix96_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix992_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix992_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../radix9_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -march= switch
../radix9_ditN_cy_dif1.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../rng_isaac.c:1:0: error: bad value (skylake-avx512) for -march= switch
../rng_isaac.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../test_fft_radix.c:1:0: error: bad value (skylake-avx512) for -march= switch
../test_fft_radix.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../threadpool.c:1:0: error: bad value (skylake-avx512) for -march= switch
../threadpool.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../twopmodq100.c:1:0: error: bad value (skylake-avx512) for -march= switch
../twopmodq100.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../twopmodq128_96.c:1:0: error: bad value (skylake-avx512) for -march= switch
../twopmodq128_96.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../twopmodq128.c:1:0: error: bad value (skylake-avx512) for -march= switch
../twopmodq128.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../twopmodq160.c:1:0: error: bad value (skylake-avx512) for -march= switch
../twopmodq160.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../twopmodq192.c:1:0: error: bad value (skylake-avx512) for -march= switch
../twopmodq192.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../twopmodq256.c:1:0: error: bad value (skylake-avx512) for -march= switch
../twopmodq256.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../twopmodq64_test.c:1:0: error: bad value (skylake-avx512) for -march= switch
../twopmodq64_test.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../twopmodq80.c:1:0: error: bad value (skylake-avx512) for -march= switch
../twopmodq80.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../twopmodq96.c:1:0: error: bad value (skylake-avx512) for -march= switch
../twopmodq96.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../twopmodq.c:1:0: error: bad value (skylake-avx512) for -march= switch
../twopmodq.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../types.c:1:0: error: bad value (skylake-avx512) for -march= switch
../types.c:1:0: error: bad value (skylake-avx512) for -mtune= switch
../util.c:1:0: error: bad value (skylake-avx512) for -march= switch
../util.c:1:0: error: bad value (skylake-avx512) for -mtune= switch[/CODE]

GP2 2017-11-08 20:19

[QUOTE]I am running with the exponent 6972593 now. I can see it writes to the file p6972593 from time to time. But how do I know what percentage/iteration is running now?[/QUOTE]

Look at the file which ends in .stat

It should be called p6972593.stat

[QUOTE=Damian;471362]If I compile with [ -DUSE_AVX512 ][/QUOTE]

You shouldn't compile with AVX512 since you don't have a Skylake machine. If you did, that would show up as one or more "avx512" items in the flags output.

On the other hand, the flags output shows your machine supports SSE2, so your original compile command should have worked.

The author of Mlucas is active on MersenneForum, but right now he's busy finalizing some ARM code, and so might not be able to address these issues in the near future.


You could still try the packaged version (which is based on Mlucas version 14), it might work if you try more realistic exponents, in the millions or tens of millions range.

But you might also want to consider mprime, which is faster than Mlucas on most hardware. Mlucas is a bit more competitive on the newest Skylake machines since Mlucas v17 takes advantage of AVX512, while mprime hasn't been updated to do so. But since you have an older machine, mprime is a better choice.

Damian 2017-11-08 21:41

Thanks. Yes, it seems the binary install of Mlucas 14.1 is running fine, this is the output so far of p6972593.stat

[CODE]INFO: no restart file found...starting run from scratch.
M6972593: using FFT length 352K = 360448 8-byte floats.
this gives an average 19.344241055575285 bits per digit
Using complex FFT radices 44 16 16 16
[Nov 08 15:54:13] M6972593 Iter# = 10000 clocks = 00:02:50.160 [ 0.0170 sec/iter] Res64: 88F1D2640ADB89E1. AvgMaxErr = 0.159919499. MaxErr = 0.258438110
[Nov 08 15:56:52] M6972593 Iter# = 20000 clocks = 00:02:38.790 [ 0.0159 sec/iter] Res64: 9B345731827B9A25. AvgMaxErr = 0.160369828. MaxErr = 0.260711670
[Nov 08 15:59:31] M6972593 Iter# = 30000 clocks = 00:02:38.892 [ 0.0159 sec/iter] Res64: CE5BA3E233214969. AvgMaxErr = 0.160501188. MaxErr = 0.249908447
[Nov 08 16:02:12] M6972593 Iter# = 40000 clocks = 00:02:40.736 [ 0.0161 sec/iter] Res64: 026EFA56C441ED7E. AvgMaxErr = 0.160377773. MaxErr = 0.254302979
[Nov 08 16:05:16] M6972593 Iter# = 50000 clocks = 00:03:04.715 [ 0.0185 sec/iter] Res64: 47F7A70A1CCC0A62. AvgMaxErr = 0.160594896. MaxErr = 0.251647949
[Nov 08 16:08:01] M6972593 Iter# = 60000 clocks = 00:02:44.451 [ 0.0164 sec/iter] Res64: 6F82ECB5DF548A2A. AvgMaxErr = 0.160351937. MaxErr = 0.242538452
[Nov 08 16:11:05] M6972593 Iter# = 70000 clocks = 00:03:03.530 [ 0.0184 sec/iter] Res64: 959EF0288AE4F218. AvgMaxErr = 0.160414728. MaxErr = 0.242401123
[Nov 08 16:14:16] M6972593 Iter# = 80000 clocks = 00:03:10.938 [ 0.0191 sec/iter] Res64: 35C0D448FE3B2A82. AvgMaxErr = 0.160388560. MaxErr = 0.238533020
[Nov 08 16:17:21] M6972593 Iter# = 90000 clocks = 00:03:05.513 [ 0.0186 sec/iter] Res64: 006A4D6BDD6D88A2. AvgMaxErr = 0.160677370. MaxErr = 0.248703003
[Nov 08 16:20:09] M6972593 Iter# = 100000 clocks = 00:02:47.452 [ 0.0167 sec/iter] Res64: D96976DA492DD84B. AvgMaxErr = 0.160484017. MaxErr = 0.283203125
[Nov 08 16:23:06] M6972593 Iter# = 110000 clocks = 00:02:56.952 [ 0.0177 sec/iter] Res64: BCBCA8BFFDF04F4C. AvgMaxErr = 0.160297382. MaxErr = 0.288497925
[Nov 08 16:25:45] M6972593 Iter# = 120000 clocks = 00:02:39.696 [ 0.0160 sec/iter] Res64: A3DB9FF4BA4E053F. AvgMaxErr = 0.160336920. MaxErr = 0.246566772
[Nov 08 16:28:40] M6972593 Iter# = 130000 clocks = 00:02:54.640 [ 0.0175 sec/iter] Res64: 506AEDBBAE3C6863. AvgMaxErr = 0.160377873. MaxErr = 0.251712799
[Nov 08 16:31:37] M6972593 Iter# = 140000 clocks = 00:02:56.810 [ 0.0177 sec/iter] Res64: C20D0DCBD5CB340F. AvgMaxErr = 0.160518240. MaxErr = 0.256835938
[Nov 08 16:34:16] M6972593 Iter# = 150000 clocks = 00:02:39.201 [ 0.0159 sec/iter] Res64: 9166B52B8E6A12DF. AvgMaxErr = 0.160468196. MaxErr = 0.262115479
[Nov 08 16:37:12] M6972593 Iter# = 160000 clocks = 00:02:55.448 [ 0.0175 sec/iter] Res64: D137E96E1BC11E30. AvgMaxErr = 0.160501154. MaxErr = 0.259613037
[Nov 08 16:40:07] M6972593 Iter# = 170000 clocks = 00:02:54.940 [ 0.0175 sec/iter] Res64: 2DEC7F199B2B5FE0. AvgMaxErr = 0.160288604. MaxErr = 0.247787476
[Nov 08 16:42:58] M6972593 Iter# = 180000 clocks = 00:02:51.034 [ 0.0171 sec/iter] Res64: 39C6770D92D7BDCC. AvgMaxErr = 0.160659555. MaxErr = 0.237014771
[Nov 08 16:46:06] M6972593 Iter# = 190000 clocks = 00:03:08.413 [ 0.0188 sec/iter] Res64: EF2E0C9C088370D0. AvgMaxErr = 0.160616725. MaxErr = 0.259323120
[Nov 08 16:49:16] M6972593 Iter# = 200000 clocks = 00:03:09.519 [ 0.0190 sec/iter] Res64: 87D2D0D2B81517A8. AvgMaxErr = 0.160641979. MaxErr = 0.241500854
[Nov 08 16:52:29] M6972593 Iter# = 210000 clocks = 00:03:13.115 [ 0.0193 sec/iter] Res64: B2BFB122833B8776. AvgMaxErr = 0.160566632. MaxErr = 0.277709961
[Nov 08 16:55:08] M6972593 Iter# = 220000 clocks = 00:02:38.667 [ 0.0159 sec/iter] Res64: B8B116FF66005C5D. AvgMaxErr = 0.160411763. MaxErr = 0.235961914
[Nov 08 16:58:03] M6972593 Iter# = 230000 clocks = 00:02:55.273 [ 0.0175 sec/iter] Res64: 9F17A7C7D46338C6. AvgMaxErr = 0.160398066. MaxErr = 0.253250122
[Nov 08 17:00:45] M6972593 Iter# = 240000 clocks = 00:02:41.871 [ 0.0162 sec/iter] Res64: DD680C64B1F2475A. AvgMaxErr = 0.160384577. MaxErr = 0.240478516
[Nov 08 17:03:41] M6972593 Iter# = 250000 clocks = 00:02:55.968 [ 0.0176 sec/iter] Res64: 35380A283F796D25. AvgMaxErr = 0.160329223. MaxErr = 0.248153687
[Nov 08 17:06:38] M6972593 Iter# = 260000 clocks = 00:02:56.952 [ 0.0177 sec/iter] Res64: D84FD0E0022E0EDB. AvgMaxErr = 0.160185370. MaxErr = 0.249526978
[Nov 08 17:09:16] M6972593 Iter# = 270000 clocks = 00:02:37.449 [ 0.0157 sec/iter] Res64: A6F104D45E510117. AvgMaxErr = 0.160548379. MaxErr = 0.272140503
[Nov 08 17:12:12] M6972593 Iter# = 280000 clocks = 00:02:55.837 [ 0.0176 sec/iter] Res64: F85A7729F77A626A. AvgMaxErr = 0.160353202. MaxErr = 0.267684937
[Nov 08 17:14:51] M6972593 Iter# = 290000 clocks = 00:02:39.628 [ 0.0160 sec/iter] Res64: D7571D4AFD4E73F0. AvgMaxErr = 0.160387232. MaxErr = 0.245361328
[Nov 08 17:17:46] M6972593 Iter# = 300000 clocks = 00:02:54.218 [ 0.0174 sec/iter] Res64: FFE349823712CB1E. AvgMaxErr = 0.160368912. MaxErr = 0.247879028
[Nov 08 17:20:42] M6972593 Iter# = 310000 clocks = 00:02:55.852 [ 0.0176 sec/iter] Res64: C2EFEDA6DD3D07CA. AvgMaxErr = 0.160397664. MaxErr = 0.255661011
[Nov 08 17:23:20] M6972593 Iter# = 320000 clocks = 00:02:38.518 [ 0.0159 sec/iter] Res64: 213A65558470A702. AvgMaxErr = 0.160589681. MaxErr = 0.244400024
[Nov 08 17:26:16] M6972593 Iter# = 330000 clocks = 00:02:55.567 [ 0.0176 sec/iter] Res64: 4CE7B1B65B72945A. AvgMaxErr = 0.160557830. MaxErr = 0.250656128
[Nov 08 17:28:55] M6972593 Iter# = 340000 clocks = 00:02:38.774 [ 0.0159 sec/iter] Res64: 14D3858778BA8827. AvgMaxErr = 0.160577794. MaxErr = 0.261550903
[Nov 08 17:31:33] M6972593 Iter# = 350000 clocks = 00:02:37.831 [ 0.0158 sec/iter] Res64: B44268EF1855E52A. AvgMaxErr = 0.160368319. MaxErr = 0.243316650
[Nov 08 17:34:25] M6972593 Iter# = 360000 clocks = 00:02:52.509 [ 0.0173 sec/iter] Res64: 35EB98BB2ED15D02. AvgMaxErr = 0.160505397. MaxErr = 0.264526367
[Nov 08 17:37:19] M6972593 Iter# = 370000 clocks = 00:02:53.465 [ 0.0173 sec/iter] Res64: 3C14476823F6ED4E. AvgMaxErr = 0.160566374. MaxErr = 0.235153198
[Nov 08 17:39:55] M6972593 Iter# = 380000 clocks = 00:02:36.158 [ 0.0156 sec/iter] Res64: 295E33047F962CD5. AvgMaxErr = 0.160578039. MaxErr = 0.242431641
[Nov 08 17:42:50] M6972593 Iter# = 390000 clocks = 00:02:54.949 [ 0.0175 sec/iter] Res64: 683DEB70BF5EA380. AvgMaxErr = 0.160392807. MaxErr = 0.300231934
[Nov 08 17:45:27] M6972593 Iter# = 400000 clocks = 00:02:36.725 [ 0.0157 sec/iter] Res64: 707EACCE9C33B78A. AvgMaxErr = 0.160555159. MaxErr = 0.239532471
[Nov 08 17:48:06] M6972593 Iter# = 410000 clocks = 00:02:39.367 [ 0.0159 sec/iter] Res64: 67E6FB306A4F29B2. AvgMaxErr = 0.160368104. MaxErr = 0.242218018
[Nov 08 17:51:01] M6972593 Iter# = 420000 clocks = 00:02:55.192 [ 0.0175 sec/iter] Res64: 4AA863EA5590CDA2. AvgMaxErr = 0.160348218. MaxErr = 0.259353638
[Nov 08 17:53:41] M6972593 Iter# = 430000 clocks = 00:02:39.188 [ 0.0159 sec/iter] Res64: 748CC79262614C7D. AvgMaxErr = 0.160437451. MaxErr = 0.247825623
[Nov 08 17:56:34] M6972593 Iter# = 440000 clocks = 00:02:53.106 [ 0.0173 sec/iter] Res64: 7E09B4C9498D37FF. AvgMaxErr = 0.160634390. MaxErr = 0.237915039
[Nov 08 17:59:11] M6972593 Iter# = 450000 clocks = 00:02:37.239 [ 0.0157 sec/iter] Res64: E8241AB42F8EEFF0. AvgMaxErr = 0.160349778. MaxErr = 0.245925903
[Nov 08 18:01:49] M6972593 Iter# = 460000 clocks = 00:02:37.250 [ 0.0157 sec/iter] Res64: 84CFBBE17BB62C1C. AvgMaxErr = 0.160573408. MaxErr = 0.235702515
[Nov 08 18:04:44] M6972593 Iter# = 470000 clocks = 00:02:55.797 [ 0.0176 sec/iter] Res64: 82AB49892185CB35. AvgMaxErr = 0.160626003. MaxErr = 0.244537354
[Nov 08 18:07:21] M6972593 Iter# = 480000 clocks = 00:02:36.917 [ 0.0157 sec/iter] Res64: FCC3FC7F34515BD7. AvgMaxErr = 0.160522213. MaxErr = 0.268310547
[Nov 08 18:10:15] M6972593 Iter# = 490000 clocks = 00:02:53.637 [ 0.0174 sec/iter] Res64: A7E1671F78139DFA. AvgMaxErr = 0.160336564. MaxErr = 0.237884521
[Nov 08 18:12:53] M6972593 Iter# = 500000 clocks = 00:02:38.055 [ 0.0158 sec/iter] Res64: CA2BBFD27FCEAFEE. AvgMaxErr = 0.160474241. MaxErr = 0.241867065
[Nov 08 18:15:48] M6972593 Iter# = 510000 clocks = 00:02:54.883 [ 0.0175 sec/iter] Res64: 39A2D63EFF9A24EC. AvgMaxErr = 0.160385943. MaxErr = 0.241134644
[Nov 08 18:18:25] M6972593 Iter# = 520000 clocks = 00:02:37.186 [ 0.0157 sec/iter] Res64: 4914101F8CD04A3B. AvgMaxErr = 0.160516066. MaxErr = 0.258041382
[Nov 08 18:21:03] M6972593 Iter# = 530000 clocks = 00:02:37.530 [ 0.0158 sec/iter] Res64: B967C840DED486B9. AvgMaxErr = 0.160396748. MaxErr = 0.282913208
[Nov 08 18:23:45] M6972593 Iter# = 540000 clocks = 00:02:41.643 [ 0.0162 sec/iter] Res64: 6488FCB14E1DDC57. AvgMaxErr = 0.160191282. MaxErr = 0.244781494
[Nov 08 18:26:50] M6972593 Iter# = 550000 clocks = 00:03:05.645 [ 0.0186 sec/iter] Res64: F361A26CAA954C7E. AvgMaxErr = 0.160567614. MaxErr = 0.263549805
[Nov 08 18:29:36] M6972593 Iter# = 560000 clocks = 00:02:44.992 [ 0.0165 sec/iter] Res64: 910548B53C0A72DB. AvgMaxErr = 0.160440907. MaxErr = 0.240142822
[Nov 08 18:32:39] M6972593 Iter# = 570000 clocks = 00:03:03.769 [ 0.0184 sec/iter] Res64: 5EF148C0A346BE58. AvgMaxErr = 0.160307335. MaxErr = 0.232040405
[/CODE]

My interest in mlucas is purely technical, I am already running mprime on the same machine (it seems to be using only 1 of the 4 cores), and for years have been running prime95 on some windows machines. I already heard that prime95 is faster than mlucas, but mlucas is more free (open source and use as you like license), and it is used to verify the knew found primes, so I got curios and wanted to know how to use it.

I also want to know how to interact with primenet using mlucas. For the time being I will let the LL-test on 6972593 finish, and later if this works I will see how I can check out some DD work from primenet and check in the results from mlucas.

Another question/curiosity I have: The last line in p6972593.stat reads

[Nov 08 18:26:50] M6972593 Iter# = 550000 clocks = 00:03:05.645 [ 0.0186 sec/iter] Res64: F361A26CAA954C7E. AvgMaxErr = 0.160567614. MaxErr = 0.263549805

I wanted to interpret the Res64. I thought those were the last 64 bit of the residue in hexadecimal, so I run hexdump p6972593 and search for F361A26CAA954C7E thinking I would find it at the end of the file, but didn't. How is exactly the format of the file p6972593? Shouldn't the full reside be in there?

Thanks.

Damian 2017-11-08 21:50

I think I found it about the Res64. Now the last line of p6972593.stat reads

[CODE][Nov 08 18:41:48] M6972593 Iter# = 600000 clocks = 00:03:09.393 [ 0.0189 sec/iter] Res64: [B]8ECCC1F0B731A104[/B]. AvgMaxErr = 0.160373920. MaxErr = 0.244796753
[/CODE]

The end of the hexdump p6972593 reads

[CODE]
00d4c70 44bc 32fb 1b05 abb1 286e 30d4 599c 78df
00d4c80 c71a 23d7 a6a5 e8fe b4cb 7bd2 5b16 d96a
00d4c90 f949 9b3d 847b ae71 a51d cc9e d9d2 a442
00d4ca0 [B]0401 31a1 f0b7 ccc1[/B] 638e 9a65 037d 7a46
00d4cb0 41d6 000d
00d4cb3
[/CODE]

So it seems to be there, with only some difference of little-endian-like problem and maybe some other information next to it

GP2 2017-11-09 00:35

[QUOTE=Damian;471376]I also want to know how to interact with primenet using mlucas. For the time being I will let the LL-test on 6972593 finish, and later if this works I will see how I can check out some DD work from primenet and check in the results from mlucas.[/QUOTE]

Mlucas does not communicate with Primenet. There are some auxiliary programs that take the output of Mlucas and send it to Primenet, but they are a bit of a hack.

You can submit the final residue manually. When the program finishes an exponent, the final four lines of the .stat file will look something like this:

Mxxxxxxxx is not prime. Res64: nnnnnnnnnnnnnnnn. Program: E17.0
Mxxxxxxxx mod 2^36 = nnnnnnnnnnn
Mxxxxxxxx mod 2^35 - 1 = nnnnnnnnnnn
Mxxxxxxxx mod 2^36 - 1 = nnnnnnnnnn

You can copy the first of those lines (the one with the Res64 value) and paste it into the Manual Results form at [url]https://www.mersenne.org/manual_result/[/url]

The other three lines are mostly historical curiosities.

Note, there is no need to do so for M6972593, since it is a known Mersenne prime. It is a good test to make sure your computer is doing the calculations properly.

I have to say, your computer is a bit on the slow side. You will need patience if you tackle actual current assignments, for instance double-checks in the 50-million range. Those will take more than fifty times longer to complete than M6972593.

I estimate your machine will take a total of about 33 hours to finish M6972593, and an exponent around 50 million will take it more than 70 days.

ewmayer 2017-11-09 02:03

Damian, no idea why you are getting those "unknown register name 'xmm0'" errors in your build attempts ... xmm0-7 are all proper 32-bit SSE2 register names. Been a while since I did a 32-bit build, but when I try compiling a couple sample files which make use of the macros appearing in your errors list and forcing 32-bit compile on my 64-bit OS X system, I get no compile errors, e.g. 'gcc -c -m32 -Os -DUSE_SSE2 -DUSE_THREADS ../radix28_*c' works, also using the clang compiler instead of gcc. I suspect something is off in your compiler/bintils installation.

Re. p=11213, the ideal FFT length for that tiny exponent based on roundoff error levels is < 1024 (i.e. 1K), but the current Mlucas only supports FFT lengths 2K and greater. When I paste 11213 into a worktodo.ini file (you don't really need any of the other junk for simple LL tests, that is just the Primenet server added info) and try ./Mlucas, I get this:
[i]
M11213: using FFT length 2K = 2048 8-byte floats.
this gives an average 5.475097656250000 bits per digit
FATAL: n/radix0 must be >= 1024!
ERROR: at line 339 of file ../mers_mod_square.c
Assertion failed: FATAL: n/radix0 must be >= 1024!
[/i]
That is a result of the program trying to do a set of self-tests at FFT 2K (since the default mlucas.cfg file resulting from the usual recommened self-tests won't have FFT lengths anywhere near that small), and amounts to "FFT length way too small". In theory 2K should work but in practice the current default array-padding-scheme for cache-friendliness need FFT lengths of at least 16K. When I try 1000 iterations of M11213 at that FFT length it runs but gives all-0 residues because the bits-per-word count is so small that the carry routine is losing the data bits. M110503 seems OK at 16K. I clearly need to add some more-restrictive assertions for small exponents, but the code development is for GIMPS, and no one cares about LL testing such small numbers anymore using code geared for big numbers - it's like trying to swat a gnat with a sledgehammer.

Re. your run of p6972593, you are looking at the wrong file - p6972593 is a bytewise full LL residue used by the code in case of restart-after-interrupt. You want to look at the p6972593.stat file, as described on the readme page, in the paragraph starting "The program will run silently in the background...". FYI, the format of the full residue files (2 of them for each exponent X, pX and qX, for redundancy) is laid out in my codebase in Mlucas.c, functions read|write_ppm1_savefiles:

1 byte for internally-defined test type (e.g. primality test, p-1, trial-factoring)
1 byte for modulus type (e.g. Mersenne, Fermat)
8 bytes for an iteration number or similar (e.g. prime bound for p-1 and ecm) corresponding to the residue
N bytes for the bytewise residue R, low to high byte. For Fermat F_n, N = 2^(n-3)+1, e.g. 16777217 bytes for F27
18 bytes of checksums on R - 8 for R%2^64, 5 for R%(2^35-1), 5 for R%(2^36-1)

For LL tests, test type = 1 and modulus type = 1, but I don't see the hex chars 01 01 which should thus indicate the start of the file in your hexdump snippet - maybe I'm parsing it incorrectly.

Re. primenet - even if you are unable to build the latest code, you should be able to use the primenet.py script from the v17 tarball to manage your work using an older build.

p.s.: Thanks for your support! (Both the moral and the $ kind :).

Damian 2017-11-10 04:44

Finally!
 
The test of M6972593 on my slow-as-tortoise x86 32-bit pc has just finished:

It was run non-stop from Nov 08 15:54:13, to Nov 10 01:11:57, so it lasted 1 day, 9 hours, 17 minutes and 44 seconds.

GP2, your estimate of 33 hours was pretty accurate!

This were the lasts lines written on p6972593.stat:

[CODE][Nov 10 00:46:57] M6972593 Iter# = 6900000 clocks = 00:04:04.188 [ 0.0244 sec/iter] Res64: 14C5B1FD42863A75. AvgMaxErr = 0.160297802. MaxErr = 0.238441467
[Nov 10 00:51:22] M6972593 Iter# = 6910000 clocks = 00:04:24.592 [ 0.0265 sec/iter] Res64: 3EC8150E85413CB3. AvgMaxErr = 0.160289397. MaxErr = 0.259231567
[Nov 10 00:55:16] M6972593 Iter# = 6920000 clocks = 00:03:54.132 [ 0.0234 sec/iter] Res64: 7FD53969EAD17902. AvgMaxErr = 0.160376644. MaxErr = 0.269927979
[Nov 10 00:58:39] M6972593 Iter# = 6930000 clocks = 00:03:23.194 [ 0.0203 sec/iter] Res64: 292C9075C71B15BF. AvgMaxErr = 0.160524616. MaxErr = 0.246856689
[Nov 10 01:01:55] M6972593 Iter# = 6940000 clocks = 00:03:15.463 [ 0.0195 sec/iter] Res64: 2DF5D12473665FA8. AvgMaxErr = 0.160290362. MaxErr = 0.253234863
[Nov 10 01:05:10] M6972593 Iter# = 6950000 clocks = 00:03:15.594 [ 0.0196 sec/iter] Res64: 39AC29E66DCAF8A6. AvgMaxErr = 0.160277283. MaxErr = 0.240447998
[Nov 10 01:08:22] M6972593 Iter# = 6960000 clocks = 00:03:11.969 [ 0.0192 sec/iter] Res64: 147FCABF3BA439A8. AvgMaxErr = 0.160557336. MaxErr = 0.234924316
[Nov 10 01:11:13] M6972593 Iter# = 6970000 clocks = 00:02:50.746 [ 0.0171 sec/iter] Res64: 037477199FF10F91. AvgMaxErr = 0.160435169. MaxErr = 0.244224548
[Nov 10 01:11:57] M6972593 Iter# = 6972591 clocks = 00:00:43.993 [ 0.0170 sec/iter] Res64: 0000000000000000. AvgMaxErr = 0.041570618. MaxErr = 0.245819092
M6972593 is a known MERSENNE PRIME.
[/CODE]

At the instant the test finished, the line of the exponent was removed from worktodo.ini file as expected, and this strange message was written in results.txt:

[CODE]ERROR: Unrecognized/Unsupported option. The ini file entry was[/CODE]

Also, the mlucas job exited with this message on the console:

[CODE]
NTHREADS = 4
looking for worktodo.ini file...
worktodo.ini file found...checking next exponent in range...
ERROR: Unrecognized/Unsupported option. The ini file entry was

ERROR: at line 547 of file ./src/Mlucas.c
Assertion failed:
[/CODE]

I was expecting the p6972593 file to be written again with the last residue when the test finished, but that didn't happen. If I understand correctly, should that happened, the "N bytes for the bytewise residue R" should all be 0, right?

I don't know if the p6972593 format is standard (equal to prime95), but I think I would had written the checksums before the full residue, so all the important information would be at the begining of the file, and not both at the begining and ending. In the last hexdump I only was showing the ending, that was why the 0101 was not shown, but I looked and it is there indeed.

On the other hand, I succesfully compiled the Mlucas sourcecode in a newer notebook with AVX. I noticed the primenet.py script downloaded two DD tasks in the worktodo.ini, but when I log to primenet, these exponents show as Manual testing, that is, there seems not to be a way to assign a computer name and check the percentage done. Is that because primenet doesn't want other sofware rather than prime95 for that task, or just because the primenet.py script is in a early version and that could be added in a future?

And ewmayer, you are welcomed for my support. It's the first time I use paypal so I'm not sure how much time does it take, I still not see the transaction in the credit card in my bank homebanking. Hope it arrives, should be enough for a beer :beer:

ewmayer 2017-11-10 08:28

Hi, Damian:
[QUOTE=Damian;471452]At the instant the test finished, the line of the exponent was removed from worktodo.ini file as expected, and this strange message was written in results.txt:

[CODE]ERROR: Unrecognized/Unsupported option. The ini file entry was[/CODE]

Also, the mlucas job exited with this message on the console:

[CODE]
NTHREADS = 4
looking for worktodo.ini file...
worktodo.ini file found...checking next exponent in range...
ERROR: Unrecognized/Unsupported option. The ini file entry was

ERROR: at line 547 of file ./src/Mlucas.c
Assertion failed:
[/CODE][/quote]
Not sure what might have gone awry there - I initially thought that might have been due to your having created a worktodo.ini file containing just the exponent and missing a trailing newline, but I just simulated under gdb with one of my own last-savefiles-prior-to-LL-test-completion, and stepping through the program logic after the final residues are written to the .stat file shows no issues. Without a case having the data needed (original ini-file and final p6972593 file) needed to reproduce the problem, not much I can do in terms of debug.
[quote]I was expecting the p6972593 file to be written again with the last residue when the test finished, but that didn't happen. If I understand correctly, should that happened, the "N bytes for the bytewise residue R" should all be 0, right?[/quote]
No, the program only keeps the p-savefile from the final 10000-iteration (or 100000-iteration if more than 4 threads are used) checkpoint, it does not update it with the final LL residue. The reason is twofold:

[1] It is pretty trivial to rerun the final few thousand iterations, if needed for some reason;

[2] To prevent cheating. It is not hard to figure out the format of the savefile (the code used to create it is public, after all), and anyone mildly tech-savvy could use that format to create a valid-looking 0-final-residue savefile, since for res = 0 the residue checksums are all also zero. The nonzero residue a few hundred or more iterations prior to a final 0 residue, OTOH, is, so far as anyone knows, impossible to fake. So when a user's computer reports a new prime, the first step is to contact the user and ask for copies of the exponent logfile and the final checkpoint file, so the final few thousand (or however many) iterations can be independently run to see if the result truly is 0.

[quote]I don't know if the p6972593 format is standard (equal to prime95), but I think I would had written the checksums before the full residue, so all the important information would be at the begining of the file, and not both at the begining and ending. In the last hexdump I only was showing the ending, that was why the 0101 was not shown, but I looked and it is there indeed.[/quote]
There is no GIMPS-standard format here, every program uses its own. Other users have previously suggested a common format so user A could hand off a savefile to user B to finish even if A and B are using different programs, but in fact there are good reasons why such mixing of clients on a single LL test is undesirable.

[quote]On the other hand, I succesfully compiled the Mlucas sourcecode in a newer notebook with AVX. I noticed the primenet.py script downloaded two DD tasks in the worktodo.ini, but when I log to primenet, these exponents show as Manual testing, that is, there seems not to be a way to assign a computer name and check the percentage done. Is that because primenet doesn't want other sofware rather than prime95 for that task, or just because the primenet.py script is in a early version and that could be added in a future?[/quote]
Getting truly integrated primenet-comms is

[a] a big task, involving bringing in mutliple 3rd-party libraries. Not all of us are keen to introduce those code dependencies into our releases and build setups;

[b] breaks open-sourceness, since it requires a secret precompiled security module to be included.

OTOH, enhancing the server manual tests support to allow e.g. current-progress updates and individual machine IDs, that is worth discussing, but would depend on the current priment admin, Aaron Blosser (Madpoo around here) to be willing to undertake the upgrades. Feel free to post in the Primenet subforum if you wish to make the suggestion.

[quote]And ewmayer, you are welcomed for my support. It's the first time I use paypal so I'm not sure how much time does it take, I still not see the transaction in the credit card in my bank homebanking. Hope it arrives, should be enough for a beer :beer:[/QUOTE]
My p.s.-thanks was to let you know that I did receive your donation - it pretty much covers a whole case of beer (Lagunitas Brewing Co. IPA, in case anyone wants to know) from Costco, so 24 times thanks. :)

Dubslow 2017-11-10 10:31

[QUOTE=ewmayer;471463]
[b] breaks open-sourceness, since it requires a secret precompiled security module to be included.
[/QUOTE]

Not strictly true. The API is publicly available for use by any person and any program/client.

It is true that Prime95 includes secret code to aid with the integrity of data, and that the API supports transmission of said secret data, and that PrimeNet treats results without that secret integrity data with somewhat less trust than with.

However, the secret integrity data is *not* a requirement to use the API and the attendant benefits of the PrimeNet assignments interface. It merely results in the less-trusted handling of the result by the DB.

Damian, if you're so inclined, you could write a Python script (or other kind of script) that [URL="http://v5.mersenne.org/v5design/v5webAPI_0.97.html"]interfaces with the API[/URL]. Or someone could even work it into the Mlucas code base, if they were so inclined. chalsall *does* have such scripts, but are written in the illegible Perl, and are also heavily integrated with the GPUto72 project and website for which those scripts were written.

Damian 2017-11-11 06:20

I tried to run mlucas on a third machine. This time it is a notebook, the procesor has AVX, and the system installed is Debian jessie 32-bit.

After running

[CODE]
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
[/CODE]

I search mlucas in the repository
[CODE]
sudo apt-cache search mlucas
[/CODE]

but it returns nothing.

So I downloaded the source. When I compile with

[CODE]gcc -c -O3 -DUSE_AVX -DUSE_THREADS ../src/*.c >& build.log[/CODE]

Then [CODE]grep -i error build.log
[/CODE] returns this kind of things

[CODE] #error SIMD+AVX code only available for 64-bit build!
../src/platform.h:1503:3: error: #error SIMD+AVX code only available for 64-bit build!
#error SIMD+AVX code only available for 64-bit build!
../src/platform.h:1503:3: error: #error SIMD+AVX code only available for 64-bit build!
#error SIMD+AVX code only available for 64-bit build!
../src/platform.h:1503:3: error: #error SIMD+AVX code only available for 64-bit build!
#error SIMD+AVX code only available for 64-bit build!
../src/platform.h:1503:3: error: #error SIMD+AVX code only available for 64-bit build!
#error SIMD+AVX code only available for 64-bit build!
../src/platform.h:1503:3: error: #error SIMD+AVX code only available for 64-bit build!
#error SIMD+AVX code only available for 64-bit build!
../src/platform.h:1503:3: error: #error SIMD+AVX code only available for 64-bit build!
#error SIMD+AVX code only available for 64-bit build!
../src/platform.h:1503:3: error: #error SIMD+AVX code only available for 64-bit build!
#error SIMD+AVX code only available for 64-bit build!
../src/platform.h:1503:3: error: #error SIMD+AVX code only available for 64-bit build!
#error SIMD+AVX code only available for 64-bit build!
../src/radix16_dif_dit_pass.c:1114:124: error: macro "SSE2_RADIX16_DIF_TWIDDLE" passed 22 arguments, but takes just 11
../src/radix16_dif_dit_pass.c:1114:3: error: ‘SSE2_RADIX16_DIF_TWIDDLE’ undeclared (first use in this function)
../src/radix16_dif_dit_pass.c:2533:132: error: macro "SSE2_RADIX16_DIT_TWIDDLE" passed 24 arguments, but takes just 10
../src/radix16_dif_dit_pass.c:2533:3: error: ‘SSE2_RADIX16_DIT_TWIDDLE’ undeclared (first use in this function)
../src/platform.h:1503:3: error: #error SIMD+AVX code only available for 64-bit build!
#error SIMD+AVX code only available for 64-bit build!
../src/platform.h:1503:3: error: #error SIMD+AVX code only available for 64-bit build!
#error SIMD+AVX code only available for 64-bit build!
[/CODE]

And when I compile with

[CODE]gcc -c -O3 -DUSE_SSE2 -DUSE_THREADS ../src/*.c >& build.log
[/CODE]

the grep error command [CODE]grep -i error build.log
[/CODE] returns again this kind of things:

[CODE]../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm7’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm6’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm5’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm4’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm3’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm2’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm1’ in ‘asm’
../src/sse2_macro_gcc32.h:280:2: error: unknown register name ‘xmm0’ in ‘asm’
../src/twopmodq80.c:1283:2: error: unknown register name ‘xmm6’ in ‘asm’
../src/twopmodq80.c:1283:2: error: unknown register name ‘xmm5’ in ‘asm’
../src/twopmodq80.c:1283:2: error: unknown register name ‘xmm3’ in ‘asm’
../src/twopmodq80.c:1283:2: error: unknown register name ‘xmm2’ in ‘asm’
../src/twopmodq80.c:1283:2: error: unknown register name ‘xmm1’ in ‘asm’
../src/twopmodq80.c:1283:2: error: unknown register name ‘xmm0’ in ‘asm’
../src/twopmodq80.c:1409:2: error: unknown register name ‘xmm6’ in ‘asm’
../src/twopmodq80.c:1409:2: error: unknown register name ‘xmm2’ in ‘asm’
../src/twopmodq80.c:1409:2: error: unknown register name ‘xmm1’ in ‘asm’
../src/twopmodq80.c:1409:2: error: unknown register name ‘xmm0’ in ‘asm’
[/CODE]

I should have installed 64-bit debian or ubuntu *sigh* :down:

[QUOTE]So when a user's computer reports a new prime, the first step is to contact the user and ask for copies of the exponent logfile and the final checkpoint file, so the final few thousand (or however many) iterations can be independently run to see if the result truly is 0.
[/QUOTE]

They *ask* copies of the logfile and final checkpoint file? If the email to them is automatic, why wouldn't they attach to that email that information? What if the user doesn't read the request, or doesn't answer for whatever reason?

Dubslow, thanks for the primenet api info. I might try my luck at a python script on next holidays in January.

Xyzzy 2017-11-11 15:47

[QUOTE=Damian;471532]I tried to run mlucas on a third machine. This time it is a notebook, the procesor has AVX, and the system installed is Debian jessie 32-bit.

After running

[CODE]
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
[/CODE]I search mlucas in the repository
[CODE]
sudo apt-cache search mlucas
[/CODE]but it returns nothing.[/QUOTE]

[URL]https://packages.debian.org/search?keywords=mlucas&searchon=names&suite=all&section=all[/URL]

It appears in "stretch", "buster" and "sid". (You could upgrade to "stretch" easily.)

:mike:

ewmayer 2017-11-11 21:56

Damian, it appears your gcc/binutils setup is broken w.r.to 32-bit builds. Just out of curiosity, what does 'gcc -v' return?

And, is there some particular reason for you to need a 32-bit OS? As your avx build tries show, beyond basic sse2 Mlucas requires a 64-bit platform - writing halfway-decent FFT code is hard enough with the 16 GPRs and 16 vector registers available in 64-bit mode, in 32-bit mode you lose access to half of those. IOW, running in 32-bit mode you are crippling much of your CPU's hardware capabilities.

Damian 2017-11-13 18:12

[QUOTE=ewmayer;471579]Damian, it appears your gcc/binutils setup is broken w.r.to 32-bit builds. Just out of curiosity, what does 'gcc -v' return?

And, is there some particular reason for you to need a 32-bit OS? As your avx build tries show, beyond basic sse2 Mlucas requires a 64-bit platform - writing halfway-decent FFT code is hard enough with the 16 GPRs and 16 vector registers available in 64-bit mode, in 32-bit mode you lose access to half of those. IOW, running in 32-bit mode you are crippling much of your CPU's hardware capabilities.[/QUOTE]

The strange thing is I tried on two different computers with different linux distribution and the same error showed up.

This is the output of gcc -v in the 32-bit PC with ubuntu

[CODE]Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/5/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.5' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)
[/CODE]

And this is the output in the 64-bit notebook with debian 32-bit

[CODE]Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i586-linux-gnu/4.9/lto-wrapper
Target: i586-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i586-linux-gnu --host=i586-linux-gnu --target=i586-linux-gnu
Thread model: posix
gcc version 4.9.2 (Debian 4.9.2-10)
[/CODE]

Respect to why I instaled debian 32-bit in a 64-bit notebook, it was a stupid mistake I made, and plan to fix this summer. I guess I wasn't sure if all the programs I use would be compatible in 64bits as I always had used 32-bit until the last two or three years, but I guess I should have tried.


All times are UTC. The time now is 06:28.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.