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

Update Decent CI #10827

Merged
merged 4 commits into from
Nov 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .decent_ci-Linux.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
compilers:
- name: "gcc"
version: "11.4"
version: "13.2"
Copy link
Member Author

Choose a reason for hiding this comment

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

Compiler update, default on Ubuntu 24.04 is 13.2.

cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DBUILD_PERFORMANCE_TESTS:BOOL=ON -DVALGRIND_ANALYZE_PERFORMANCE_TESTS:BOOL=ON -DENABLE_PCH:BOOL=OFF
collect_performance_results: true
skip_regression: true
s3_upload_bucket: energyplus
num_parallel_builds: 18
Copy link
Member Author

Choose a reason for hiding this comment

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

The CI machine has 20 cores, but only 16 GB of RAM. It was swapping, or getting close to swapping, so I explicitly pulled the number down here just a little.


- name: "gcc"
version: "11.4"
version: "13.2"
build_type: RelWithDebInfo
cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF
coverage_enabled: true
Expand All @@ -19,9 +20,10 @@ compilers:
ctest_filter: -E "integration.*"
skip_regression: true
skip_packaging: true
num_parallel_builds: 18

- name: "gcc"
version: "11.4"
version: "13.2"
build_type: RelWithDebInfo
cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF
coverage_enabled: true
Expand All @@ -33,3 +35,4 @@ compilers:
ctest_filter: -R "integration.*"
skip_regression: true
skip_packaging: true
num_parallel_builds: 18
2 changes: 1 addition & 1 deletion .decent_ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ results_repository : Myoldmopar/EnergyPlusBuildResults
results_path : _posts
results_base_url : https://myoldmopar.github.io/EnergyPlusBuildResults
regression_repository : NREL/EnergyPlusRegressionTool
regression_branch : BumpToBoto3 # this is the branch of NREL/EnergyPlusRegressionTool to use (usually main)
regression_branch : main # this is the branch of NREL/EnergyPlusRegressionTool to use (usually main)
Copy link
Member Author

Choose a reason for hiding this comment

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

This should have been main a while back, as the BumpToBoto3 branch was merged into main already.

regression_baseline_default : develop # this is the NREL/EnergyPlus branch to use as the baseline for regressions
regression_baseline_develop : ""
regression_baseline_master : ""
Expand Down
18 changes: 15 additions & 3 deletions third_party/fmt-8.0.1/include/fmt/format.h
Original file line number Diff line number Diff line change
Expand Up @@ -316,8 +316,10 @@ template <> constexpr auto num_bits<fallback_uintptr>() -> int {

FMT_INLINE void assume(bool condition) {
(void)condition;
#if FMT_HAS_BUILTIN(__builtin_assume)
Copy link
Member Author

Choose a reason for hiding this comment

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

There was a fmt compiler warning being emitted. I had seen this locally for a while, but I could just look past it. Unfortunately the Decent CI script saw this as a failure, so it was time to fix it. There are some notes in here for the change, but basically, it seems it's a GCC false positive issue. This brings in a cheap workaround to the warning. I'm open to other ways to do this, but I'm not waiting to change it for this PR. Feel free to open a new PR that reverts this and does it differently.

#if FMT_HAS_BUILTIN(__builtin_assume) && !FMT_ICC_VERSION
__builtin_assume(condition);
#elif FMT_GCC_VERSION
if (!condition) __builtin_unreachable();
#endif
}

Expand Down Expand Up @@ -751,8 +753,18 @@ void basic_memory_buffer<T, SIZE, Allocator>::grow(size_t size) {
T* new_data =
std::allocator_traits<Allocator>::allocate(alloc_, new_capacity);
// The following code doesn't throw, so the raw pointer above doesn't leak.
std::uninitialized_copy(old_data, old_data + this->size(),
detail::make_checked(new_data, new_capacity));
// std::uninitialized_copy(old_data, old_data + this->size(),
// detail::make_checked(new_data, new_capacity));
// ****** MYOLDMOPAR MANUAL EDIT
// I manually applied some of the changes from this commit
// https://github.com/fmtlib/fmt/commit/fb97cb2318dd14b5c791699232e1e73782be7e57
// Because of a GCC 13 false positive issuing a string overflow warning
// fmt issue: https://github.com/fmtlib/fmt/issues/3533
// upstream report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109717
// An updated FMT version could mute this with the FMT_SYSTEM_HEADERS CMake flag turned on, but it seems fmt-8.0.1 doesn't respond to that
detail::assume(this->size() <= new_capacity);
std::uninitialized_copy_n(old_data, this->size(), new_data);
// ******
this->set(new_data, new_capacity);
// deallocate must not throw according to the standard, but even if it does,
// the buffer already uses the new storage and will deallocate it in
Expand Down
Loading