Assertion errors in make build ATLAS 3.10.1 Linux 64 GCC 4.7.3

  • MaBu

    MaBu - 2013-09-10

    I am trying to build ATLAS on my Arch Linux for 4 days now. I tried GCC 4.8.1, GCC 4.7.3. ATLAS 3.10.1, 3.10.10, 3.8.4, 3.11.11 but it always fails with the same assertion error at calculating timings:

    Read in L1 Cache size as = 32KB.
    make[5]: Entering directory `/tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build/tune/sysinfo'
    /usr/bin/gcc-4.7 -DL2SIZE=4194304 -I/tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build/include -I/tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build/..//include -I/tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build/..//include/contrib -DAdd_ -DF77_INTEGER=int -DStringSunStyle -DATL_OS_Linux -DATL_ARCH_Corei2 -DATL_CPUMHZ=3774 -DATL_AVX -DATL_SSE3 -DATL_SSE2 -DATL_SSE1 -DATL_USE64BITS -DATL_GAS_x8664 -m64 -DATL_FULL_LAPACK -DATL_NCPU=4 -fomit-frame-pointer -mfpmath=sse -O2 -fno-schedule-insns2 -fPIC -m64 -o xmasrch /tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build/..//tune/sysinfo/masrch.c
    ./xmasrch -p s -o res/sMULADD
    xmasrch: /tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build/..//tune/sysinfo/masrch.c:116: matime: Assertion `fscanf(fp, "%lf", &mflop[i])' failed.
    Finding how many mflops required to get .025 second timings:
    make[5]: *** [RunMADef] Aborted (core dumped)
    make[5]: Leaving directory `/tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build/tune/sysinfo'
    xsyssum: /tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build/..//tune/sysinfo/GetSysSum.c:92: getfpinfo: Assertion `system(ln) == 0' failed.
    make[4]: *** [/tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build/include/atlas_ssysinfo.h] Aborted (core dumped)
    make[4]: Leaving directory `/tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build/tune/sysinfo'

    stmp file which I think is read in masrch.c at line 116 is:


    Files which are created at these step are here.

    I compile ATLAS on Arch linux like that:
    ../configure --prefix=/usr/ -b64 -Fa alg -fPIC \ --with-netlib-lapack-tarfile="lapack-3.4.2.tgz"

    with this PKGBUILD (sequence of steps which are made to compile packages)

    My CFLAGS (which are default in distribution) are:
    CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
    CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"

    Full output Which shows a lot more assertion errors.

    I turned of cpu throttling with this command: cpupower frequency-set -r -g performance
    Full error logs

    I had successfully installed Atlas lapack 3.10.0 last year on the same machine only 32 bit. I switched to 64 bit on friday.

    Any help would be appreciated.

    • MaBu

      MaBu - 2013-09-17

      I have the same error on my other computer:
      Arch Linux AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ and 32 bit With gcc 4.8.

      This computer is Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz and 64 bit

      And It seems I'm not alone:

      Can someone please tell me what should be in build/tune/sysinfo/res/sMULADD file?

      File which is created with these ./xmasrch -p s -o res/sMULADD

  • MaBu

    MaBu - 2013-09-19

    Atlas compiles with GCC 4.7 if I configure it with -D c -DWALL in addition to other settings.
    I also booted with intel_pstate=disable because processor frequency didn't stay at 3.4 Ghz on performance governor if intel_pstate was configuring Frequency.

    Make time:

    Reference clock rate=3292Mhz, new rate=3401Mhz
    Refrenc : % of clock rate achieved by reference install
    Present : % of clock rate achieved by present ATLAS install

                    single precision                  double precision
            ********************************   *******************************
                  real           complex           real           complex
            ---------------  ---------------  ---------------  ---------------

    Benchmark Refrenc Present Refrenc Present Refrenc Present Refrenc Present
    ========= ======= ======= ======= ======= ======= ======= ======= =======
    kSelMM 1289.9 1455.8 1188.7 1289.8 686.7 774.9 647.4 711.3
    kGenMM 198.2 217.3 198.5 215.5 193.9 200.4 196.0 213.8
    kMM_NT 193.7 208.9 195.2 214.1 184.2 200.5 188.5 211.0
    kMM_TN 198.5 215.9 197.9 216.3 189.8 207.1 189.5 208.8
    BIG_MM 1213.8 1314.9 1241.3 1341.2 652.0 708.6 661.4 716.8
    kMV_N 224.3 248.9 438.8 471.2 115.9 120.7 205.8 220.4
    kMV_T 224.6 235.8 460.3 477.9 123.2 128.5 211.3 228.9
    kGER 148.3 158.8 290.2 312.7 73.3 76.8 144.3 155.0
    make[1]: Leaving directory `/tmp1/yaourt-tmp-mabu/aur-atlas-lapack/src/ATLAS/build'

  • Volker Braun

    Volker Braun - 2013-10-29

    I asked for a better investigation on sage-devel and this bug seems to be caused by improper parsing of tuning output. Erik Massop replied (

    I have a similar error. The problem for me seems to be that
    'fprintf(fpout, "%.e\n", t0);' of line 91 of
    atlas-3.10.1.p6/src/ATLAS/tune/sysinfo/matime.c outputs "0e+00". Scanf
    then only reads "0" instead of the full line "0e+00". Consequently the
    next value cannot be read correctly. (Interestingly scanf does read all of
    "1e+00" and "0.0e+00".)

    Work-around might be to read line by line and use sscanf instead of scanf.

    Last edit: Volker Braun 2013-10-29

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks