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

Upgrade docker containers #1074

Merged
merged 28 commits into from
Mar 14, 2024

Conversation

chapman39
Copy link
Contributor

@chapman39 chapman39 commented Feb 2, 2024

  • Create images from radiuss-docker instead of axom-docker
  • Upgrade compilers to clang15 and gcc13
  • Upgrade OS to ubuntu22
  • Update Doxyfile.in to 1.9.1

@chapman39 chapman39 self-assigned this Feb 2, 2024
@chapman39 chapman39 added the build Build system label Feb 2, 2024
@chapman39 chapman39 changed the title Move docker upgrade to new branch WIP: Upgrade docker containers Feb 2, 2024
@chapman39 chapman39 mentioned this pull request Feb 2, 2024
@codecov-commenter
Copy link

codecov-commenter commented Feb 2, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 86.91%. Comparing base (7672d33) to head (c9abf44).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1074      +/-   ##
===========================================
- Coverage    88.85%   86.91%   -1.94%     
===========================================
  Files          155      159       +4     
  Lines        12581    15412    +2831     
===========================================
+ Hits         11179    13396    +2217     
- Misses        1402     2016     +614     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@chapman39 chapman39 mentioned this pull request Feb 8, 2024
@chapman39 chapman39 mentioned this pull request Feb 15, 2024
@chapman39
Copy link
Contributor Author

chapman39 commented Feb 27, 2024

@samuelpmish @white238 @jamiebramwell I'm not sure if anyone's familiar with this error, but I'm having trouble how to approach it

[ 17%] Linking CXX static library ../../../../lib/libserac_contact.a
cd /home/serac/serac/_serac_build_and_test_2024_02_26_16_51_55/build-gcc@13.1.0/src/serac/physics/contact && /usr/local/bin/cmake -P CMakeFiles/serac_contact.dir/cmake_clean_target.cmake
cd /home/serac/serac/_serac_build_and_test_2024_02_26_16_51_55/build-gcc@13.1.0/src/serac/physics/contact && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/serac_contact.dir/link.txt --verbose=1
/usr/bin/ar qc ../../../../lib/libserac_contact.a CMakeFiles/serac_contact.dir/contact_data.cpp.o CMakeFiles/serac_contact.dir/contact_interaction.cpp.o
/usr/bin/ranlib ../../../../lib/libserac_contact.a
make[2]: Leaving directory '/home/serac/serac/_serac_build_and_test_2024_02_26_16_51_55/build-gcc@13.1.0'
[ 17%] Built target serac_contact
In file included from /usr/include/c++/13/bits/stl_uninitialized.h:63,
                 from /usr/include/c++/13/memory:69,
                 from /home/serac/serac/src/serac/infrastructure/../../serac/mesh/mesh_utils_base.hpp:16,
                 from /home/serac/serac/src/serac/infrastructure/../../serac/mesh/mesh_utils.hpp:16,
                 from /home/serac/serac/src/serac/mesh/mesh_utils.cpp:7:
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = const double; _Up = double; bool _IsMove = false]’,
    inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const double*; _OI = double*]’ at /usr/include/c++/13/bits/stl_algobase.h:506:30,
    inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const double*; _OI = double*]’ at /usr/include/c++/13/bits/stl_algobase.h:533:42,
    inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const double*; _OI = double*]’ at /usr/include/c++/13/bits/stl_algobase.h:540:31,
    inlined from ‘_OI std::copy(_II, _II, _OI) [with _II = const double*; _OI = double*]’ at /usr/include/c++/13/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = const double*; _ForwardIterator = double*]’ at /usr/include/c++/13/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = const double*; _ForwardIterator = double*]’ at /usr/include/c++/13/bits/stl_uninitialized.h:185:15,
    inlined from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = const double*; _ForwardIterator = double*; _Tp = double]’ at /usr/include/c++/13/bits/stl_uninitialized.h:373:37,
    inlined from ‘void std::vector<_Tp, _Alloc>::_M_assign_aux(_ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = const double*; _Tp = double; _Alloc = std::allocator<double>]’ at /usr/include/c++/13/bits/vector.tcc:345:35,
    inlined from ‘std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::initializer_list<_Tp>) [with _Tp = double; _Alloc = std::allocator<double>]’ at /usr/include/c++/13/bits/stl_vector.h:787:21,
    inlined from ‘serac::mesh::InputOptions FromInlet<serac::mesh::InputOptions>::operator()(const axom::inlet::Container&)’ at /home/serac/serac/src/serac/mesh/mesh_utils.cpp:494:58:
/usr/include/c++/13/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ forming offset 24 is out of the bounds [0, 24] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It's failing only gcc13-release. https://dev.azure.com/llnl-serac/serac/_build/results?buildId=10908&view=logs&j=8418a147-cefe-5fbf-eb11-e069d1299bbe&t=02db9b20-7613-5b66-5602-b48459f634fd&l=463

Edit: I figured it out.

@chapman39 chapman39 changed the title WIP: Upgrade docker containers Upgrade docker containers Feb 29, 2024
@chapman39 chapman39 added the ready for review Ready for active inspection by reviewers label Feb 29, 2024
RUN sudo sed -i "s/ -ffat-lto-objects//g" /usr/bin/mpicc.mpich
RUN sudo sed -i "s/ -ffat-lto-objects//g" /usr/bin/mpifort.mpich
RUN sudo sed -i "s/ -fallow-invalid-boz//g" /usr/bin/mpifort.mpich
RUN sudo sed -i "s/ -fallow-argument-mismatch//g" /usr/bin/mpifort.mpich
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May be worth bringing this up to radiuss-docker, if they end up building clang with mpich.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@davidbeckingsale would you like this to go into the base radiuss image? The mpich wrappers add link time optimization flags which then fails in the non-gcc compilers due to it being very specific.

--project-json=.uberenv_config.json \
--spec=%clang@10.0.0~strumpack --prefix=/home/serac/serac_tpls -k \
--spec=%clang@15.0.7 --prefix=/home/serac/serac_tpls -k \
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strumpack works on docker containers now

Copy link
Member

@white238 white238 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @chapman39 ! Did this pass the style check w/o any changes? That would be amazing since it was so version dependent before.

@white238
Copy link
Member

@chapman39 can you fix the following warning:

CMake Warning at cmake/blt/cmake/SetupCodeChecks.cmake:695 (message):
  blt_add_clangformat_target: clang-format '10'' is required, found '15.0.7'.
  Disabling 'style' build target.
Call Stack (most recent call first):
  cmake/blt/cmake/SetupCodeChecks.cmake:206 (blt_add_clangformat_target)
  cmake/SeracMacros.cmake:50 (blt_add_code_checks)
  CMakeLists.txt:167 (serac_add_code_checks)

set(BLT_REQUIRED_CLANGFORMAT_VERSION "10" CACHE STRING "")

@chapman39 chapman39 removed the ready for review Ready for active inspection by reviewers label Mar 14, 2024
Copy link
Member

@jamiebramwell jamiebramwell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @chapman39 !

@jamiebramwell jamiebramwell merged commit 98d9933 into develop Mar 14, 2024
2 checks passed
@jamiebramwell jamiebramwell deleted the task/chapman39/update-docker-2024-02-02 branch March 14, 2024 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Build system
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants