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

Release 1.8.0 to master #1622

Merged
merged 515 commits into from
Jun 13, 2024
Merged

Release 1.8.0 to master #1622

merged 515 commits into from
Jun 13, 2024

Conversation

tcojean
Copy link
Member

@tcojean tcojean commented Jun 7, 2024

This should be the same as #1621 but for the master branch, including all the updated commits.

Please check the README extensively, as it is the main point of failure (changes develop -> master) together with the main CMakeLists.txt

upsj and others added 30 commits June 7, 2024 16:15
Co-authored-by: Yuhsiang M. Tsai <[email protected]>
- fix incorrect CMake version requirement
- remove explicit RPATH additions
- clean up configure log

Co-authored-by: Yuhsiang M. Tsai <[email protected]>
Co-authored-by: Marcel Koch <[email protected]>
The static builds involve changing the linker for HIP,
which can't really be represented in pkg-config
@ginkgo-bot ginkgo-bot added reg:example This is related to the examples. reg:benchmarking This is related to benchmarking. type:solver This is related to the solvers type:preconditioner This is related to the preconditioners type:matrix-format This is related to the Matrix formats type:factorization This is related to the Factorizations type:reordering This is related to the matrix(LinOp) reordering reg:helper-scripts This issue/PR is related to the helper scripts mainly concerned with development of Ginkgo. type:multigrid This is related to multigrid type:stopping-criteria This is related to the stopping criteria mod:all This touches all Ginkgo modules. labels Jun 7, 2024
@tcojean tcojean added 1:ST:ready-for-review This PR is ready for review 1:ST:run-full-test 1:ST:no-changelog-entry Skip the wiki check for changelog update labels Jun 7, 2024
Copy link
Member

@MarcelKoch MarcelKoch left a comment

Choose a reason for hiding this comment

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

Thanks for putting this together!

Copy link

codecov bot commented Jun 8, 2024

Codecov Report

Attention: Patch coverage is 91.90069% with 199 lines in your changes missing coverage. Please review.

Project coverage is 90.03%. Comparing base (49242ff) to head (e7b0127).

Files Patch % Lines
core/config/stop_config.cpp 12.50% 35 Missing ⚠️
core/config/preconditioner_config.cpp 63.51% 27 Missing ⚠️
core/solver/multigrid.cpp 84.34% 18 Missing ⚠️
core/config/config_helper.hpp 77.04% 14 Missing ⚠️
core/device_hooks/common_kernels.inc.cpp 0.00% 9 Missing ⚠️
core/solver/cb_gmres.cpp 47.05% 9 Missing ⚠️
core/base/workspace_aliases.hpp 86.66% 8 Missing ⚠️
core/base/segmented_array.cpp 87.03% 7 Missing ⚠️
core/config/dispatch.hpp 45.45% 6 Missing ⚠️
core/preconditioner/batch_jacobi.cpp 89.09% 6 Missing ⚠️
... and 25 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1622      +/-   ##
==========================================
- Coverage   91.33%   90.03%   -1.31%     
==========================================
  Files         688      758      +70     
  Lines       56097    61155    +5058     
==========================================
+ Hits        51238    55059    +3821     
- Misses       4859     6096    +1237     

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

@yhmtsai
Copy link
Member

yhmtsai commented Jun 8, 2024

diff --git a/benchmark/test/test_framework.py.in b/benchmark/test/test_framework.py.in
diff --git a/benchmark/test/test_framework.py.in b/benchmark/test/test_framework.py.in
index 48f3ca608b..62c4293e7c 100644
--- a/benchmark/test/test_framework.py.in
+++ b/benchmark/test/test_framework.py.in
@@ -22,7 +22,8 @@ denumberify_paths = [
     "rhs_norm",
     "max_relative_norm2",
 ]
