mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   YAFU (https://www.mersenneforum.org/forumdisplay.php?f=96)
-   -   YAFU 2.0 (https://www.mersenneforum.org/showthread.php?t=26681)

bsquared 2021-04-10 13:46

[QUOTE=bur;575603]When running yafu tune(), this is all that happens:
[/QUOTE]

As I mentioned in post 9, this has been fixed, but I'm still working on the other issues charybdis mentioned so the windows binary hasn't been updated yet.


[QUOTE=bur;575603]
And a second issue, specifying -noecm seems to be ignored. I used it both in the ini and as an argument but it still runs ecm. This number if it*s important: 10450974137988693609715901393399485545016883310684938211501868888239765039524963017798457141299451333307339683 [/QUOTE]

Use -plan noecm

Looks like I forgot that noecm had its own argument outside of plan; I will reenable that.

bur 2021-04-10 16:08

Ok, thanks. I didn't get an error message, so I thought it was different.

bsquared 2021-04-11 15:39

Updated windows exe's are now available. I think all of the "tune" issues are fixed now.

After a bunch of wrestling with build tools I've now built for windows on:
* windows subsystem for linux (WSL) <-- best option!
* Visual studio 2019
* Mingw64/Msys2

For some reason, avx-ecm doesn't work on the mingw64 build. I haven't tracked down why yet; for now it just uses internal/external gmp-ecm.

These various builds used GCC versions 7, 9, and 10, so the massive code reorg in 2.0 has hopefully fixed all of the build issues for GCC 10+ that people were reporting.

bur 2021-04-11 16:18

I just continued NFS sieving from another computer that ran yafu 1.34 on an different computer with the new yafu2 build and so far everything runs smoothly, no bugs encountered.

charybdis 2021-04-11 16:51

Looks good now. Thank you!

bur 2021-04-14 07:46

I tried the yafu-x64.exe on an i3-2110 with Win 10 and both factor() and tune() just show a blank line for 10 s with no CPU activity and then it returns to the prompt.

A session.log is created but with size 0.

bsquared 2021-04-14 19:03

[QUOTE=bur;575877]I tried the yafu-x64.exe on an i3-2110 with Win 10 and both factor() and tune() just show a blank line for 10 s with no CPU activity and then it returns to the prompt.

A session.log is created but with size 0.[/QUOTE]

I was not able to test on a cpu that old, so I suspect that there was an illegal instruction. yafu is supposed to be smart about that, only using sse41, avx2, etc., when it is actually available, but I guess something slipped through that I wasn't able to test for.

I don't know if it will tell me much, but can you try to start with -v -v -v (three verbose flags) and post any output?

[edit]
Also I guess I should ask, is this a 64-bit windows 10 or 32-bit? I have stopped supporting/building 32-bit yafu.

bur 2021-04-15 19:41

This is all that happens:


[CODE]D:\Primes\yafu2>yafu-x64.exe factor("10^30+1237") -v -v -v


YAFU Version 2.0
Built with Microsoft Visual Studio 1928
Using GMP-ECM 7.0.4, Powered by MPIR 3.0.0
Detected Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz
Detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes
Using 1 random witness for Rabin-Miller PRP checks
Cached 664579 primes; max prime is 9999991

===============================================================
======= Welcome to YAFU (Yet Another Factoring Utility) =======
======= bbuhrow@gmail.com =======
======= Type help at any time, or quit to quit =======
===============================================================

>>
D:\Primes\yafu2>[/CODE]
But it's not important, I can always just use 1.34 on that older computer.

kruoli 2021-04-20 22:19

Currently, I'm trying to compile YAFU for Linux. I'm stuck at the ysieve. There is a function [C]modinv_1c[/C], which cannot be resolved. I already have GMP, GMP-ECM and ytools in my source directory. Then I did a grep on this directory:
[CODE]~/src$ grep -Rn modinv_1c .
Binary file ./ysieve/libysieve.a matches
./ysieve/roots.c:321: inv = modinv_1c(t->sdata.prodN, prime);
./ysieve/roots.c:425: inv = modinv_1c(pn, prime);
./ysieve/roots.c:447: inv = modinv_1c(t->sdata.prodN, prime);
Binary file ./ysieve/roots.o matches
./ysieve/worker.c:333: inv = modinv_1c(t->sdata.prodN, prime);
./ysieve/worker.c:353: inv = modinv_1c(t->sdata.prodN, prime);[/CODE]

Where do I find this function?

GMP is version 6.2.1, GMP-ECM is the current SVN (as of about an hour ago), ytools is the version from git about half an hour ago. The environment is WSL Debian 10.9, all available updates applied.

The commandline for compiling was [C]~/src/ysieve$ make CC=gcc CFLAGS="-O3 -march=native -I../ytools -I. -L../ytools"[/C]

bsquared 2021-04-21 00:18

[QUOTE=kruoli;576291]Currently, I'm trying to compile YAFU for Linux. I'm stuck at the ysieve. There is a function [C]modinv_1c[/C], which cannot be resolved. I already have GMP, GMP-ECM and ytools in my source directory. Then I did a grep on this directory:
[CODE]~/src$ grep -Rn modinv_1c .
Binary file ./ysieve/libysieve.a matches
./ysieve/roots.c:321: inv = modinv_1c(t->sdata.prodN, prime);
./ysieve/roots.c:425: inv = modinv_1c(pn, prime);
./ysieve/roots.c:447: inv = modinv_1c(t->sdata.prodN, prime);
Binary file ./ysieve/roots.o matches
./ysieve/worker.c:333: inv = modinv_1c(t->sdata.prodN, prime);
./ysieve/worker.c:353: inv = modinv_1c(t->sdata.prodN, prime);[/CODE]

Where do I find this function?

GMP is version 6.2.1, GMP-ECM is the current SVN (as of about an hour ago), ytools is the version from git about half an hour ago. The environment is WSL Debian 10.9, all available updates applied.

The commandline for compiling was [C]~/src/ysieve$ make CC=gcc CFLAGS="-O3 -march=native -I../ytools -I. -L../ytools"[/C][/QUOTE]

Looks like I forgot to update those function names on generic builds (i.e., non-AVX2 or SKYLAKE). If you have AVX2 on your computer (haswell or newer, I think, circa 2014) then build with USE_AVX2=1 or add -DUSE_AVX2 to your CFLAGS line. If you don't, try the fixed version I just now committed to ysieve.

kruoli 2021-04-21 13:32

That is working now, thanks. The big trouble comes when trying to compile yafu itself. I've been tinkering with it for some hours no and reached this point: Using the command [C]make CC=gcc CFLAGS="-O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools"[/C] (yes, each -I and -L is necessary, also I have to state -DUSE_SSE2, otherwise he does not know what [C]COMPUTE_8X_SMALL_PROOTS[/C] is), it states:
[CODE]make: *** No rule to make target 'factor/avx-ecm/avxppm1.o', needed by 'yafu'. Stop.[/CODE]
Since I have not enabled AVX512, I'm not sure why he is trying to build AVX-ECM?

[B]Edit: I did a git pull and now it's not stopping here anymore, so I guess it's fixed, sorry.[/B]

Additionally, there are tons of warnings (up to the point where he cannot proceed), I'm not sure if I can ignore all of them?
[CODE]In file included from include/qs_impl.h:20,
from include/lanczos.h:21,
from factor/qs/msieve/lanczos.c:18:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/msieve/lanczos_matmul0.o factor/qs/msieve/lanczos_matmul0.c
factor/qs/msieve/lanczos_matmul0.c: In function ‘yafu_mul_packed’:
factor/qs/msieve/lanczos_matmul0.c:128:4: warning: implicit declaration of function ‘pthread_cond_signal’; did you mean ‘pthread_sigmask’? [-Wimplicit-function-declaration]
pthread_cond_signal(&t->run_cond);
^~~~~~~~~~~~~~~~~~~
pthread_sigmask
factor/qs/msieve/lanczos_matmul0.c:129:4: warning: implicit declaration of function ‘pthread_mutex_unlock’ [-Wimplicit-function-declaration]
pthread_mutex_unlock(&t->run_lock);
^~~~~~~~~~~~~~~~~~~~
factor/qs/msieve/lanczos_matmul0.c:145:4: warning: implicit declaration of function ‘pthread_mutex_lock’; did you mean ‘pthread_kill’? [-Wimplicit-function-declaration]
pthread_mutex_lock(&t->run_lock);
^~~~~~~~~~~~~~~~~~
pthread_kill
factor/qs/msieve/lanczos_matmul0.c:147:5: warning: implicit declaration of function ‘pthread_cond_wait’; did you mean ‘pthread_sigmask’? [-Wimplicit-function-declaration]
pthread_cond_wait(&t->run_cond, &t->run_lock);
^~~~~~~~~~~~~~~~~
pthread_sigmask
factor/qs/msieve/lanczos_matmul0.c: In function ‘yafu_start_worker_thread’:
factor/qs/msieve/lanczos_matmul0.c:522:2: warning: implicit declaration of function ‘pthread_mutex_init’; did you mean ‘pthread_kill’? [-Wimplicit-function-declaration]
pthread_mutex_init(&t->run_lock, NULL);
^~~~~~~~~~~~~~~~~~
pthread_kill
factor/qs/msieve/lanczos_matmul0.c:523:2: warning: implicit declaration of function ‘pthread_condit’; did you mean ‘pthread_kill’? [-Wimplicit-function-declaration]
pthread_condit(&t->run_cond, NULL);
^~~~~~~~~~~~~~~~~
pthread_kill
factor/qs/msieve/lanczos_matmul0.c:527:2: warning: implicit declaration of function ‘pthread_create’; did you mean ‘timer_create’? [-Wimplicit-function-declaration]
pthread_create(&t->thread_id, NULL, yafu_worker_thread_main, t);
^~~~~~~~~~~~~~
timer_create
factor/qs/msieve/lanczos_matmul0.c: In function ‘yafu_stop_worker_thread’:
factor/qs/msieve/lanczos_matmul0.c:554:2: warning: implicit declaration of function ‘pthread_join’; did you mean ‘pthread_kill’? [-Wimplicit-function-declaration]
pthread_join(t->thread_id, NULL);
^~~~~~~~~~~~
pthread_kill
factor/qs/msieve/lanczos_matmul0.c:555:2: warning: implicit declaration of function ‘pthread_cond_destroy’ [-Wimplicit-function-declaration]
pthread_cond_destroy(&t->run_cond);
^~~~~~~~~~~~~~~~~~~~
factor/qs/msieve/lanczos_matmul0.c:556:2: warning: implicit declaration of function ‘pthread_mutex_destroy’ [-Wimplicit-function-declaration]
pthread_mutex_destroy(&t->run_lock);
^~~~~~~~~~~~~~~~~~~~~
In file included from include/qs_impl.h:20,
from include/lanczos.h:21,
from factor/qs/msieve/lanczos_matmul0.c:19:
factor/qs/msieve/lanczos_matmul0.c: At top level:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/msieve/lanczos_matmul1.o factor/qs/msieve/lanczos_matmul1.c
In file included from include/qs_impl.h:20,
from include/lanczos.h:21,
from factor/qs/msieve/lanczos_matmul1.c:14:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/msieve/lanczos_matmul2.o factor/qs/msieve/lanczos_matmul2.c
In file included from include/qs_impl.h:20,
from include/lanczos.h:21,
from factor/qs/msieve/lanczos_matmul2.c:14:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/msieve/lanczos_pre.o factor/qs/msieve/lanczos_pre.c
In file included from include/qs_impl.h:20,
from include/lanczos.h:21,
from factor/qs/msieve/lanczos_pre.c:18:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/msieve/sqrt.o factor/qs/msieve/sqrt.c
factor/qs/msieve/sqrt.c: In function ‘yafu_find_factors’:
factor/qs/msieve/sqrt.c:186:44: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
large_primes = (uint32_t)xrealloc(large_primes,
^
factor/qs/msieve/sqrt.c:186:42: warning: assignment to ‘uint32_t *’ {aka ‘unsigned int *’} from ‘unsigned int’ makes pointer from integer without a cast [-Wint-conversion]
large_primes = (uint32_t)xrealloc(large_primes,
^
In file included from include/factor.h:26,
from include/qs.h:24,
from factor/qs/msieve/sqrt.c:18:
factor/qs/msieve/sqrt.c: At top level:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/msieve/savefile.o factor/qs/msieve/savefile.c
In file included from include/factor.h:26,
from include/qs.h:24,
from factor/qs/msieve/savefile.c:18:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/msieve/gf2.o factor/qs/msieve/gf2.c
In file included from include/qs_impl.h:20,
from factor/qs/msieve/gf2.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/filter.o factor/qs/filter.c
In file included from include/factor.h:26,
from include/qs.h:24,
from factor/qs/filter.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/tdiv.o factor/qs/tdiv.c
In file included from include/factor.h:26,
from include/qs.h:24,
from factor/qs/tdiv.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/tdiv_small.o factor/qs/tdiv_small.c
In file included from include/qs_impl.h:20,
from factor/qs/tdiv_small.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/tdiv_large.o factor/qs/tdiv_large.c
factor/qs/tdiv_large.c:92:84: warning: backslash and newline separated by space
"orq %%r9,%%r8 \n\t" /* r8 now holds 8 comparisons in 32 bits */ \

factor/qs/tdiv_large.c:93:86: warning: backslash and newline separated by space
"orq %%r10,%%r8 \n\t" /* r8 now holds 12 comparisons in 48 bits */ \

factor/qs/tdiv_large.c:95:112: warning: backslash and newline separated by space
"andq %%r9,%%r8 \n\t" /* clear the bytemask results we don't care about */ \

factor/qs/tdiv_large.c:126:93: warning: backslash and newline separated by space
"vpmovmskb %%ymm2, %%r9 \n\t" /* 2nd 4 comparisons in 16 bits of r9 */ \

factor/qs/tdiv_large.c:134:112: warning: backslash and newline separated by space
"andq %%r9,%%r8 \n\t" /* clear the bytemask results we don't care about */ \

factor/qs/tdiv_large.c:188:84: warning: backslash and newline separated by space
"orq %%r9,%%r8 \n\t" /* r8 now holds 8 comparisons in 32 bits */ \

factor/qs/tdiv_large.c:189:86: warning: backslash and newline separated by space
"orq %%r10,%%r8 \n\t" /* r8 now holds 12 comparisons in 48 bits */ \

factor/qs/tdiv_large.c:191:112: warning: backslash and newline separated by space
"andq %%r9,%%r8 \n\t" /* clear the bytemask results we don't care about */ \

In file included from include/qs_impl.h:20,
from factor/qs/tdiv_large.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/tdiv_scan.o factor/qs/tdiv_scan.c
In file included from include/qs_impl.h:20,
from factor/qs/tdiv_scan.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/large_sieve.o factor/qs/large_sieve.c
In file included from include/qs_impl.h:20,
from factor/qs/large_sieve.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/new_poly.o factor/qs/new_poly.c
In file included from include/qs_impl.h:20,
from factor/qs/new_poly.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/siqs_test.o factor/qs/siqs_test.c
In file included from include/factor.h:26,
from include/qs.h:24,
from factor/qs/siqs_test.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/siqs_aux.o factor/qs/siqs_aux.c
In file included from include/qs_impl.h:20,
from factor/qs/siqs_aux.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/smallmpqs.o factor/qs/smallmpqs.c
In file included from include/factor.h:26,
from include/qs.h:24,
from factor/qs/smallmpqs.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/SIQS.o factor/qs/SIQS.c
In file included from include/factor.h:26,
from factor/qs/SIQS.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/med_sieve_32k.o factor/qs/med_sieve_32k.c
In file included from include/qs_impl.h:20,
from factor/qs/med_sieve_32k.c:22:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/poly_roots_32k.o factor/qs/poly_roots_32k.c
In file included from include/qs_impl.h:20,
from factor/qs/poly_roots_32k.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/prime_sieve.o factor/prime_sieve.c
In file included from include/qs_impl.h:20,
from include/prime_sieve.h:6,
from factor/prime_sieve.c:16:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/batch_factor.o factor/batch_factor.c
In file included from factor/batch_factor.c:17:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/cofactorize_siqs.o factor/qs/cofactorize_siqs.c
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/update_poly_roots_32k.o factor/qs/update_poly_roots_32k.c
In file included from include/qs_impl.h:20,
from factor/qs/update_poly_roots_32k.c:22:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/tdiv_med_32k.o factor/qs/tdiv_med_32k.c
In file included from include/qs_impl.h:20,
from factor/qs/tdiv_med_32k.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/qs/tdiv_resieve_32k.o factor/qs/tdiv_resieve_32k.c
In file included from include/qs_impl.h:20,
from factor/qs/tdiv_resieve_32k.c:21:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o top/driver.o top/driver.c
top/driver.c: In function ‘helpfunc’:
top/driver.c:734:10: warning: implicit declaration of function ‘isspace’ [-Wimplicit-function-declaration]
while (isspace((int)s[j])) j++; //skip white space
^~~~~~~
In file included from include/factor.h:26,
from top/cmdParser/calc.h:46,
from top/driver.c:23:
top/driver.c: At top level:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o top/test.o top/test.c
top/test.c: In function ‘test_dlp_composites’:
top/test.c:138:35: warning: implicit declaration of function ‘floor’ [-Wimplicit-function-declaration]
my_ecm_params->B1done = 1.0 + floor(1 * 128.) / 134217728.;
^~~~~
top/test.c:138:35: warning: incompatible implicit declaration of built function ‘floor’
top/test.c:138:35: note: include ‘<math.h>’ or provide a declaration of ‘floor’
top/test.c:29:1:
+#include <math.h>

top/test.c:138:35:
my_ecm_params->B1done = 1.0 + floor(1 * 128.) / 134217728.;
^~~~~
top/test.c:733:47: warning: incompatible implicit declaration of built function ‘floor’
my_ecm_params->B1done = 1.0 + floor(1 * 128.) / 134217728.;
^~~~~
top/test.c:733:47: note: include ‘<math.h>’ or provide a declaration of ‘floor’
In file included from include/factor.h:26,
from include/qs.h:24,
from top/test.c:24:
top/test.c: At top level:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/tune.o factor/tune.c
factor/tune.c: In function ‘factor_tune’:
factor/tune.c:163:58: warning: implicit declaration of function ‘pow’ [-Wimplicit-function-declaration]
printf("best exponential fit is y = %g * exp(%g * x)\n",pow(BASE_e,b),a);
^~~
factor/tune.c:163:58: warning: incompatible implicit declaration of built function ‘pow’
factor/tune.c:163:58: note: include ‘<math.h>’ or provide a declaration of ‘pow’
factor/tune.c:6:1:
+#include <math.h>
#include <stdint.h>
factor/tune.c:163:58:
printf("best exponential fit is y = %g * exp(%g * x)\n",pow(BASE_e,b),a);
^~~
factor/tune.c: In function ‘best_linear_fit’:
factor/tune.c:701:11: warning: implicit declaration of function ‘log’ [-Wimplicit-function-declaration]
yy[i] = log(y[i]);
^~~
factor/tune.c:701:11: warning: incompatible implicit declaration of built function ‘log’
factor/tune.c:701:11: note: include ‘<math.h>’ or provide a declaration of ‘log’
In file included from include/factor.h:26,
from factor/tune.c:2:
factor/tune.c: At top level:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/autofactor.o factor/autofactor.c
factor/autofactor.c: In function ‘get_qs_time_estimate’:
factor/autofactor.c:200:42: warning: implicit declaration of function ‘exp’ [-Wimplicit-function-declaration]
estimate = fobj->qs_obj.qs_multiplier * exp(fobj->qs_obj.qs_exponent * digits);
^~~
factor/autofactor.c:200:42: warning: incompatible implicit declaration of built function ‘exp’
factor/autofactor.c:200:42: note: include ‘<math.h>’ or provide a declaration of ‘exp’
factor/autofactor.c:33:1:
+#include <math.h>

factor/autofactor.c:200:42:
estimate = fobj->qs_obj.qs_multiplier * exp(fobj->qs_obj.qs_exponent * digits);
^~~
factor/autofactor.c: In function ‘get_gnfs_time_estimate’:
factor/autofactor.c:250:45: warning: incompatible implicit declaration of built function ‘exp’
estimate = fobj->nfs_obj.gnfs_multiplier * exp(fobj->nfs_obj.gnfs_exponent * digits);
^~~
factor/autofactor.c:250:45: note: include ‘<math.h>’ or provide a declaration of ‘exp’
factor/autofactor.c: In function ‘interp_and_set_curves’:
factor/autofactor.c:1369:29: warning: implicit declaration of function ‘ceil’ [-Wimplicit-function-declaration]
fwork->curves = (uint32_t )ceil(work);
^~~~
factor/autofactor.c:1369:29: warning: incompatible implicit declaration of built function ‘ceil’
factor/autofactor.c:1369:29: note: include ‘<math.h>’ or provide a declaration of ‘ceil’
In file included from include/yafu.h:31,
from factor/autofactor.c:21:
factor/autofactor.c: In function ‘factor’:
../gmp-6.2.1/gmp.h:538:21: warning: implicit declaration of function ‘__gmp_fprintf’; did you mean ‘__gmp_sprintf’? [-Wimplicit-function-declaration]
#define gmp_fprintf __gmp_fprintf
^~~~~~~~~~~~~
factor/autofactor.c:1974:6: note: in expansion of macro ‘gmp_fprintf’
gmp_fprintf(fobj->autofact_obj.op_file, "%Zd\n", fobj->N);
^~~~~~~~~~~
In file included from include/factor.h:26,
from factor/autofactor.c:23:
factor/autofactor.c: At top level:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o top/cmdParser/cmdOptions.o top/cmdParser/cmdOptions.c
top/cmdParser/cmdOptions.c: In function ‘enforce_numeric’:
top/cmdParser/cmdOptions.c:225:14: warning: implicit declaration of function ‘isdigit’ [-Wimplicit-function-declaration]
if (!isdigitt)arg[i]))
^~~~~~~
top/cmdParser/cmdOptions.c: In function ‘initOpt’:
top/cmdParser/cmdOptions.c:1004:19: warning: passing argument 1 of ‘strcpy’ from incompatible pointer type [-Wincompatible-pointer-types]
strcpy(options->tunenfo, "");
~~~~~~~^~~~~~~~~~~
In file included from ../ytools/ytools.h:37,
from top/cmdParser/cmdOptions.c:37:
/usr/include/string.h:121:14: note: expected ‘char * restrict’ but argument is of type ‘char **’
extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
^~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o top/cmdParser/calc.o top/cmdParser/calc.c
top/cmdParser/calc.c: In function ‘feval’:
top/cmdParser/calc.c:2853:9: warning: implicit declaration of function ‘factor_tune’; did you mean ‘factor’? [-Wimplicit-function-declaration]
factor_tune(fobj);
^~~~~~~~~~~
factor
In file included from include/factor.h:26,
from top/cmdParser/calc.h:46,
from top/cmdParser/calc.c:43:
top/cmdParser/calc.c: At top level:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
top/cmdParser/calc.c: In function ‘preprocess’:
top/cmdParser/calc.c:983:17: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
strncpy(str, ptr, strlen(ptr) - 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
top/cmdParser/calc.c:983:35: note: length computed here
strncpy(str, ptr, strlen(ptr) - 1);
^~~~~~~~~~~
top/cmdParser/calc.c:956:17: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
strncpy(str, ptr, strlen(ptr) - 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
top/cmdParser/calc.c:956:35: note: length computed here
strncpy(str, ptr, strlen(ptr) - 1);
^~~~~~~~~~~
top/cmdParser/calc.c:936:13: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
strncpy(str, eptr, strlen(eptr) - 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
top/cmdParser/calc.c:933:23: note: length computed here
else if (eptr[strlen(eptr) + 1] == '\0')
^~~~~~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/gmp-ecm/ecm.o factor/gmp-ecm/ecm.c
factor/gmp-ecm/ecm.c: In function ‘ecm_do_one_curve’:
factor/gmp-ecm/ecm.c:754:39: warning: implicit declaration of function ‘floor’ [-Wimplicit-function-declaration]
thread_data->params->B1done = 1.0 + floor (1 * 128.) / 134217728.;
^~~~~
factor/gmp-ecm/ecm.c:754:39: warning: incompatible implicit declaration of built function ‘floor’
factor/gmp-ecm/ecm.c:754:39: note: include ‘<math.h>’ or provide a declaration of ‘floor’
factor/gmp-ecm/ecm.c:27:1:
+#include <math.h>
#include <time.h>
factor/gmp-ecm/ecm.c:754:39:
thread_data->params->B1done = 1.0 + floor (1 * 128.) / 134217728.;
^~~~~
factor/gmp-ecm/ecm.c:819:17: warning: ‘return’ with no value, in function returning non-void
return;
^~~~~~
factor/gmp-ecm/ecm.c:733:7: note: declared here
void *ecm_do_one_curve(void *ptr)
^~~~~~~~~~~~~~~~
In file included from include/factor.h:26,
from include/yafu_ecm.h:23,
from factor/gmp-ecm/ecm.c:21:
factor/gmp-ecm/ecm.c: At top level:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/gmp-ecm/pp1.o factor/gmp-ecm/pp1.c
factor/gmp-ecm/pp1.c: In function ‘pp1_wrapper’:
factor/gmp-ecm/pp1.c:81:34: warning: implicit declaration of function ‘floor’ [-Wimplicit-function-declaration]
pp1_data.params->B1done = 1.0 + floor (1 * 128.) / 134217728.;
^~~~~
factor/gmp-ecm/pp1.c:81:34: warning: incompatible implicit declaration of built function ‘floor’
factor/gmp-ecm/pp1.c:81:34: note: include ‘<math.h>’ or provide a declaration of ‘floor’
factor/gmp-ecm/pp1.c:28:1:
+#include <math.h>

factor/gmp-ecm/pp1.c:81:34:
pp1_data.params->B1done = 1.0 + floor (1 * 128.) / 134217728.;
^~~~~
In file included from include/factor.h:26,
from include/yafu_ecm.h:23,
from factor/gmp-ecm/pp1.c:21:
factor/gmp-ecm/pp1.c: At top level:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/gmp-ecm/pm1.o factor/gmp-ecm/pm1.c
factor/gmp-ecm/pm1.c: In function ‘pm1_wrapper’:
factor/gmp-ecm/pm1.c:86:34: warning: implicit declaration of function ‘floor’ [-Wimplicit-function-declaration]
pm1_data.params->B1done = 1.0 + floor (1 * 128.) / 134217728.;
^~~~~
factor/gmp-ecm/pm1.c:86:34: warning: incompatible implicit declaration of built function ‘floor’
factor/gmp-ecm/pm1.c:86:34: note: include ‘<math.h>’ or provide a declaration of ‘floor’
factor/gmp-ecm/pm1.c:28:1:
+#include <math.h>

factor/gmp-ecm/pm1.c:86:34:
pm1_data.params->B1done = 1.0 + floor (1 * 128.) / 134217728.;
^~~~~
In file included from include/factor.h:26,
from include/yafu_ecm.h:23,
from factor/gmp-ecm/pm1.c:21:
factor/gmp-ecm/pm1.c: At top level:
include/monty.h:86:19: warning: inline function ‘_umul128’ declared but never defined
__inline uint64_t _umul128(uint64_t x, uint64_t y, uint64_t* hi);
^~~~~~~~
gcc -O3 -march=native -DUSE_AVX2 -DUSE_SSE41 -DUSE_SSE2 -I../ytools -I../ysieve -Iinclude -Ifactor -Itop/cmdParser -I. -I../gmpecm -I../gmp-6.2.1 -Itop/aprcl -L../ytools -c -o factor/avx-ecm/avxecm.o factor/avx-ecm/avxecm.c
In file included from factor/avx-ecm/avx_ecm.h:30,
from factor/avx-ecm/avxecm.c:52:
factor/avx-ecm/avxecm.c: In function ‘vececm’:
../gmp-6.2.1/gmp.h:538:21: warning: implicit declaration of function ‘__gmp_fprintf’; did you mean ‘__gmp_sprintf’? [-Wimplicit-function-declaration]
#define gmp_fprintf __gmp_fprintf
^~~~~~~~~~~~~
factor/avx-ecm/avxecm.c:2394:29: note: in expansion of macro ‘gmp_fprintf’
gmp_fprintf(save, "N=0x%Zx; ", gmpn);
^~~~~~~~~~~
In file included from factor/avx-ecm/avxecm.c:52:
factor/avx-ecm/avxecm.c: In function ‘vec_build_one_curve’:
factor/avx-ecm/avx_ecm.h:58:22: warning: conversion from ‘long long unsigned int’ to ‘uint32_t’ {aka ‘unsigned int’} changes value from ‘4503599627370495’ to ‘4294967295’ [-Woverflow]
#define VEC_MAXDIGIT 0xfffffffffffffULL
^~~~~~~~~~~~~~~~~~
factor/avx-ecm/avxecm.c:2775:57: note: in expansion of macro ‘VEC_MAXDIGIT’
work->sigma = spRandp(&tdata->lcg_state, 6, VEC_MAXDIGIT);
^~~~~~~~~~~~
factor/avx-ecm/avxecm.c: In function ‘build_one_curve_param1’:
factor/avx-ecm/avx_ecm.h:58:22: warning: conversion from ‘long long unsigned int’ to ‘uint32_t’ {aka ‘unsigned int’} changes value from ‘4503599627370495’ to ‘4294967295’ [-Woverflow]
#define VEC_MAXDIGIT 0xfffffffffffffULL
^~~~~~~~~~~~~~~~~~
factor/avx-ecm/avxecm.c:3031:57: note: in expansion of macro ‘VEC_MAXDIGIT’
work->sigma = spRandp(&tdata->lcg_state, 6, VEC_MAXDIGIT) & 0X3FFFFFF;
^~~~~~~~~~~~[/CODE]

Also, it seems like it is prefers the system wide installations of GMP and GMP-ECM. Do I have to edit the Makefile to use my custom built ones?


All times are UTC. The time now is 15:18.

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