Skip to content

Express fold nodes using accumulator nodes#540

Open
knoepfel wants to merge 3 commits into
Framework-R-D:mainfrom
knoepfel:fix-fold-caching
Open

Express fold nodes using accumulator nodes#540
knoepfel wants to merge 3 commits into
Framework-R-D:mainfrom
knoepfel:fix-fold-caching

Conversation

@knoepfel

Copy link
Copy Markdown
Member

This PR replaces the caching mechanism for fold results with a similar mechanism as used in #118.


Resolves #359

@codecov

codecov Bot commented Apr 22, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 93.82353% with 21 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
phlex/core/fold_join_node.hpp 82.00% 7 Missing and 2 partials ⚠️
phlex/core/index_router.cpp 94.91% 2 Missing and 4 partials ⚠️
phlex/core/detail/accumulator_node.hpp 97.87% 1 Missing and 1 partial ⚠️
phlex/core/framework_graph.cpp 93.93% 1 Missing and 1 partial ⚠️
phlex/core/declared_fold.hpp 96.96% 1 Missing ⚠️
phlex/model/flush_gate.cpp 83.33% 1 Missing ⚠️
@@            Coverage Diff             @@
##             main     #540      +/-   ##
==========================================
+ Coverage   83.27%   83.50%   +0.22%     
==========================================
  Files         162      163       +1     
  Lines        5912     6073     +161     
  Branches      670      689      +19     
