View Single Post
Old 2016-10-04, 11:27   #1
Basketry That Evening!
Dubslow's Avatar
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

3×29×83 Posts
Default In ggnfs lasieve4 experimental, what's the difference between the athlon64 and x64 folders?

Title. They don't seem identical, but I'm not exactly sure what the difference might be. Maybe some older Intel x64 variant before they switched to the AMD version...?
bill@Gravemind ~/ggnfs/src/experimental/lasieve4_64 $ ls athlon64
32bit.h       gmp-aux.h     lasched3.asm           ls-defs.asm    MMX-TD1.o       modinv1000b.asm  mpqs_gauss.asm      mpz-td.o        pt64.o          siever-config.c  tdsieve-from-sched.asm  zeit.c
asm-zeit.asm  if.c          lasched.c              Makefile       MMX-TD2.asm     modinv1000b.o    mpqs_nextpol.asm    mpz-trialdiv.c  ri-aux.asm      siever-config.h  tdsieve-from-sched.o    zeit.h
asm-zeit.o    if.h          lasched.h              medsched0.asm  MMX-TD2.o       modinv1000.o     mpqs_sieve.asm      mpz-trialdiv.o  ri-aux.o        slinie1A.asm     tdslinie1.asm           zeit.o
gcd32.c       invtab.c      lasieve-asmprepn2.asm  medsched.c     MMX-TD.c        modinv32.c       mpqs_sieveinit.asm  psp.c           schedsieve.asm  slinie2A.asm     tdslinie2.asm
gcd32.o       lasched0.asm  lasieve-asmprepn.asm   medsched.h     MMX-TD.o        mpqs-config.h    mpqs_td.asm         psp.o           schedsieve.o    slinie3A.asm     tdslinie3.asm
gmp-aux.c     lasched1.asm  lasieve-asmprepn.o     MMX-TD1.asm    modinv1000.asm  mpqs_eval.asm    mpz-td.asm          pt64.asm        search0.asm     slinieG.asm      tdslinie.asm
bill@Gravemind ~/ggnfs/src/experimental/lasieve4_64 $ ls x64
32bit.h       if.c          lasched3.asm           ls-defs.asm    medsched.h      modinv1000b.asm  mpqs_nextpol.asm    mpz-trialdiv.c  search0.asm      slinie3A.asm            tdslinie3.asm
asm-zeit.asm  if.h          lasched.c        MMX-TD1.asm     modinv32.c       mpqs_sieve.asm      psp.c           siever-config.c  slinieG.asm             tdslinie.asm
gcd32.c       invtab.c      lasched.h              Makefile       MMX-TD2.asm     mpqs-config.h    mpqs_sieveinit.asm  pt64.asm        siever-config.h  tdsieve-from-sched.asm  zeit.c
gmp-aux.c     lasched0.asm  lasieve-asmprepn2.asm  medsched0.asm  MMX-TD.c        mpqs_eval.asm    mpqs_td.asm         ri-aux.asm      slinie1A.asm     tdslinie1.asm           zeit.h
gmp-aux.h     lasched1.asm  lasieve-asmprepn.asm   medsched.c     modinv1000.asm  mpqs_gauss.asm   mpz-td.asm          schedsieve.asm  slinie2A.asm     tdslinie2.asm
Edit: Also, I'm getting compiler (assembler?) errors trying to compile the athlon64 asm per the INTSALL file:

$ make liblasieve.a
m4  -Dn_i_bits=0 ls-defs.asm mpqs_td.asm > mpqs_td.s
gcc -c mpqs_td.s
mpqs_td.s: Assembler messages:
mpqs_td.s:249: Error: incorrect register `%r9' used with `w' suffix
mpqs_td.s:280: Error: incorrect register `%r9' used with `w' suffix
mpqs_td.s:283: Error: incorrect register `%rsi' used with `w' suffix
mpqs_td.s:313: Error: incorrect register `%r9' used with `w' suffix
Makefile:56: recipe for target 'mpqs_td.o' failed
make: *** [mpqs_td.o] Error 1
rm mpqs_td.s
Is the compiler "indated"?

(Context: Recovering slowly from a hard drive failure, recompiling all the tools from scratch)

Edit edit:

Originally Posted by Batalov View Post
I am not sure how the above definition was set to 0. It could be the problem.
You can just as well use precompiled binaries for all components -- from Jeff's site.
It's defined as such in the Makefile:
%.s: %.asm
	m4  -Dn_i_bits=0 ls-defs.asm $^ > $@
Trying to compile one of the specific size binaries has other issues with make expressions not working correctly:

$ make liblasieveI11.a
gcc -O3 -march=native -mtune=native -I. -DI_bits=11 -c -o laschedI11.o lasched.c
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm lasched0.asm > lasched0I11.s
gcc -c lasched0I11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=1 ls-defs.asm lasched1.asm > lasched1I11.s
gcc -c lasched1I11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=2 ls-defs.asm lasched1.asm > lasched2I11.s
gcc -c lasched2I11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=3 ls-defs.asm lasched1.asm > lasched3I11.s
gcc -c lasched3I11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dnt_sched=1 ls-defs.asm lasched0.asm > lasched0ntI11.s
gcc -c lasched0ntI11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=1 -Dnt_sched=1 ls-defs.asm lasched1.asm > lasched1ntI11.s
gcc -c lasched1ntI11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=2 -Dnt_sched=1 ls-defs.asm lasched1.asm > lasched2ntI11.s
gcc -c lasched2ntI11.s
m4 -Dn_i_bits=`expr 11 - 1` -Dot=3 -Dnt_sched=1 ls-defs.asm lasched1.asm > lasched3ntI11.s
gcc -c lasched3ntI11.s
gcc -O3 -march=native -mtune=native -I. -DI_bits=11 -c -o medschedI11.o medsched.c
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm medsched0.asm > medsched0I11.s
gcc -c medsched0I11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm search0.asm > search0I11.s
gcc -c search0I11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm slinieG.asm > slinieI11.s
gcc -c slinieI11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm slinie3A.asm > slinie3I11.s
gcc -c slinie3I11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm slinie2A.asm > slinie2I11.s
gcc -c slinie2I11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm slinie1A.asm > slinie1I11.s
gcc -c slinie1I11.s
m4 -Dn_i_bits=`expr 11 - 1` ls-defs.asm tdslinie.asm > tdslinieI11.s
gcc -c tdslinieI11.s
tdslinieI11.s: Assembler messages:
tdslinieI11.s:2297: Error: incorrect register `%r10' used with `w' suffix
Makefile:56: recipe for target 'tdslinieI11.o' failed
make: *** [tdslinieI11.o] Error 1
rm slinie3I11.s slinie2I11.o medsched0I11.s lasched1ntI11.s lasched3I11.o tdslinieI11.s slinieI11.o lasched2I11.o lasched0I11.s search0I11.o lasched2ntI11.s lasched3ntI11.o slinie1I11.o slinie2I11.s lasched3I11.s lasched1I11.o slinieI11.s lasched2I11.s medschedI11.o lasched0ntI11.o search0I11.s lasched3ntI11.s medsched0I11.o slinie1I11.s lasched1ntI11.o laschedI11.o lasched1I11.s lasched0I11.o lasched2ntI11.o slinie3I11.o lasched0ntI11.s
I do distinctly remember successfully compiling this myself some years ago, so maybe something has changed in make/gcc/etc since then?

Last fiddled with by Dubslow on 2016-10-04 at 11:49
Dubslow is offline   Reply With Quote