-detypenameify_key_starts = ["generate(", "apply(", "advanced_apply(", "copy(", "check("]
+detypenameify_key_starts = [
+    "generate(", "apply(", "advanced_apply(", "copy(", "check("]
 empty_string_paths = ["filename"]
 empty_array_paths = [
     "recurrent_residuals",
@@ -148,9 +149,7 @@ def compare_output_impl(
         )
     )
     ignore_patterns = [
-        "This is Ginkgo",  # version numbers + tag
-        "    the .* module is",  # version numbers + tag
-        "    running with core module",  # version numbers + tag
+        "    the .* module is",  # version numbers
         "DEBUG: (begin|end  ) (allocate|free)",  # allocations
     ]
     typename_patterns = [
@@ -179,7 +178,8 @@ def compare_output_impl(
         ignore_patterns=ignore_patterns,
         replace_patterns=typename_patterns,
 empty_string_paths = ["filename"]
 empty_array_paths = [
     "recurrent_residuals",
@@ -148,9 +149,7 @@ def compare_output_impl(
         )
     )
     ignore_patterns = [
-        "This is Ginkgo",  # version numbers + tag
-        "    the .* module is",  # version numbers + tag
-        "    running with core module",  # version numbers + tag
+        "    the .* module is",  # version numbers
         "DEBUG: (begin|end  ) (allocate|free)",  # allocations
     ]
     typename_patterns = [
@@ -179,7 +178,8 @@ def compare_output_impl(
         ignore_patterns=ignore_patterns,
         replace_patterns=typename_patterns,
     )
-    expected_stdout_processed = sanitize_json_text(open(expected_stdout).read())
+    expected_stdout_processed = sanitize_json_text(
+        open(expected_stdout).read())
     expected_stderr_processed = sanitize_text(
         open(expected_stderr).read(),
         ignore_patterns=ignore_patterns,
@@ -190,7 +190,8 @@ def compare_output_impl(
         print("FAIL: stdout differs")
         print(
             "\n".join(
-                difflib.unified_diff(expected_stdout_processed, result_stdout_processed)
+                difflib.unified_diff(
+                    expected_stdout_processed, result_stdout_processed)
             )
         )
         failed = True
@@ -198,7 +199,8 @@ def compare_output_impl(
         print("FAIL: stderr differs")
         print(
             "\n".join(
-                difflib.unified_diff(expected_stderr_processed, result_stderr_processed)
+                difflib.unified_diff(
+                    expected_stderr_processed, result_stderr_processed)
             )
         )
         failed = True

this is diff between develop and this branch
I think the ignore_patterns should be the same
I will also suggest revert other format changes in this file to keep the master and develop less gap
the following changes in stderr are unnecessary

+This is Ginkgo 1.8.0 (master)
+    running with core module 1.8.0 (master)

@tcojean
Copy link
Member Author

tcojean commented Jun 10, 2024

Thanks for catching this diff Mike, now the diff with develop looks good. I have no idea where all this came from

@ginkgo-bot
Copy link
Member

Error: The following files need to be formatted:

accessor/accessor_helper.hpp
accessor/block_col_major.hpp
accessor/cuda_helper.hpp
accessor/hip_helper.hpp
accessor/index_span.hpp
accessor/math.hpp
accessor/range.hpp
accessor/reduced_row_major.hpp
accessor/reduced_row_major_reference.hpp
accessor/reference_helper.hpp
accessor/row_major.hpp
accessor/scaled_reduced_row_major.hpp
accessor/scaled_reduced_row_major_reference.hpp
accessor/utils.hpp
dev_tools/oneapi/fake_interface/cooperative_groups.cuh
dev_tools/oneapi/working_directory/trick/cooperative_groups.hpp
dev_tools/oneapi/working_directory/trick/dim3_t.hpp
dev_tools/oneapi/working_directory/trick/reduction.hpp
dev_tools/oneapi/working_directory/trick/sorting.hpp
dev_tools/oneapi/working_directory/trick/thread_ids.hpp
examples/adaptiveprecision-blockjacobi/adaptiveprecision-blockjacobi.cpp
examples/cb-gmres/cb-gmres.cpp
examples/custom-matrix-format/custom-matrix-format.cpp
examples/custom-matrix-format/stencil_kernel.cu
examples/custom-stopping-criterion/custom-stopping-criterion.cpp
examples/ginkgo-overhead/ginkgo-overhead.cpp
examples/ginkgo-ranges/ginkgo-ranges.cpp
examples/heat-equation/heat-equation.cpp
examples/ilu-preconditioned-solver/ilu-preconditioned-solver.cpp
examples/inverse-iteration/inverse-iteration.cpp
examples/ir-ilu-preconditioned-solver/ir-ilu-preconditioned-solver.cpp
examples/iterative-refinement/iterative-refinement.cpp
examples/minimal-cuda-solver/minimal-cuda-solver.cpp
examples/mixed-multigrid-preconditioned-solver/mixed-multigrid-preconditioned-solver.cpp
examples/mixed-multigrid-solver/mixed-multigrid-solver.cpp
examples/mixed-precision-ir/mixed-precision-ir.cpp
examples/multigrid-preconditioned-solver-customized/multigrid-preconditioned-solver-customized.cpp
examples/multigrid-preconditioned-solver/multigrid-preconditioned-solver.cpp
examples/nine-pt-stencil-solver/nine-pt-stencil-solver.cpp
examples/papi-logging/papi-logging.cpp
examples/performance-debugging/performance-debugging.cpp
examples/poisson-solver/poisson-solver.cpp
examples/preconditioned-solver/preconditioned-solver.cpp
examples/preconditioner-export/preconditioner-export.cpp
examples/schroedinger-splitting/schroedinger-splitting.cpp
examples/simple-solver-logging/simple-solver-logging.cpp
examples/three-pt-stencil-solver/three-pt-stencil-solver.cpp
include/ginkgo/core/log/papi.hpp
third_party/SuiteSparse/wrapper32.cpp
third_party/SuiteSparse/wrapper64.cpp

You can find a formatting patch under Artifacts here or run format! if you have write access to Ginkgo

Copy link

sonarcloud bot commented Jun 10, 2024

@pratikvn
Copy link
Member

There seems to be some issue with format ? Is that expected ?

@tcojean
Copy link
Member Author

tcojean commented Jun 10, 2024

The format job relies on the base branch (master) which isn't the same format as develop. The format bot is incorrect. Maybe in the future we should base all GithubCI scripts on develop, like we do for e.g. the mirroring

@upsj
Copy link
Member

upsj commented Jun 10, 2024

I think we should try to stick with pull_request_target for security reasons, basing things on develop would be a bit harder.

In that vein, I actually have a suggestion: We would have much less work if master was closer to develop - what we could do there would be after merging the release PR into develop, we could create a commit setting the tag to master and immediately revert it, pointing master to the intermediate state before reversal. That way, commits between master and develop are not duplicated, and we have little to no effort in reviewing release PRs to master.

Copy link
Member

@yhmtsai yhmtsai left a comment

Choose a reason for hiding this comment

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

I agree with @upsj, but need to ensure we review the master changes in a review because the changes are not shown in the pr. (or, seperating two pr sounds reasonable)
Another thing is how to handle the bug fix commit.
1.8.x should only contain the bug fix based on 1.8.0, so we need to create a branch from the tag to handle that at least.

@tcojean tcojean merged commit 586b175 into master Jun 13, 2024
21 of 26 checks passed
@tcojean tcojean deleted the release/1.8.0 branch June 13, 2024 09:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1:ST:no-changelog-entry Skip the wiki check for changelog update 1:ST:ready-for-review This PR is ready for review 1:ST:run-full-test mod:all This touches all Ginkgo modules. reg:benchmarking This is related to benchmarking. reg:build This is related to the build system. reg:ci-cd This is related to the continuous integration system. reg:documentation This is related to documentation. reg:example This is related to the examples. reg:helper-scripts This issue/PR is related to the helper scripts mainly concerned with development of Ginkgo. reg:testing This is related to testing. type:factorization This is related to the Factorizations type:matrix-format This is related to the Matrix formats type:multigrid This is related to multigrid type:preconditioner This is related to the preconditioners type:reordering This is related to the matrix(LinOp) reordering type:solver This is related to the solvers type:stopping-criteria This is related to the stopping criteria
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants