Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adolc tests are broken #14582

Closed
tjhei opened this issue Dec 18, 2022 · 5 comments · Fixed by #14617
Closed

adolc tests are broken #14582

tjhei opened this issue Dec 18, 2022 · 5 comments · Fixed by #14617

Comments

@tjhei
Copy link
Member

tjhei commented Dec 18, 2022

The MPI and serial Jenkins build shows several (all?) adolc tests failing with

An error occurred in line <1621> of file </jenkins/workspace/dealii-mpi_PR-14568/source/differentiation/ad/ad_drivers.cc> in function
    std::enable_if_t<(dealii::Differentiation::AD::ADNumberTraits<ADNumberType>::type_code == dealii::Differentiation::AD::NumberTypes::adolc_tapeless)> dealii::Differentiation::AD::internal::configure_tapeless_mode(unsigned int) [with ADNumberType = adtl::adouble; std::enable_if_t<(dealii::Differentiation::AD::ADNumberTraits<ADNumberType>::type_code == dealii::Differentiation::AD::NumberTypes::adolc_tapeless)> = void]
The violated condition was: 
    n_live_variables == 0

see #14568 and #14576
and https://ci.tjhei.info/job/dealii-mpi/job/PR-14568/1/testReport/junit/projectroot.tests.adolc.helper_scalar_coupled_3_components_01_2debug/mpirun=1/adolc_helper_scalar_coupled_3_components_01_2_mpirun_1_debug/

I don't know enough to understand what is going on here...

@tamiko
Copy link
Member

tamiko commented Dec 18, 2022

@tjhei Do you build adolc via candi? For reference, I have (system) AdolC enabled for Ubuntu 20.04 and 22.04: https://cdash.dealii.org/build/588 https://cdash.dealii.org/build/585 and I don't see such fallout :-|

@tamiko
Copy link
Member

tamiko commented Dec 18, 2022

@tjhei Can I try to reproduce with a docker image? :-)

@tjhei
Copy link
Member Author

tjhei commented Dec 18, 2022

Yes,candi: https://github.com/dealii/candi/blob/dealii-9.4/deal.II-toolchain/packages/adolc.package

Can I try to reproduce with a docker image? :-)
Sure, this should work:

image 'tjhei/candi:v9.4.1-r1-ubuntu20.04'

export TEST_TIME_LIMIT=1200
export NP=`grep -c ^processor /proc/cpuinfo`
mkdir -p /home/dealii/build
cd /home/dealii/build
cmake -G "Ninja" \
-D DEAL_II_CXX_FLAGS='-Werror' \
-D DEAL_II_CXX_FLAGS_DEBUG='-Og' \
-D DEAL_II_EARLY_DEPRECATIONS=ON \
-D CMAKE_BUILD_TYPE=Debug \
-D DEAL_II_WITH_ADOLC=OFF \
-D DEAL_II_WITH_MPI=OFF \
-D DEAL_II_UNITY_BUILD=ON \
$WORKSPACE/
time ninja -j 10 # 12 gives OOM
time ninja test # quicktests
time ninja setup_tests
time ctest --output-on-failure -j $NP --no-compress-output -T test

@jppelteret
Copy link
Member

This failure is triggered by the fact that we have the --enable-traceless_refcounting flag set here. IIRC this option is new to ADOL-C 2.7.2, and I think that most package managers to not activate it by default.

I tried to reproduce this error locally, but since I'm using the docker image I can't be sure of how ADOL-C is being built. I also had a look through the code and do not see anything obviously wrong. So I'll have build it externally to try to debug the issue.

What confuses me is that I am quite certain that I developed this code with the most conservative ADOL-C build options active. Anyway, I'll try to look into this over the holiday period.

@tjhei
Copy link
Member Author

tjhei commented Dec 25, 2022

Let me know if I can help somehow.

but since I'm using the docker image I can't be sure of how ADOL-C is being built

This is done using candi. Or what you do mean?

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

Successfully merging a pull request may close this issue.

3 participants