evaleev / libint

Libint: high-performance library for computing Gaussian integrals in quantum mechanics
Other
225 stars 95 forks source link

Failed check #188

Closed mboisson closed 2 years ago

mboisson commented 4 years ago

When compiling with GCC 9 for avx2, we are facing the following tiny difference :

make[1]: Entering directory '/tmp/ebuser/avx2/Libint/2.6.0/GCC-9.3.0-lmax-6-cp2k/libint-2.6.0/libint-2.6.0/fortran'
g++ -E -DHAVE_CONFIG_H -D__COMPILING_LIBINT2=1 -D__COMPILING_LIBINT2=1 -I../include -I..//include -I/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/python/2.7.18/include -I/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/eigen/3.3.7/include -I/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/gcc9/boost/1.72.0/include  -  O2 -ftree-vectorize -march=core-avx2 -fno-math-errno -fPIC -std=c++11   ../include/libint2.h > ../include/libint2.h.i
python c_to_f.py ../include/libint2.h.i libint2_types_f.h Libint_t
grep '^#' ../include/libint2_types.h | grep -v '#include' > fortran_incldefs.h
FC libint_f.o
FC fortran_example.o
/bin/sh   ../libtool --quiet --mode=link --tag=CXX      g++ -O2 -ftree-vectorize -march=core-avx2 -fno-math-errno -fPIC -std=c++11   -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/python/2.7.18/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/gcc9/boost/1.72.0/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/  Core/gcccore/9.3.0/lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/lib -L../lib -lint2 -lm -lm -lpthread -lgfortran -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/python/2.7.18/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/gcc9/boost/1.72.0/lib -L/cvmfs/soft.computecanada.ca/easybuild/ software/2020/Core/gcccore/9.3.0/lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/libffi/3.3/lib64/../lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/libffi/3.3/lib/../lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/   lib/gcc/x86_64-pc-linux-gnu/9.3.0 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib64 -L/cvmfs/soft.computecanada.ca/gentoo/2020/lib/../lib64 -L/cvmfs/soft.computecanada.ca/gentoo/2020/usr/lib/../lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/libffi/3.3/lib64 -L/cvmfs/  soft.computecanada.ca/easybuild/software/2020/Core/libffi/3.3/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../.. -L/cvmfs/soft.computecanada.ca/gentoo/2020/lib -L/cvmfs/soft.computecanada.ca/gentoo/2020/usr/lib -lgfortran -lm -lpthread -lquadmath -o fortran_example fortran_example.o libint_f.oCXX test.o
CXX test-eri.o
/bin/sh   ../libtool --quiet --mode=link --tag=CXX      g++ -O2 -ftree-vectorize -march=core-avx2 -fno-math-errno -fPIC -std=c++11   -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/python/2.7.18/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/gcc9/boost/1.72.0/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/  Core/gcccore/9.3.0/lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/lib -L../lib -lint2 -lm -lm -lpthread -lgfortran -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/python/2.7.18/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/gcc9/boost/1.72.0/lib -L/cvmfs/soft.computecanada.ca/easybuild/ software/2020/Core/gcccore/9.3.0/lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/libffi/3.3/lib64/../lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/libffi/3.3/lib/../lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/   lib/gcc/x86_64-pc-linux-gnu/9.3.0 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../lib64 -L/cvmfs/soft.computecanada.ca/gentoo/2020/lib/../lib64 -L/cvmfs/soft.computecanada.ca/gentoo/2020/usr/lib/../lib64 -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/libffi/3.3/lib64 -L/cvmfs/  soft.computecanada.ca/easybuild/software/2020/Core/libffi/3.3/lib -L/cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../.. -L/cvmfs/soft.computecanada.ca/gentoo/2020/lib -L/cvmfs/soft.computecanada.ca/gentoo/2020/usr/lib -lgfortran -lm -lpthread -lquadmath -o test test.o test-eri.o libint_f.o
./test
Filters:
Elem 3 di= 0, : C = -0.60074474782891252, Fortran = -0.60074474782891285, abs_error = 3.3306690738754696e-16
Elem 9 di= 0, : C = 0.34360126635810601, Fortran = 0.34360126635810612, abs_error = 1.1102230246251565e-16
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lt-test is a Catch v2.7.1 host application.
Run with -? for options
-------------------------------------------------------------------------------
Fortran ERI
-------------------------------------------------------------------------------
test-eri.cc:480
...............................................................................
test-eri.cc:514: FAILED:
  REQUIRE( test_eri_c_f(contrdepth, am1, c1, alpha1, A, am2, c2, alpha2, B, am3, c3, alpha3, C, am4, c4, alpha4, D, deriv_order, threshold) )
