Skip to content

[Scheduler] cherry pick code deletions from #1798#1855

Merged
tdavidcl merged 16 commits into
Shamrock-code:mainfrom
tdavidcl:reduce_serial_patch_tree_diff
May 30, 2026
Merged

[Scheduler] cherry pick code deletions from #1798#1855
tdavidcl merged 16 commits into
Shamrock-code:mainfrom
tdavidcl:reduce_serial_patch_tree_diff

Conversation

@tdavidcl
Copy link
Copy Markdown
Member

@tdavidcl tdavidcl commented May 29, 2026

This PR cherry pick code deletions from #1798

TApplencourt and others added 14 commits May 8, 2026 14:28
Continues the sycl::buffer -> sham::DeviceBuffer migration (Shamrock-code#490, Shamrock-code#672,
Shamrock-code#1461). Swap the underlying storage in:

- PatchtreeField<T>: internal_buf is now std::optional<DeviceBuffer<T>>.
  allocate() now requires a DeviceScheduler_ptr.
- SerialPatchTree<T>: serial_tree_buf and linked_patch_ids_buf become
  std::optional<DeviceBuffer<...>>. attach_buf/detach_buf API preserved
  for caller compatibility.
- compute_patch_owner: returns DeviceBuffer<u64>, kernel rewritten with
  sham::kernel_call + MultiRef.
- make_patch_tree_field: takes DeviceScheduler_ptr instead of sycl::queue,
  reduction loop migrated to sham::kernel_call.
- host_for_each_leafs: uses BufferMirror<host> instead of sycl::host_accessor.

Propagate the DistributedData<DeviceBuffer<u64>> change through
ReattributeDataUtility (compute_new_pid, extract_elements,
reatribute_patch_objects).

Update callers: BasicSPHGhosts, GSPHGhostHandler, SPHSetup,
SPHUtilities, GSPHUtilities.

Delete the now-dead reduce_field method and patch_reduc_tree.hpp
(PatchFieldReduction had zero callers).

Assisted-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request removes the unused PatchFieldReduction class and its corresponding header file patch_reduc_tree.hpp. Additionally, it removes the unused reduce_field template function and some dead logging code from SerialPatchTree.hpp, along with minor indentation adjustments. As there are no review comments, I have no feedback to provide.

@github-actions
Copy link
Copy Markdown
Contributor

Thanks @tdavidcl for opening this PR!

You can do multiple things directly here:
1 - Comment pre-commit.ci run to run pre-commit checks.
2 - Comment pre-commit.ci autofix to apply fixes.
3 - Add label autofix.ci to fix authorship & pre-commit for every commit made.
4 - Add label light-ci to only trigger a reduced & faster version of the CI (need the full one before merge).
5 - Add label trigger-ci to create an empty commit to trigger the CI.

Once the workflow completes a message will appear displaying informations related to the run.

Also the PR gets automatically reviewed by gemini, you can:
1 - Comment /gemini review to trigger a review
2 - Comment /gemini summary for a summary
3 - Tag it using @gemini-code-assist either in the PR or in review comments on files

@github-actions
Copy link
Copy Markdown
Contributor

Workflow report

workflow report corresponding to commit 3059887
Commiter email is timothee.davidcleris@proton.me
GitHub page artifact URL GitHub page artifact link (can expire)

Pre-commit check report

Pre-commit check: ✅

trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check for merge conflicts................................................Passed
check that executables have shebangs.....................................Passed
check that scripts with shebangs are executable..........................Passed
check for added large files..............................................Passed
check for case conflicts.................................................Passed
check for broken symlinks................................................Passed
check yaml...............................................................Passed
detect private key.......................................................Passed
No-tabs checker..........................................................Passed
Tabs remover.............................................................Passed
cmake-format.............................................................Passed
Validate GitHub Workflows................................................Passed
clang-format.............................................................Passed
ruff check...............................................................Passed
ruff format..............................................................Passed
Check doxygen headers....................................................Passed
Check license headers....................................................Passed
Check #pragma once.......................................................Passed
Check SYCL #include......................................................Passed
No ssh in git submodules remote..........................................Passed
No UTF-8 in files (except for authors)...................................Passed

Test pipeline can run.

Clang-tidy diff report


576 warnings generated.
Suppressed 577 warnings (575 in non-user code, 1 due to line filter, 1 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.

Doxygen diff with main

Removed warnings : 43
New warnings : 37
Warnings count : 7856 → 7850 (-0.1%)

Detailed changes :
- src/shamrock/include/shamrock/legacy/patch/utility/patch_reduc_tree.hpp:25: warning: Compound PatchFieldReduction is not documented.
- src/shamrock/include/shamrock/legacy/patch/utility/patch_reduc_tree.hpp:27: warning: Member tree_field (variable) of class PatchFieldReduction is not documented.
- src/shamrock/include/shamrock/legacy/patch/utility/patch_reduc_tree.hpp:28: warning: Member tree_field_buf (variable) of class PatchFieldReduction is not documented.
- src/shamrock/include/shamrock/legacy/patch/utility/patch_reduc_tree.hpp:30: warning: Member attach_buf() (function) of class PatchFieldReduction is not documented.
- src/shamrock/include/shamrock/legacy/patch/utility/patch_reduc_tree.hpp:37: warning: Member detach_buf() (function) of class PatchFieldReduction is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:102: warning: Member SerialPatchTree(PatchTree &ptree, const shamrock::patch::PatchCoordTransform< fp_prec_vec > box_transform) (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:103: warning: Member SerialPatchTree(PatchTree &ptree, const shamrock::patch::PatchCoordTransform< fp_prec_vec > box_transform) (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:109: warning: Member host_for_each_leafs_internal(std::function< bool(u64, PtNode pnode)> interact_cd, std::function< void(u64, PtNode)> found_case, Acc1 &&tree, Acc2 &&lpid) (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:110: warning: Member host_for_each_leafs_internal(std::function< bool(u64, PtNode pnode)> interact_cd, std::function< void(u64, PtNode)> found_case, Acc1 &&tree, Acc2 &&lpid) (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:146: warning: Member host_for_each_leafs(std::function< bool(u64, PtNode pnode)> interact_cd, std::function< void(u64, PtNode)> found_case) (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:147: warning: Member host_for_each_leafs(std::function< bool(u64, PtNode pnode)> interact_cd, std::function< void(u64, PtNode)> found_case) (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:171: warning: Member build(PatchScheduler &sched) (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:172: warning: Member build(PatchScheduler &sched) (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:177: warning: Member make_patch_tree_field(PatchScheduler &sched, sycl::queue &queue, shamrock::patch::PatchField< T > pfield, Func &&reducer) (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:178: warning: Member reduce_field(sycl::queue &queue, PatchScheduler &sched, legacy::PatchField< type > &pfield) (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:222: warning: Member dump_dat() (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:245: warning: Member compute_patch_owner(sham::DeviceScheduler_ptr dev_sched, sham::DeviceBuffer< fp_prec_vec > &position_buffer, u32 len) (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:267: warning: Member make_patch_tree_field(PatchScheduler &sched, sycl::queue &queue, shamrock::patch::PatchField< T > pfield, Func &&reducer) (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:312: warning: Member dump_dat() (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:335: warning: Member compute_patch_owner(sham::DeviceScheduler_ptr dev_sched, sham::DeviceBuffer< fp_prec_vec > &position_buffer, u32 len) (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:34: warning: Compound SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:35: warning: Compound SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:36: warning: Member PtNode (typedef) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:37: warning: Member PtNode (typedef) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:38: warning: Member PatchTree (typedef) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:39: warning: Member PatchTree (typedef) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:41: warning: Member root_count (variable) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:42: warning: Member root_count (variable) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:42: warning: Member serial_tree_buf (variable) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:43: warning: Member linked_patch_ids_buf (variable) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:43: warning: Member serial_tree_buf (variable) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:44: warning: Member linked_patch_ids_buf (variable) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:45: warning: Member attach_buf() (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:46: warning: Member attach_buf() (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:59: warning: Member detach_buf() (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:60: warning: Member detach_buf() (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:82: warning: Member print_status() (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:83: warning: Member print_status() (function) of class SerialPatchTree is not documented.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@tdavidcl tdavidcl merged commit 3519984 into Shamrock-code:main May 30, 2026
80 checks passed
@tdavidcl tdavidcl deleted the reduce_serial_patch_tree_diff branch May 30, 2026 07:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants