#842 Fails to build with disabled optimization

closed-invalid
5
2014-08-24
2012-07-16
Sylvestre Ledru
No

With the configure:
../../configure --cc="cc" --cflags="" -D c -DWALL -b 32 -Fa alg '-Wa,--noexecstack -fPIC' -Ss f77lib "-L`gcc -print-search-dirs|grep ^install:|awk '{print $2}'` -lgfortran -lgcc_s -lpthread" -Ss pmake '/usr/bin/make' -Ss flapack /usr/lib/liblapack_pic.a -A 26 -V 1 -v 2 -t 2
(which is supposed to be the minimal version of Atlas with out any CPU optimization)

Atlas 3.10.0 fails to build with the error:
-------------
make[5]: entrant dans le répertoire « /home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/tune/blas/gemm »
/usr/bin/gcc-4.7 -o xmmgen_sse /home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/../..//tune/blas/gemm/mmgen_sse.c -lm
/usr/bin/gcc-4.7 -c -DL2SIZE=4194304 -I/home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/include -I/home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/../..//include -I/home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/../..//include/contrib -DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_Linux -DATL_ARCH_Corei2 -DATL_CPUMHZ=2327 -DATL_GAS_x8632 -m32 -DWALL -DATL_NCPU=2 -fomit-frame-pointer -mfpmath=sse -O2 -fno-schedule-insns2 -Wa,--noexecstack -fPIC -m32 /home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/../..//tune/blas/gemm/mmksearch_sse.c
/home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/../..//tune/blas/gemm/mmksearch_sse.c:1:0: warning: SSE instruction set disabled, using 387 arithmetics [enabled by default]
mkdir SSEGENOUTDIR
/usr/bin/gcc-4.7 -DL2SIZE=4194304 -I/home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/include -I/home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/../..//include -I/home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/../..//include/contrib -DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_Linux -DATL_ARCH_Corei2 -DATL_CPUMHZ=2327 -DATL_GAS_x8632 -m32 -DWALL -DATL_NCPU=2 -fomit-frame-pointer -mfpmath=sse -O2 -fno-schedule-insns2 -Wa,--noexecstack -fPIC -m32 -o xmmksearch_sse mmksearch_sse.o
./xmmksearch_sse -p d
65 of /home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/../..//include/atlas_mmtesttime.h: FAILED COMMAND : make mmutstcase mmrout=dgenmm_sse.c pre=d M=48 N=48 K=48 mb=48 nb=48 kb=48 lda=48 ldb=48 ldc=100 > /dev/null 2>&1

genstr was = 'make dgensseK mu=1 nu=1 ku=1 MB=48 NB=48, KB=48 dssegenf=dgenmm_sse.c lda=48 ldb=48 ldc=0 ssegenflags="" > /dev/null 2>&1
'
Default compiler & flags do not support SSEGEN!!

make[5]: quittant le répertoire « /home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/tune/blas/gemm »
EXTERNAL SEARCH FAILED: res/dMMKSSE.sumSUCCESSFUL FINISH FOR ./xummsearch

TESTING PRE='d' FILE='ATL_mm4x4x2US.c', NB=60 . . . PASSED!
0. NB= 60, rout= ATL_mm4x4x2US.c, MFLOP=1671.32
TESTING PRE='d' FILE='ATL_mm4x4x2_1_pref.c', NB=60 . . . PASSED!
1. NB= 60, rout= ATL_mm4x4x2_1_pref.c, MFLOP=1721.55
2. NB= 60, rout= ATL_mm4x4x2_1_prefCU.c, MFLOP=0.00
TESTING PRE='d' FILE='ATL_mm4x4x8_bpfabc.c', NB=56 . . . PASSED!
3. NB= 56, rout= ATL_mm4x4x8_bpfabc.c, MFLOP=1908.22
4. NB= 48, rout= ATL_mm4x3x8p.c, MFLOP=1666.60
5. NB= 60, rout= ATL_mm4x3x2p.c, MFLOP=1762.68
TESTING PRE='d' FILE='ATL_mm4x4x8p.c', NB=56 . . . PASSED!
6. NB= 56, rout= ATL_mm4x4x8p.c, MFLOP=1942.89
7. NB= 56, rout= ATL_mm4x4x56_av.c, MFLOP=-1.00
8. NB= 56, rout= ATL_mm4x4x8_av.c, MFLOP=-1.00
9. NB= 60, rout= ATL_mm4x4x4_av.c, MFLOP=-1.00
10. NB= 60, rout= ATL_mm4x4x4_av.c, MFLOP=0.00
11. NB= 48, rout= ATL_mm6x8x8_1p.c, MFLOP=1510.35
12. NB= 60, rout= ATL_mm6x8x8_1p.c, MFLOP=0.00
TESTING PRE='d' FILE='ATL_dmm_julian_gas_30.c', NB=30 . . . PASSED!
13. NB= 30, rout= ATL_dmm_julian_gas_30.c, MFLOP=2198.09
TESTING PRE='d' FILE='ATL_dmm2x1x40_5pABC.c', NB=40 . . . PASSED!
14. NB= 40, rout= ATL_dmm2x1x40_5pABC.c, MFLOP=2259.34
15. NB= 60, rout= ATL_dmm6x1x30_x87.c, MFLOP=-1.00
17. NB= 56, rout= ATL_mm8x8x2.c, MFLOP=1457.23
18. NB= 48, rout= ATL_dmm4x4x16_hppa.c, MFLOP=-1.00
19. NB= 60, rout= ATL_dmm4x1x90_x87.c, MFLOP=2223.36
20. NB= 56, rout= ATL_dmm8x1x120_sse2.c, MFLOP=-1.00
21. NB= 48, rout= ATL_mm6x8x8_1p.c, MFLOP=1526.50
22. NB= 60, rout= ATL_mm6x8x8_1p.c, MFLOP=0.00
24. NB= 56, rout= ATL_mm8x8x2.c, MFLOP=1443.61
25. NB= 60, rout= ATL_dmm4x4x80_ppc.c, MFLOP=-1.00
BEST CASE IS ID=317, NB=40, MFLOP=2259.34
BEST BLOCKING FACTOR FOR CASE 317: 40

BEST USER CASE 317, NB=40: 2259.34 MFLOP

BEGIN BASIC MATMUL KERNEL TESTS:
Kernel CASES/ATL_dmm2x1x40_5pABC.c(317) passes basic tests
DONE BASIC KERNEL TESTS.

BEST OF USER CASES AND EXTERNAL SEARCHES:
ID=317 ROUT='CASES/ATL_dmm2x1x40_5pABC.c' AUTH='R. Clint Whaley' TA='T' TB='N' \ MULADD=0 PREF=0 LAT=4 NFTCH=0 IFTCH=0 FFTCH=0 KBMAX=0 KBMIN=0 KU=40 \ NU=1 MU=2 MB=40 NB=40 KB=40 L14NB=0 PFBCOLS=0 PFABLK=0 PFACOLS=0 STFLOAT=0 \ LDFLOAT=0 AOUTER=0 LDAB=1 BETAN1=0 LDISKB=1 KUISKB=0 KRUNTIME=0 NRUNTIME=1 \ MRUNTIME=1 LDCTOP=0 X87=0 \ MFLOP=2.259340e+03,2.322837e+03 CFLAGS='-x assembler-with-cpp' \ COMP='gcc -Wa,--noexecstack -fPIC -m32'
make[4]: quittant le répertoire « /home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/tune/blas/gemm »
xmmsearch: /home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/../..//include/atlas_genparse.h:166: GetDoubleArr: Assertion `sscanf(str, "%le", d+i) == 1' failed.

INVOKING GMMSEARCH.C, PRE='d'

DONE GMMSEARCH.C, PRE='d'

RUNNING EXTERNAL SEARCHES, PRE='d', NB=60:
make[3]: *** [res/dMMRES.sum] Abandon
make[3]: quittant le répertoire « /home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/tune/blas/gemm »
make[2]: *** [/home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/tune/blas/gemm/res/dMMRES.sum] Erreur 2
make[2]: quittant le répertoire « /home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/bin »
xatlas_build: /home/sylvestre/dev/debian/debian-science/packages/atlas/branches/atlas-3.10.0/build/foo/../..//bin/atlas_install.c:706: GoToTown: Assertion `mmp' failed.

BEGIN STAGE 1-0-0: SYSTEM PROBE/AUX COMPILE at 17:52

Level 1 cache size calculated as 32KB
dFPU: Combined muladd instruction with 3 cycle pipeline.
Apparent number of registers : 8
Register-register performance=4394.22MFLOPS
sFPU: Combined muladd instruction with 3 cycle pipeline.
Apparent number of registers : 16
Register-register performance=4403.99MFLOPS
DONE STAGE 1-0-0 at 18:11

BEGIN STAGE 2-0-0: TYPE-DEPENDENT TUNING at 18:11

BEGIN STAGE 2-1-0: TUNING PREC='d' (precision 1 of 4) at 18:11

BEGIN STAGE 2-1-1: BUILDING BLOCK MATMUL TUNE at 18:11
make -f Makefile INSTALL_LOG/dMMRES.sum pre=d 2>&1 | ./xatlas_tee INSTALL_LOG/dMMSEARCH.LOG
-------------

Discussion

    • assigned_to: nobody --> rwhaley
    • labels: 362662 -->
     
  • Error log

     
    • milestone: --> both_stable_and_developer
    • labels: --> Problems during config
    • status: open --> closed-invalid
     
  • Looks like you have passed the wrong architecture flags to configure. See pages 14-15 of the install guide.

     
  • Could you be more specific? This problem occurs on Gentoo, see
    http://forums.gentoo.org/viewtopic-p-7377526.html
    and https://bugs.gentoo.org/show_bug.cgi?id=490032

    I don't know how to solve this, but maybe you can comment.

    The build flags used are (stored in ATLAS_shared/myconf.out)
    --prefix=/mnt/data/tmp/portage/sci-libs/atlas-3.10.1-r1/image//usr --libdir=/mnt/data/tmp/portage/sci-libs/atlas-3.10.1-r1/image//usr/lib64 --incdir=/mnt/data/tmp/portage/sci-libs/atlas-3.10.1-r1/image//usr/include --cc=x86_64-pc-linux-gnu-gcc -D c -DWALL -C acg 'gcc' -F acg '-Os -pipe -g' -Ss pmake '$(MAKE) -j8' -t -1 -Si omp 0 -b 64 -C if '/usr/bin/x86_64-pc-linux-gnu-gfortran' -F if '-O2 -pipe' -Si latune 1 --with-netlib-lapack-tarfile=/mnt/data/tmp/portage/sci-libs/atlas-3.10.1-r1/distdir/lapack-3.4.2.tgz -Fa alg -fPIC

     
  • adding the flag -maxv solves the issue (see above link to the bug for a discussion)