with expansion:
  false
===============================================================================
test cases: 1 | 1 failed
assertions: 1 | 1 failed
make[1]: *** [Makefile:47: check_test] Error 1
make[1]: Leaving directory '/tmp/ebuser/avx2/Libint/2.6.0/GCC-9.3.0-lmax-6-cp2k/libint-2.6.0/libint-2.6.0/fortran'
make: *** [Makefile:38: fortran] Error 1

This is at the step of make install. Here are the commands that are run :

== 2020-08-17 19:06:54,489 run.py:222 INFO running cmd: tar xzf /cvmfs/soft.computecanada.ca/easybuild/sources/l/Libint/v2.6.0.tar.gz
== 2020-08-17 19:06:54,935 run.py:222 INFO running cmd: patch -b -p1 -i /cvmfs/soft.computecanada.ca/easybuild/easyconfigs/l/Libint/Libint-2.6.0_fix-LIBINT2-MAX-AM-default1.patch
== 2020-08-17 19:06:57,519 run.py:222 INFO running cmd: ./autogen.sh
== 2020-08-17 19:07:02,816 run.py:222 INFO running cmd:  ./configure  --enable-shared  --with-pic  --with-cxxgen-optflags='-O2 -ftree-vectorize -march=core-avx2 -fno-math-errno -fPIC -std=c++11'  --enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-max-am=6 --with-eri-max-am=6,5 --with-eri2-max-am=8,7 --with-eri3-max-am=8,7 --enable-generic-code --disable-unrolling
== 2020-08-17 19:07:32,751 run.py:222 INFO running cmd: make export
== 2020-08-17 21:32:15,447 run.py:222 INFO running cmd: tar xzf libint-2.6.0.tgz
== 2020-08-17 21:32:20,112 run.py:222 INFO running cmd: /cvmfs/soft.computecanada.ca/easybuild/sources/generic/eb_v4.2.2/ConfigureMake/config.guess
== 2020-08-17 21:32:20,215 run.py:538 INFO cmd "/cvmfs/soft.computecanada.ca/easybuild/sources/generic/eb_v4.2.2/ConfigureMake/config.guess" exited with exit code 0 and output:
== 2020-08-17 21:32:20,216 run.py:222 INFO running cmd:  ./configure --prefix=/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/gcc9/libint/2.6.0  --build=x86_64-pc-linux-gnu  --host=x86_64-pc-linux-gnu  --enable-shared  --with-pic  --with-cxxgen-optflags='-O2 -ftree-vectorize -march=core-avx2 -fno-math-errno -fPIC -std=c++11'  --enable-fortran
== 2020-08-17 21:32:58,602 run.py:538 INFO cmd " ./configure --prefix=/cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/gcc9/libint/2.6.0  --build=x86_64-pc-linux-gnu  --host=x86_64-pc-linux-gnu  --enable-shared  --with-pic  --with-cxxgen-optflags='-O2 -ftree-vectorize -march=core-avx2 -fno-math-errno -fPIC -std=c++11'  --enable-fortran " exited with exit code 0 and output:
== 2020-08-17 21:32:58,605 run.py:222 INFO running cmd:  make -j 8
== 2020-08-17 22:44:35,874 run.py:538 INFO cmd " make -j 8 " exited with exit code 0 and output:
== 2020-08-17 22:44:35,920 run.py:222 INFO running cmd:  make check
== 2020-08-17 22:53:25,876 run.py:538 INFO cmd " make check " exited with exit code 0 and output:
== 2020-08-17 22:53:26,269 run.py:222 INFO running cmd:  make install
mboisson commented 4 years ago

How do I either make this test pass, or disable it ? Is it important ?

evaleev commented 4 years ago

@mboisson these look like benign issues (overly strict comparison) ... please ignore for now, I'll fix later

mboisson commented 4 years ago

Well, the installation fails without them. How do I disable those tests in make install so that it does not fail ? I can't just ignore failed installation. I need to patch it so it doesn't fail, or make it so the tests aren't run.

What's strange is that "make check" is not what is running this actual test (it succeeds), and it is instead run in "make install", which makes no sense to me.

boegel commented 3 years ago

@evaleev Any updates on this?

mboisson commented 3 years ago

@boegel did you work out a patch to fix this broken code yet ?

boegel commented 3 years ago

@mboisson We just disabled that test, see https://github.com/easybuilders/easybuild-easyconfigs/pull/11345