Skip to content
This repository has been archived by the owner on Sep 19, 2019. It is now read-only.

Investigate failed test on JURECA #38

Closed
agzimmerman opened this issue Aug 9, 2017 · 3 comments
Closed

Investigate failed test on JURECA #38

agzimmerman opened this issue Aug 9, 2017 · 3 comments
Milestone

Comments

@agzimmerman
Copy link
Member

Benedikt built fenics-2017.1.0 (the latest stable version) and installed it in my user home directory; and all but one test passes!

The failed test is "test_ghia1982_steady_lid_driven_cavity_linearized":

bash-4.2$ python -m pytest --cache-show
================================================ test session starts ================================================
platform linux2 -- Python 2.7.13, pytest-3.2.0, py-1.4.34, pluggy-0.4.0
rootdir: /homeb/paj1726/paj17261/fenics/phaseflow-fenics, inifile:
cachedir: /homeb/paj1726/paj17261/fenics/phaseflow-fenics/.cache
--------------------------------------------------- cache values ----------------------------------------------------
cache/lastfailed contains:
{u'tests/test_ghia1982.py::test_ghia1982_steady_lid_driven_cavity_linearized': True}

The other two steady tests pass, and the adaptive space case also uses the linearized form. It is peculiar that this one test fails. Before closing this issue, I should figure out what the relevant differences are between the Docker image's build and our build on JURECA. But for now, I am going to set this aside to focus on writing the proposal, since we have the functionality we need.

@agzimmerman agzimmerman added this to the Sustainable milestone Aug 9, 2017
@agzimmerman
Copy link
Member Author

agzimmerman commented Nov 13, 2017

Much has changed and much progress has been made with the JURECA implementation; though again we are at a point where one test is failing:

Entering

module load  Intel/2018.0.128-GCC-5.4.0  ParaStationMPI/5.2.0-1

module load DOLFIN/2017.1.0-Python-3.6.3

module load CMake

cd ~/fenics/phaseflow-fenics/

HDF5_DISABLE_VERSION_CHECK=1 python3 -m pytest -k "(not nightly) and (not pcm)"

returns

======================================================== test session starts =========================================================
platform linux -- Python 3.6.3, pytest-3.2.3, py-1.4.34, pluggy-0.4.0
rootdir: /homeb/paj1726/paj17261/fenics/phaseflow-fenics, inifile:
plugins: dependency-0.2
collected 13 items

tests/test_1d_units.py ..
tests/test_ghia1982.py .
tests/test_stefan_problem_1d.py .
tests/test_wang2010.py ..
tests/test_xdmf_context_units.py ..

========================================================= 5 tests deselected =========================================================
============================================== 8 passed, 5 deselected in 92.07 seconds ===============================================

Here I used the "not pcm" flag in the pytest line, because otherwise my PCM (phase-change material) test runs forever until aborting, which unfortunately also kills the pytest execution. The test succeeds on my laptop and on Travis-CI.

I have to figure out why the most important test is failing, but it looks like we're on the right track.

@agzimmerman agzimmerman modified the milestones: Sustainable, HPC Nov 13, 2017
@agzimmerman
Copy link
Member Author

Damian (JURECA support) is helping me debug this issue.

@agzimmerman
Copy link
Member Author

Damian dug into the build procedure for the FEniCS Docker container and found an important difference that indeed caused the problem. The FEniCS installation on JURECA uses icc and MKL instead of gcc and OpenBLAS (which the FEniCS container uses). Damian re-built FEniCS with gcc and OpenBLAS, and all of my tests now pass.

This is not the first time I've encountered finite element software that only works with gcc. deal.II has the same limitation.

For the record, here's how I successfully ran the tests:

export CC=gcc
export CXX=g++
module use /usr/local/software/jureca/OtherStages
ml Stages/Devel-2017b
ml GCC ParaStationMPI DOLFIN
ml h5py
module load CMake
cd fenics/phaseflow-fenics
python3 -m pytest -v -s -k "not nightly"

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant