JeffersonLab / qphix

QCD for Intel Xeon Phi and Xeon processors
http://jeffersonlab.github.io/qphix/
Other
13 stars 11 forks source link

Branch “tm_functor” does not compile on Travis CI #83

Open martin-ueding opened 7 years ago

martin-ueding commented 7 years ago

Somehow adding a few BLAS routines broke the build on Travis CI. Perhaps it is only a cache problem?

This is the issue, happening both for scalar and AVX build:

[ 33%] Building CXX object tests-gtest/CMakeFiles/tests_g.dir/a_imugamma5.cc.o

cd /home/travis/build/JeffersonLab/build/qphix/tests-gtest && /usr/bin/mpic++    -O2 -finline-limit=50000  -fopenmp --std=c++11 -Drestrict=__restrict__ -march=sandybridge  -fopenmp -I/home/travis/build/JeffersonLab/local/include -I/home/travis/build/JeffersonLab/local/qphix_AVX/include -I/home/travis/build/JeffersonLab/sources/qphix/include -I/home/travis/build/JeffersonLab/build/qphix/include -I/home/travis/build/JeffersonLab/sources/qphix/external    -O2 -finline-limit=50000 -fopenmp --std=c++11 -I/home/travis/build/JeffersonLab/local/include -I/home/travis/build/JeffersonLab/local/include/libxml2 -std=c++11 -o CMakeFiles/tests_g.dir/a_imugamma5.cc.o -c /home/travis/build/JeffersonLab/sources/qphix/tests-gtest/a_imugamma5.cc

In file included from /usr/lib/openmpi/include/mpi.h:253:0,

                 from /home/travis/build/JeffersonLab/sources/qphix/include/qphix/comm.h:10,

                 from /home/travis/build/JeffersonLab/sources/qphix/include/qphix/blas_new_c.h:4,

                 from /home/travis/build/JeffersonLab/sources/qphix/tests-gtest/a_imugamma5.cc:9:

/usr/lib/openmpi/include/mpi_portable_platform.h:374:34: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]

              _STRINGIFY(__GNUC__)"."_STRINGIFY(__GNUC_MINOR__)"."_STRINGIFY(__GNUC_PATCHLEVEL__)

                                  ^

/usr/lib/openmpi/include/mpi_portable_platform.h:374:63: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]

              _STRINGIFY(__GNUC__)"."_STRINGIFY(__GNUC_MINOR__)"."_STRINGIFY(__GNUC_PATCHLEVEL__)

                                                               ^

In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:33:0,

                 from /home/travis/build/JeffersonLab/local/qphix_AVX/include/qphix_codegen/decl_common.h:3,

                 from /home/travis/build/JeffersonLab/sources/qphix/include/qphix/geometry.h:6,

                 from /home/travis/build/JeffersonLab/sources/qphix/include/qphix/blas_new_c.h:3,

                 from /home/travis/build/JeffersonLab/sources/qphix/tests-gtest/a_imugamma5.cc:9:

/usr/lib/gcc/x86_64-linux-gnu/6/include/pmmintrin.h:49:17: error: ‘__m128’ does not name a type

 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))

                 ^~~~~~

It just does not make any sense! In /usr/lib/gcc/x86_64-linux-gnu/6/include/pmmintrin.h before any __m128 is used, there is #include <emmintrin.h>. There, it starts with #include <xmmintrin.h>. In that file, one first has a #include <mmintrin.h> which does not add anything of interest and then has the necessary typedef:

typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));

So by the time that __m128 is used in pmmintrin.h, it should already be defined.

I will have to try clearing the caches first, perhaps that already resolves the issue. Otherwise I am a bit clueless at this point.

kostrzewa commented 7 years ago

I get a segmentation fault after running apimugamma5Inverse. Maybe the compilation error here is an indication of something being amiss in the test.

martin-ueding commented 6 years ago

Bartek said it might load an old version of the compiler. I have now checked this, the mpic++ does select g++ in version 6.3, which is fine. And also the correct standard library is chosen. In the path to immintrin.h there is a 6, so this also looks fine:

