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...?
Code:
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 ls-defs.inc 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:
Code:
$ 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:
http://www.mersenneforum.org/showthr...686#post409686
Quote:
Originally Posted by Batalov
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:
Code:
%.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:
Code:
$ 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?