Menu

#202 Make check issues and no f77blas.a

Developer
closed-fixed
5
2012-04-05
2012-03-24
Anonymous
No

This seems to be a hybrid of two support tickets, but ATLAS builds and there is no libf77blas.a. Despite being configured with --shared the shared libraries are not built either. This is a different (older) machine than the one I usually use.

Attached is the error report.

Discussion

1 2 > >> (Page 1 of 2)
  • R. Clint Whaley

    R. Clint Whaley - 2012-03-24
    • assigned_to: nobody --> rwhaley
    • milestone: --> 148063
    • status: open --> open-works-for-me
     
  • R. Clint Whaley

    R. Clint Whaley - 2012-03-24

    Hi,

    You can see the problem in your error report at bin/INSTALL_LOG/LIBBUILD.LOG:
    In file included from /home/melvin/ATLAS/build/..//src/blas/level3/kernel/ATL_trsmKL_rk4.c:489:0:
    /usr/lib/gcc/i686-redhat-linux/4.6.3/include/xmmintrin.h:32:3: error: #error "SSE instruction set not enabled"

    I'm guessing you changed the default compiler flags from using SSE to using the x87 unit, which will drastically hurt your performance. Why did you do this?

    If you use the standard compiler flags, things should build without error. If you want to build an all-x87 build (and run horribly slowly), you will also need to add -V 1 to your configure flag to tell ATLAS not to attempt to use SSE.

    Let me know,
    Clint

     
  • Anonymous

    Anonymous - 2012-03-24

    I just just used ./configure --shared --with-netlib-lapack-tarfile=../lapack-3.3.1.tgz. Do you think that this would have turned off the SSE instruction set?

    It was painfully slow. How can I check to see if it picked up the x87 stuff?

     
  • Anonymous

    Anonymous - 2012-03-24

    I am rebuilding, but am not optimistic with references to 387 like this:
    BEST OF USER CASES AND EXTERNAL SEARCHES:
    ID=219 ROUT='CASES/ATL_smm6x1x120_sse.c' AUTH='R. Clint Whaley' TA='T' TB='N' \
    MULADD=1 PREF=0 LAT=1 NFTCH=0 IFTCH=0 FFTCH=0 KBMAX=0 KBMIN=0 KU=120 \
    NU=1 MU=6 MB=120 NB=120 KB=120 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=0 LDCTOP=0 X87=0 \
    MFLOP=7.904640e+03,8.313566e+03 CFLAGS='-x assembler-with-cpp' \
    COMP='/usr/lib/ccache/i686-redhat-linux-gcc -fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -m32 -fPIC -m32 -fPIC'

     
  • Anonymous

    Anonymous - 2012-03-24

    Also got some entries like this:
    OP DIST MU NU MFLOP
    == ==== ==== ==== ============
    Y DEF 12 1 932411300000000000.00
    Y 64 12 1 932411300000000000.00
    Y 256 12 1 932411300000000000.00
    Y 192 12 1 932411300000000000.00
    Y 0 12 1 932411300000000000.00
    DEFAULT imf=3 YDISTANCE IS BEST (932411300000000000.00)

    That's too many MFLOPS.

     
  • Anonymous

    Anonymous - 2012-03-25

    There appear to be some syntax errors from the file that you mentioned in the comment:

    /home/melvin/ATLAS/build/..//src/blas/level3/kernel/ATL_trsmKL_rk4.c:776:21: error: expected ‘;’ before ‘_mm_shuffle_epi32’

    This was with 3.9.70. I will now try with the new 3.9.71.

     
  • Anonymous

    Anonymous - 2012-03-25

    Started with 3.9.71, but stopped when I saw signs of 387.

    Here are a few lines from configure:
    Clock rate configured as 2400Mhz

    Maximum number of threads configured as 2
    Parallel make command configured as '$(MAKE) -j 2'
    Cannot detect CPU throttling.
    gcc -I/home/melvin/ATLAS/build/..//CONFIG/include -g -w -DATL_DYLIBS -o xisgcc /home/melvin/ATLAS/build/..//CONFIG/src/IsGcc.c atlconf_misc.o
    gcc -I/home/melvin/ATLAS/build/..//CONFIG/include -g -w -DATL_DYLIBS -c /home/melvin/ATLAS/build/..//CONFIG/src/probe_comp.c
    gcc -I/home/melvin/ATLAS/build/..//CONFIG/include -g -w -DATL_DYLIBS -o xprobe_comp probe_comp.o atlconf_misc.o
    rm -f config1.out
    make atlas_run atldir=/home/melvin/ATLAS/build exe=xprobe_comp args="-v 0 -o atlconf.txt -O 1 -A 28 -Si nof77 0 -b 64" \
    redir=config1.out

    In particular it seems that it cannot find an fortran compiler. The machine has gfortran on it. I added -b 64 to the parameters.

     
  • Anonymous

    Anonymous - 2012-03-25

    My bad. This meant that there is a f77 compiler.

     
  • Anonymous

    Anonymous - 2012-03-25

    Just finished this on 3.9.71 and still no luck. Here are the libraries produced:
    [melvin@dhcp-0-b-db-7a-91-f1 build]$ ls lib
    libatlas.a liblapack.a libptf77blas.a libtstatlas.a Make.inc
    libcblas.a libptcblas.a libptlapack.a Makefile
    [melvin@dhcp-0-b-db-7a-91-f1 build]$

    Make check fails with the following excerpt:
    /home/melvin/ATLAS/build/..//src/blas/level3/kernel/ATL_trsmKR_rk4.c:837:21: error: expected ‘;’ before ‘_mm_shuffle_epi32’
    /home/melvin/ATLAS/build/..//src/blas/level3/kernel/ATL_trsmKR_rk4.c:840:21: error: expected ‘;’ before ‘_mm_shuffle_epi32’
    make[6]: *** [ATL_strsmKR_rk4.o] Error 1
    make[6]: Leaving directory `/home/melvin/ATLAS/build/src/blas/level3/kernel'
    make[5]: *** [slib] Error 2
    make[5]: Leaving directory `/home/melvin/ATLAS/build/src/blas/level3/kernel'
    make[4]: *** [skern] Error 2
    make[4]: Leaving directory `/home/melvin/ATLAS/build/src/blas/level3'
    make[3]: *** [sl3lib] Error 2
    make[3]: Leaving directory `/home/melvin/ATLAS/build/bin'
    make[2]: *** [sanity_test] Error 2
    make[2]: Leaving directory `/home/melvin/ATLAS/build/bin'
    make[1]: *** [sanity_test] Error 2
    make[1]: Leaving directory `/home/melvin/ATLAS/build'
    make: *** [test] Error 2

     
  • R. Clint Whaley

    R. Clint Whaley - 2012-03-27

    OK, this is indeed a bug in the flags provided for this architecture. I have access to a machine, and am scoping a permanent fix.

    In the meantime, try adding -F al -msse3 to your configure, and see if things will work with that.

    Thanks,
    Clint

     
  • R. Clint Whaley

    R. Clint Whaley - 2012-03-27
    • milestone: 148063 -->
    • labels: 360151 -->
     
  • Anonymous

    Anonymous - 2012-03-27

    I gave it a shot with the new flags, it configured but didn't get very far into the build process. I got the following output:
    ERROR 621 DURING CACHESIZE SEARCH!!. CHECK INSTALL_LOG/Stage1.log FOR DETAILS.
    make[2]: Entering directory `/home/melvin/ATLAS/build/bin'
    cd /home/melvin/ATLAS/build ; make error_report
    make[3]: Entering directory `/home/melvin/ATLAS/build'
    make -f Make.top error_report
    make[4]: Entering directory `/home/melvin/ATLAS/build'
    uname -a 2>&1 >> bin/INSTALL_LOG/ERROR.LOG
    /usr/lib/ccache/i686-redhat-linux-gcc -v 2>&1 >> bin/INSTALL_LOG/ERROR.LOG
    Using built-in specs.
    COLLECT_GCC=/usr/bin/i686-redhat-linux-gcc
    COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-redhat-linux/4.6.3/lto-wrapper
    Target: i686-redhat-linux
    Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux
    Thread model: posix
    gcc version 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC)
    /usr/lib/ccache/i686-redhat-linux-gcc -V 2>&1 >> bin/INSTALL_LOG/ERROR.LOG
    i686-redhat-linux-gcc: error: unrecognized option ‘-V’
    i686-redhat-linux-gcc: fatal error: no input files
    compilation terminated.
    make[4]: [error_report] Error 4 (ignored)
    /usr/lib/ccache/i686-redhat-linux-gcc --version 2>&1 >> bin/INSTALL_LOG/ERROR.LOG
    tar cf error_P432SSE2.tar Make.inc bin/INSTALL_LOG/*
    gzip --best error_P432SSE2.tar
    mv error_P432SSE2.tar.gz error_P432SSE2.tgz
    make[4]: Leaving directory `/home/melvin/ATLAS/build'
    make[3]: Leaving directory `/home/melvin/ATLAS/build'
    make[2]: Leaving directory `/home/melvin/ATLAS/build/bin'
    Error report error_<ARCH>.tgz has been created in your top-level ATLAS
    directory. Be sure to include this file in any help request.
    cat: ../../CONFIG/error.txt: No such file or directory
    cat: ../../CONFIG/error.txt: No such file or directory
    make[1]: *** [build] Error 255
    make[1]: Leaving directory `/home/melvin/ATLAS/build'
    make: *** [build] Error 2

     
  • R. Clint Whaley

    R. Clint Whaley - 2012-03-27

    OK, my own install is still running, and has gotten quite a bit further. If it finishes, I'll post a new tarfile with archdefs and have you try that.

    Cheers,
    Clint

     
  • R. Clint Whaley

    R. Clint Whaley - 2012-03-30

    Hi,

    I have released 3.9.72. It installs fine on my P4E, and I've supplied architectural defaults for the 64-bit build. I believe this should fix the problem you are having. If so, please close this report as fixed. If the problem still persists, let me know!

    Thanks,
    Clint

     
  • R. Clint Whaley

    R. Clint Whaley - 2012-03-30
    • milestone: --> Developer
    • labels: --> Install problem
    • status: open-works-for-me --> open-fixed
     
  • Anonymous

    Anonymous - 2012-03-31

    OK, so it did build all of the libraries, but did not build the shared ones. Make check still fails with this error message.
    /home/melvin/ATLAS/build/lib/libtstatlas.a /home/melvin/ATLAS/build/lib/liblapack.a /home/melvin/ATLAS/build/lib/libcblas.a /home/melvin/ATLAS/build/lib/libf77blas.a \
    /home/melvin/ATLAS/build/lib/libatlas.a -lpthread -lm
    sqrtst.o: In function `qrtest':
    qrtst.c:(.text+0x7a5): undefined reference to `ATL_C2Fsormqr'
    sqrtst.o: In function `rqtest':
    qrtst.c:(.text+0xe7a): undefined reference to `ATL_C2Fsormrq'
    sqrtst.o: In function `lqtest':
    qrtst.c:(.text+0x1588): undefined reference to `ATL_C2Fsormlq'
    sqrtst.o: In function `qltest':
    qrtst.c:(.text+0x1c4c): undefined reference to `ATL_C2Fsormql'
    collect2: ld returned 1 exit status
    make[3]: *** [xsqrtst] Error 1
    make[3]: Leaving directory `/home/melvin/ATLAS/build/bin'
    make[2]: *** [sanity_test] Error 2
    make[2]: Leaving directory `/home/melvin/ATLAS/build/bin'
    make[1]: *** [sanity_test] Error 2
    make[1]: Leaving directory `/home/melvin/ATLAS/build'
    make: *** [test] Error 2

    There are some strange numbers during the build:
    OP PREF MU NU MFLOP
    == ==== ==== ==== ============
    X DEF 8 20 1934781000000000000.00
    X nta 8 20 1124488000000000000.00
    X t0 8 20 1124488000000000000.00
    X t1 8 20 792561000000000000.00
    X t2 8 20 792561000000000000.00

    OP PREF MU NU MFLOP
    == ==== ==== ==== ============
    Y DEF 8 20 1124488000000000000.00
    Y nta 8 20 792561000000000000.00
    Y t0 8 20 1124488000000000000.00
    Y t1 8 20 792561000000000000.00
    Y t2 8 20 1124488000000000000.00

    Also the 387 flags still show up:
    BEST MFLOP[4]=1124488000000000000.00 (41.88 percent improvement)
    cflags='-fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -msse2 -m32 -fPIC -DPFIY=prefetcht0'

    Should I upload a fresh error report?

     
  • Anonymous

    Anonymous - 2012-03-31

    The LAPACK library that was built does not contain cheev

     
  • R. Clint Whaley

    R. Clint Whaley - 2012-04-04
    • status: open-fixed --> closed-fixed
     
  • R. Clint Whaley

    R. Clint Whaley - 2012-04-04

    OK, this appears to be new problems, so I'm closing this one as fixed. Open up a new support request if my WAG doesn't fix the problem you are now having:

    If you want cheev in the library, then you need to build using the --with-netlib-lapack-tarfile= flag, and I recommend lapack 3.3.1, since 3.4 has some bugs.

    The flags are *supposed* to still have x87, it's just that we've added the -msse flags to fix the compilation bug you found.

    OK, closing this as fixed, open up a new support requests with new problems.

    Thanks!
    Clint

     
  • Anonymous

    Anonymous - 2012-04-04

    Yeah, it built OK, but did not build the shared libraries and strangely did not include the cheev lapack function though I included the configure flag. I'll try to rebuild and open up a new support case.

     
  • Anonymous

    Anonymous - 2012-04-04
    • status: closed-fixed --> open-fixed
     
1 2 > >> (Page 1 of 2)

Log in to post a comment.

MongoDB Logo MongoDB