==========================================
+ Hits         4923     5071     +148     
- Misses        796      805       +9     
- Partials      193      197       +4     
Flag Coverage Δ
scripts 76.36% <ø> (ø)
unittests 87.05% <93.82%> (+0.20%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
phlex/core/declared_fold.cpp 100.00% <100.00%> (ø)
phlex/core/declared_observer.hpp 100.00% <ø> (ø)
phlex/core/declared_unfold.cpp 100.00% <100.00%> (ø)
phlex/core/declared_unfold.hpp 96.42% <100.00%> (ø)
phlex/core/fold/send.hpp 100.00% <ø> (ø)
phlex/core/framework_graph.hpp 100.00% <ø> (ø)
phlex/core/index_router.hpp 100.00% <ø> (ø)
phlex/core/message.hpp 100.00% <ø> (ø)
phlex/core/multilayer_join_node.hpp 92.00% <100.00%> (ø)
phlex/model/flush_gate.hpp 100.00% <100.00%> (ø)
... and 6 more

... and 2 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4ed92fc...34e1b5e. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@knoepfel knoepfel force-pushed the fix-fold-caching branch 2 times, most recently from 7a865dc to 3d19c63 Compare April 23, 2026 15:12
@knoepfel knoepfel marked this pull request as draft April 23, 2026 15:12
@knoepfel knoepfel force-pushed the fix-fold-caching branch from 3d19c63 to 530eb15 Compare May 26, 2026 17:34
@greenc-FNAL

greenc-FNAL commented May 26, 2026

Copy link
Copy Markdown
Contributor

✅ 7 CodeQL alerts resolved compared to main

  • Warning # 182 actions/unpinned-tag at .github/actions/prepare-check-outputs/action.yaml:47:13 — Unpinned 3rd party Action 'action.yaml' step Uses Step: get_pr uses 'Framework-R-D/phlex/.github/actions/get-pr-info' with ref 'main', not a pinned commit hash
  • Warning # 183 actions/unpinned-tag at .github/actions/prepare-check-outputs/action.yaml:51:13 — Unpinned 3rd party Action 'action.yaml' step Uses Step: detect_act uses 'Framework-R-D/phlex/.github/actions/detect-act-env' with ref 'main', not a pinned commit hash
  • Warning # 184 actions/unpinned-tag at .github/actions/prepare-fix-outputs/action.yaml:29:13 — Unpinned 3rd party Action 'action.yaml' step Uses Step: get_pr uses 'Framework-R-D/phlex/.github/actions/get-pr-info' with ref 'main', not a pinned commit hash
  • Warning # 185 actions/unpinned-tag at .github/actions/run-change-detection/action.yaml:62:13 — Unpinned 3rd party Action 'action.yaml' step Uses Step: filter uses 'Framework-R-D/phlex/.github/actions/detect-relevant-changes' with ref 'main', not a pinned commit hash
  • Warning # 186 actions/unpinned-tag at .github/actions/workflow-setup/action.yaml:68:13 — Unpinned 3rd party Action 'action.yaml' step Uses Step: prepare_check uses 'Framework-R-D/phlex/.github/actions/prepare-check-outputs' with ref 'main', not a pinned commit hash
  • Warning # 187 actions/unpinned-tag at .github/actions/workflow-setup/action.yaml:79:13 — Unpinned 3rd party Action 'action.yaml' step Uses Step: prepare_fix uses 'Framework-R-D/phlex/.github/actions/prepare-fix-outputs' with ref 'main', not a pinned commit hash
  • Warning # 188 actions/unpinned-tag at .github/actions/workflow-setup/action.yaml:128:13 — Unpinned 3rd party Action 'action.yaml' step Uses Step: detect uses 'Framework-R-D/phlex/.github/actions/run-change-detection' with ref 'main', not a pinned commit hash

Review the full CodeQL report for details.

@knoepfel knoepfel marked this pull request as ready for review May 26, 2026 17:39
@knoepfel knoepfel force-pushed the fix-fold-caching branch from 530eb15 to c3caf2f Compare May 26, 2026 20:48
@Framework-R-D Framework-R-D deleted a comment from github-actions Bot May 26, 2026
@knoepfel knoepfel force-pushed the fix-fold-caching branch from c3caf2f to 197de5e Compare May 26, 2026 21:43
@Framework-R-D Framework-R-D deleted a comment from github-actions Bot May 26, 2026
@knoepfel knoepfel force-pushed the fix-fold-caching branch from 197de5e to 10aac8e Compare May 27, 2026 14:41
@Framework-R-D Framework-R-D deleted a comment from github-actions Bot May 27, 2026
@knoepfel knoepfel force-pushed the fix-fold-caching branch 3 times, most recently from 322927f to decf3ae Compare June 2, 2026 20:58
@Framework-R-D Framework-R-D deleted a comment from github-actions Bot Jun 3, 2026
@Framework-R-D Framework-R-D deleted a comment from github-actions Bot Jun 3, 2026
@Framework-R-D Framework-R-D deleted a comment from github-actions Bot Jun 3, 2026
@Framework-R-D Framework-R-D deleted a comment from github-actions Bot Jun 3, 2026
@knoepfel knoepfel force-pushed the fix-fold-caching branch from decf3ae to e7eb445 Compare June 4, 2026 18:27
@Framework-R-D Framework-R-D deleted a comment from github-actions Bot Jun 4, 2026
* Includes adjusting infrastructure for "sendable" types
@knoepfel knoepfel force-pushed the fix-fold-caching branch 2 times, most recently from e564fb3 to 5471faa Compare June 8, 2026 18:24
@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Clang-Tidy Check Results

Found 5967 issue(s); none are newly introduced by this patch.

All issues by check:

  • readability-identifier-naming: 1792
  • readability-redundant-typename: 1405
  • readability-redundant-member-init: 1209
  • performance-unnecessary-value-param: 479
  • readability-avoid-const-params-in-decls: 257
  • modernize-pass-by-value: 199
  • readability-braces-around-statements: 89
  • readability-convert-member-functions-to-static: 79
  • modernize-use-designated-initializers: 72
  • readability-use-concise-preprocessor-directives: 60
  • readability-const-return-type: 47
  • modernize-use-auto: 27
  • modernize-avoid-c-style-cast: 22
  • readability-inconsistent-ifelse-braces: 21
  • readability-qualified-auto: 20
  • readability-redundant-control-flow: 19
  • readability-math-missing-parentheses: 17
  • modernize-avoid-c-arrays: 15
  • modernize-use-equals-default: 14
  • modernize-use-using: 13
  • readability-static-definition-in-anonymous-namespace: 12
  • readability-function-size: 11
  • modernize-concat-nested-namespaces: 10
  • modernize-return-braced-init-list: 10
  • readability-isolate-declaration: 8
  • cppcoreguidelines-special-member-functions: 7
  • readability-container-contains: 7
  • modernize-use-starts-ends-with: 6
  • readability-container-size-empty: 5
  • readability-redundant-access-specifiers: 5
  • modernize-use-ranges: 5
  • readability-inconsistent-declaration-parameter-name: 5
  • readability-redundant-casting: 4
  • bugprone-branch-clone: 3
  • modernize-use-std-numbers: 3
  • clang-analyzer-security.ArrayBound: 2
  • readability-else-after-return: 1
  • modernize-make-shared: 1
  • readability-redundant-string-init: 1
  • performance-move-const-arg: 1
  • modernize-redundant-void-arg: 1
  • readability-simplify-boolean-expr: 1
  • modernize-use-integer-sign-comparison: 1
  • readability-use-anyofallof: 1

See inline comments for details. Comment @phlexbot tidy-fix to auto-fix.

@Framework-R-D Framework-R-D deleted a comment from github-actions Bot Jun 8, 2026
@knoepfel knoepfel force-pushed the fix-fold-caching branch from 5471faa to 34e1b5e Compare June 9, 2026 11:29
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Clang-Tidy Check Results

Found 5967 issue(s); none are newly introduced by this patch.

All issues by check:

  • readability-identifier-naming: 1792
  • readability-redundant-typename: 1405
  • readability-redundant-member-init: 1209
  • performance-unnecessary-value-param: 478
  • readability-avoid-const-params-in-decls: 257
  • modernize-pass-by-value: 199
  • readability-braces-around-statements: 89
  • readability-convert-member-functions-to-static: 79
  • modernize-use-designated-initializers: 72
  • readability-use-concise-preprocessor-directives: 60
  • readability-const-return-type: 47
  • modernize-use-auto: 27
  • modernize-avoid-c-style-cast: 22
  • readability-inconsistent-ifelse-braces: 21
  • readability-qualified-auto: 20
  • readability-redundant-control-flow: 19
  • readability-math-missing-parentheses: 17
  • modernize-avoid-c-arrays: 15
  • modernize-use-equals-default: 14
  • modernize-use-using: 13
  • readability-static-definition-in-anonymous-namespace: 12
  • readability-function-size: 11
  • modernize-concat-nested-namespaces: 10
  • modernize-return-braced-init-list: 10
  • readability-isolate-declaration: 8
  • readability-container-contains: 7
  • cppcoreguidelines-special-member-functions: 7
  • modernize-use-starts-ends-with: 6
  • modernize-use-ranges: 5
  • readability-container-size-empty: 5
  • readability-inconsistent-declaration-parameter-name: 5
  • readability-redundant-access-specifiers: 5
  • readability-redundant-casting: 4
  • bugprone-branch-clone: 3
  • modernize-use-std-numbers: 3
  • performance-move-const-arg: 2
  • clang-analyzer-security.ArrayBound: 2
  • readability-redundant-string-init: 1
  • modernize-make-shared: 1
  • modernize-redundant-void-arg: 1
  • readability-else-after-return: 1
  • readability-simplify-boolean-expr: 1
  • modernize-use-integer-sign-comparison: 1
  • readability-use-anyofallof: 1

See inline comments for details. Comment @phlexbot tidy-fix to auto-fix.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Change fold-result caching to use multilayer_join_node

2 participants