In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:33:0,

                 from /home/travis/build/JeffersonLab/local/qphix_SCALAR/include/qphix_codegen/dslash_scalar_decl.h:3,

                 from /home/travis/build/JeffersonLab/local/qphix_SCALAR/include/qphix_codegen/dslash_generated.h:27,

                 from /home/travis/build/JeffersonLab/sources/qphix/include/qphix/dslash_body.h:10,

                 from /home/travis/build/JeffersonLab/sources/qphix/include/qphix/dslash_def.h:160,

                 from /home/travis/build/JeffersonLab/sources/qphix/include/qphix/qdp_packer.h:6,

                 from /home/travis/build/JeffersonLab/sources/qphix/tests-gtest/../tests/compare_qdp_spinors.h:5,

                 from /home/travis/build/JeffersonLab/sources/qphix/tests-gtest/a_imugamma5.cc:11:

/usr/lib/gcc/x86_64-linux-gnu/6/include/pmmintrin.h:49:17: error: ‘__m128’ does not name a type

 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))

                 ^~~~~~

So I don't get it 😠

Why doesn't this work, when it works on my laptop? And also this has worked before, the devel branch works just fine.

kostrzewa commented 6 years ago

What about all of this?

W: http://dl.hhvm.com/ubuntu/dists/trusty/InRelease: Signature by key 36AEF64D0207E7EEE352D4875A16E7281BE7A449 uses weak digest algorithm (SHA1)

W: Failed to fetch https://packagecloud.io/basho/riak/ubuntu/dists/trusty/InRelease  Failed to connect to packagecloud.io port 443: Connection timed out

W: Failed to fetch http://ppa.launchpad.net/chris-lea/redis-server/ubuntu/dists/trusty/InRelease  Could not connect to ppa.launchpad.net:80 (91.189.95.83), connection timed out

W: Failed to fetch http://ppa.launchpad.net/george-edison55/cmake-3.x/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

W: Failed to fetch https://packagecloud.io/computology/apt-backport/ubuntu/dists/trusty/InRelease  Failed to connect to packagecloud.io port 443: Connection timed out

W: Failed to fetch http://ppa.launchpad.net/couchdb/stable/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

W: Failed to fetch https://download.docker.com/linux/ubuntu/dists/trusty/InRelease  Failed to connect to download.docker.com port 443: Connection timed out

W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

W: Failed to fetch https://packagecloud.io/github/git-lfs/ubuntu/dists/trusty/InRelease  Failed to connect to packagecloud.io port 443: Connection timed out

W: Failed to fetch http://ppa.launchpad.net/hvr/ghc/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

W: Failed to fetch http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

W: Failed to fetch http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.2/InRelease  Could not connect to repo.mongodb.org:80 (52.84.2.133), connection timed out

W: Failed to fetch http://ppa.launchpad.net/openjdk-r/ppa/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

W: Failed to fetch http://ppa.launchpad.net/pollinate/ppa/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

W: Failed to fetch http://ppa.launchpad.net/builds/sphinxsearch-rel20/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

W: Failed to fetch http://ppa.launchpad.net/builds/sphinxsearch-rel21/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

W: Failed to fetch http://ppa.launchpad.net/builds/sphinxsearch-rel22/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

W: Failed to fetch http://ppa.launchpad.net/webupd8team/java/ubuntu/dists/trusty/InRelease  Unable to connect to ppa.launchpad.net:http:

?

kostrzewa commented 6 years ago
Linking CXX static library libgtest_all.a

-- The C compiler identification is GNU 4.8.4

[  5%] Built target gtest_all

-- The CXX compiler identification is GNU 4.8.4

-- Check for working C compiler: /usr/lib/ccache/gcc

-- Check for working C compiler: /usr/lib/ccache/gcc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Detecting C compile features

-- Detecting C compile features - done

-- Check for working CXX compiler: /usr/lib/ccache/g++

-- Check for working CXX compiler: /usr/lib/ccache/g++ -- works
kostrzewa commented 6 years ago

In particular, line 3549 of the failing compile: https://travis-ci.org/JeffersonLab/qphix/jobs/251959460#L3549