JeffersonLab / qphix

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

Travis-CI builds fail #107

Closed bjoo closed 6 years ago

bjoo commented 6 years ago

I tried to make a change in a branch to one of the performance tests, and found that the Travis-CI builds failed, with an issue running generate_files.py :

[100%] Generating function body source code: with generate_files.py scalar
  File "/home/travis/build/JeffersonLab/build/qphix/codegen/jinja/generate_files.py", line 124
    **template_param,
                    ^
SyntaxError: invalid syntax

Just to be sure, I started a build on the supposedly stable devel branch ( Travis-CI build: 330 ) and it failed with the same problem. I don't believe this was caused by C++ codes. Perhaps something is different with the Python setup? @martin-ueding could you please have a look?

kostrzewa commented 6 years ago

I've also had strange travis build failures related to immintrin.h and MPI headers. I can't really make sense of what's going on. I will only be able to really resume somewhat regular work on QPhiX at the end of next week.

kostrzewa commented 6 years ago

I've just observed the error that you're seeing on another machine (unrelated to travis). The python interpreter was python-2.6.x by mistake, rather than 3.x.

bjoo commented 6 years ago

Indeed. One thing we can do is specify the PYTHON_EXECUTABLE PYTHON_INCLUDE_DIR and PYTHON_LIBRARIES to use Python3 specifically. I need to do this both on my home machines at JLab and also at NERSC where first I need to set up the Anaconda Python. However, I thought that these settings are set at Travis. This still needs more work. However, I am at least feeling OK, that despite Travis, manually running the tests seems to work OK.

Best, B

On Oct 14, 2017, at 2:07 PM, Bartosz Kostrzewa notifications@github.com wrote:

I've just observed the error that you're seeing on another machine (unrelated to travis). The python interpreter was python-2.6.x by mistake, rather than 3.x.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.


Dr Balint Joo High Performance Computational Scientist Jefferson Lab 12000 Jefferson Ave, Suite 3, MS 12B2, Room F217, Newport News, VA 23606, USA Tel: +1-757-269-5339, Fax: +1-757-269-5427 email: bjoo@jlab.org

martin-ueding commented 6 years ago

Part of the problem seems to be that CMake calls the Python script with a certain interpreter, and there is a Shebang in the script that is ignored. So one has to choose which variant shall be used to find the interpreter.

My pull requests from two months ago were not merged, in there I have made a few changes to the build system. Since I do not want to re-fix things that I already did, I have now just merged all of those into the devel branch. It does not compile on Travis CI, so it cannot be made worse.

Then I will have a look at the build errors and try to fix them.

martin-ueding commented 6 years ago

The Python version used is 3.4, so that is okay. The particular issue is a trailing comma after a **kwargs. It seems that this is only allowed from Python 3.6, which is the version that I have on my machine and you perhaps have installed manually.

The fix is to remove that trailing comma (or use Python 3.6 on Travis CI). It now gets past the point where it had been stuck.

This issue seem to be caused by the maintainers of Travis CI, not by us. They have changed the software stacks a little bit, therefore we apparently got a slightly older Python version which did not allow this trailing comma. Since you never know how current the Python versions on HPC systems are, removing this comma is probably the better fix.

The immintrin.h errors are a different beast, those haunt us for months now and I still have not figured out where they come from. At least they only happen in this one branch, so in principle one could do a diff or a bisect and figure out when it failed. Perhaps one can also just take a look at the build history on Travis CI, that might be even easier.

So in conclusion: Nobody of us did anything wrong, and now it is fixed 👍 .