Skip to content

[Patch] migrate SerialPatchTree & PatchtreeField to sham::DeviceBuffer#1798

Open
TApplencourt wants to merge 16 commits into
Shamrock-code:mainfrom
TApplencourt:migrate/serial-patch-tree-devicebuffer
Open

[Patch] migrate SerialPatchTree & PatchtreeField to sham::DeviceBuffer#1798
TApplencourt wants to merge 16 commits into
Shamrock-code:mainfrom
TApplencourt:migrate/serial-patch-tree-devicebuffer

Conversation

@TApplencourt

Copy link
Copy Markdown
Contributor

Continues the sycl::buffer -> sham::DeviceBuffer migration (#490, #672, #1461). Swap the underlying storage in:

  • PatchtreeField: internal_buf is now std::optional<DeviceBuffer>. allocate() now requires a DeviceScheduler_ptr.
  • SerialPatchTree: 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, 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 instead of sycl::host_accessor.

Propagate the DistributedData<DeviceBuffer> 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

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>
@github-actions

github-actions Bot commented May 8, 2026

Copy link
Copy Markdown
Contributor

Thanks @TApplencourt 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

@TApplencourt

Copy link
Copy Markdown
Contributor Author

pre-commit.ci autofix

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

Copy link
Copy Markdown
Contributor

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 refactors the codebase to replace SYCL buffers and accessors with sham::DeviceBuffer and BufferMirror abstractions, while transitioning from direct SYCL queue submissions to sham::kernel_call. Key changes include updating PatchtreeField and SerialPatchTree to use std::optionalsham::DeviceBuffer and replacing sycl::host_accessor with mirror_tosham::host() or copy_to_stdvec(). Feedback identifies several performance bottlenecks where data transfers or heap allocations occur within loops. Furthermore, the reviewer pointed out multiple safety regressions where std::optional buffers and scheduler pointers are dereferenced without proper validation, which could lead to runtime crashes.

Comment on lines +303 to +304
auto tree = sptree.serial_tree_buf->template mirror_to<sham::host>();
auto lpid = sptree.linked_patch_ids_buf->template mirror_to<sham::host>();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

Creating and destroying BufferMirror objects inside the triple loop over periodic offsets is highly inefficient. Each creation triggers a Device-to-Host copy, and each destruction triggers a Host-to-Device copy (write-back). These mirrors should be moved outside the loops (before line 296) to avoid redundant data transfers.

Comment on lines +369 to +370
auto tree = sptree.serial_tree_buf->template mirror_to<sham::host>();
auto lpid = sptree.linked_patch_ids_buf->template mirror_to<sham::host>();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

Similar to the periodic case, creating mirrors inside the for_each_patch_shift lambda causes repeated data transfers for every shift. These mirrors should be moved outside the for_each_patch_shift call (before line 362).

Comment thread src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp Outdated
Comment thread src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp Outdated
Comment thread src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp Outdated
Comment thread src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp Outdated
Comment thread src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp Outdated
bool err_id_in_newid = false;
{
sycl::host_accessor nid{newid_buf_map.get(id), sycl::read_only};
std::vector<u64> nid = newid_buf_map.get(id).copy_to_stdvec();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

copy_to_stdvec() performs a heap allocation and a full buffer copy from device to host. Calling it inside for_each_patchdata is inefficient and can become a performance bottleneck as the number of patches increases. Consider if this logic can be moved to a device kernel or if a more efficient host access method is available.

if (!pdat.is_empty()) {

sycl::host_accessor nid{new_pid.get(current_pid), sycl::read_only};
std::vector<u64> nid = new_pid.get(current_pid).copy_to_stdvec();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Similar to the usage in compute_new_pid, calling copy_to_stdvec() inside a loop over patches is inefficient due to repeated allocations and data transfers.

TApplencourt and others added 5 commits May 8, 2026 16:37
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>
@tdavidcl

tdavidcl commented May 8, 2026

Copy link
Copy Markdown
Member

pre-commit.ci autofix

Comment thread src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp
tdavidcl added a commit that referenced this pull request May 30, 2026
This PR cherry pick code deletions from #1798

---------

Co-authored-by: tapplencourt <tapplencourt@anl.gov>
@github-actions

Copy link
Copy Markdown
Contributor

Workflow report

workflow report corresponding to commit d9ed42a
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


/__w/Shamrock/Shamrock/src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:257:31: warning: the parameter 'dev_sched' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
  250 |         sham::DeviceScheduler_ptr dev_sched,
      |         const                    &
  251 |         sham::DeviceBuffer<fp_prec_vec> &position_buffer,
  252 |         u32 len);
  253 | };
  254 | 
  255 | template<class vec>
  256 | sham::DeviceBuffer<u64> SerialPatchTree<vec>::compute_patch_owner(
  257 |     sham::DeviceScheduler_ptr dev_sched, sham::DeviceBuffer<vec> &position_buffer, u32 len) {
      |                               ^
      |     const                    &
/__w/Shamrock/Shamrock/src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:250:9: note: FIX-IT applied suggested code changes
  250 |         sham::DeviceScheduler_ptr dev_sched,
      |         ^
/__w/Shamrock/Shamrock/src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:250:34: note: FIX-IT applied suggested code changes
  250 |         sham::DeviceScheduler_ptr dev_sched,
      |                                  ^
/__w/Shamrock/Shamrock/src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:257:5: note: FIX-IT applied suggested code changes
  257 |     sham::DeviceScheduler_ptr dev_sched, sham::DeviceBuffer<vec> &position_buffer, u32 len) {
      |     ^
/__w/Shamrock/Shamrock/src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:257:30: note: FIX-IT applied suggested code changes
  257 |     sham::DeviceScheduler_ptr dev_sched, sham::DeviceBuffer<vec> &position_buffer, u32 len) {
      |                              ^

576 warnings generated.
clang-tidy applied 4 of 4 suggested fixes.
Suppressed 576 warnings (575 in non-user code, 1 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.

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

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

/__w/Shamrock/Shamrock/src/shamrock/include/shamrock/scheduler/ReattributeDataUtility.hpp:133:29: warning: redundant boolean literal in if statement condition [readability-simplify-boolean-expr]
  133 |                         if (false) {
      |                         ~~~~^~~~~~~~
  134 | 
  135 |                             const u32 cnt = pdat.get_obj_cnt();
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  136 | 
  137 |                             for (u32 i = cnt - 1; i < cnt; i--) {
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  138 |                                 u64 new_pid = nid[i];
      |                                 ~~~~~~~~~~~~~~~~~~~~~
  139 |                                 if (current_pid != new_pid) {
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  140 | 
  141 |                                     if (!part_exchange.has_key(current_pid, new_pid)) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  142 |                                         part_exchange.add_obj(
      |                                         ~~~~~~~~~~~~~~~~~~~~~~
  143 |                                             current_pid,
      |                                             ~~~~~~~~~~~~
  144 |                                             new_pid,
      |                                             ~~~~~~~~
  145 |                                             PatchDataLayer(sched.get_layout_ptr_old()));
      |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  146 |                                     }
      |                                     ~
  147 | 
  148 |                                     part_exchange.for_each(
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~
/__w/Shamrock/Shamrock/src/shamrock/include/shamrock/scheduler/ReattributeDataUtility.hpp:133:25: note: FIX-IT applied suggested code changes
  133 |                         if (false) {
      |                         ^

578 warnings generated.
clang-tidy applied 1 of 1 suggested fixes.
Suppressed 578 warnings (577 in non-user code, 1 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.

607 warnings generated.
Suppressed 608 warnings (606 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.

602 warnings generated.
Suppressed 603 warnings (601 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.

952 warnings generated.
Suppressed 953 warnings (860 in non-user code, 92 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.

Suggested changes

Detailed changes :
diff --git a/src/shamrock/include/shamrock/scheduler/ReattributeDataUtility.hpp b/src/shamrock/include/shamrock/scheduler/ReattributeDataUtility.hpp
index 4aa1f0c44..9459abc90 100644
--- a/src/shamrock/include/shamrock/scheduler/ReattributeDataUtility.hpp
+++ b/src/shamrock/include/shamrock/scheduler/ReattributeDataUtility.hpp
@@ -130,31 +130,7 @@ namespace shamrock {
 
                         std::vector<u64> nid = new_pid.get(current_pid).copy_to_stdvec();
 
-                        if (false) {
-
-                            const u32 cnt = pdat.get_obj_cnt();
-
-                            for (u32 i = cnt - 1; i < cnt; i--) {
-                                u64 new_pid = nid[i];
-                                if (current_pid != new_pid) {
-
-                                    if (!part_exchange.has_key(current_pid, new_pid)) {
-                                        part_exchange.add_obj(
-                                            current_pid,
-                                            new_pid,
-                                            PatchDataLayer(sched.get_layout_ptr_old()));
-                                    }
-
-                                    part_exchange.for_each(
-                                        [&](u64 _old_id, u64 _new_id, PatchDataLayer &pdat_int) {
-                                            if (_old_id == current_pid && _new_id == new_pid) {
-                                                pdat.extract_element(i, pdat_int);
-                                                histogram_extract[current_pid]++;
-                                            }
-                                        });
-                                }
-                            }
-                        } else {
+                        {
                             std::vector<u32> keep_ids;
                             std::unordered_map<u64, std::vector<u32>> extract_indexes;
 
diff --git a/src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp b/src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp
index d9fa86142..89acf4573 100644
--- a/src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp
+++ b/src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp
@@ -247,14 +247,14 @@ class SerialPatchTree {
     }
 
     sham::DeviceBuffer<u64> compute_patch_owner(
-        sham::DeviceScheduler_ptr dev_sched,
+        const sham::DeviceScheduler_ptr& dev_sched,
         sham::DeviceBuffer<fp_prec_vec> &position_buffer,
         u32 len);
 };
 
 template<class vec>
 sham::DeviceBuffer<u64> SerialPatchTree<vec>::compute_patch_owner(
-    sham::DeviceScheduler_ptr dev_sched, sham::DeviceBuffer<vec> &position_buffer, u32 len) {
+    const sham::DeviceScheduler_ptr& dev_sched, sham::DeviceBuffer<vec> &position_buffer, u32 len) {
     sham::DeviceBuffer<u64> new_owned_id(len, dev_sched);
 
     if (len == 0) {
# Doxygen diff with `main` Removed warnings : 44 New warnings : 44 Warnings count : 7951 → 7951 (0.0%)
Detailed changes :
- src/shamrock/include/shamrock/patch/PatchField.hpp:24: warning: Compound shamrock::patch::PatchField is not documented.
- src/shamrock/include/shamrock/patch/PatchField.hpp:26: warning: Member field_all (variable) of class shamrock::patch::PatchField is not documented.
+ src/shamrock/include/shamrock/patch/PatchField.hpp:27: warning: Compound shamrock::patch::PatchField is not documented.
- src/shamrock/include/shamrock/patch/PatchField.hpp:28: warning: Member PatchField(shambase::DistributedData< T > &&field_all) (function) of class shamrock::patch::PatchField is not documented.
+ src/shamrock/include/shamrock/patch/PatchField.hpp:29: warning: Member field_all (variable) of class shamrock::patch::PatchField is not documented.
- src/shamrock/include/shamrock/patch/PatchField.hpp:30: warning: Member get(u64 id) (function) of class shamrock::patch::PatchField is not documented.
+ src/shamrock/include/shamrock/patch/PatchField.hpp:31: warning: Member PatchField(shambase::DistributedData< T > &&field_all) (function) of class shamrock::patch::PatchField is not documented.
+ src/shamrock/include/shamrock/patch/PatchField.hpp:33: warning: Member get(u64 id) (function) of class shamrock::patch::PatchField is not documented.
- src/shamrock/include/shamrock/patch/PatchField.hpp:34: warning: Compound shamrock::patch::PatchtreeField is not documented.
- src/shamrock/include/shamrock/patch/PatchField.hpp:36: warning: Member internal_buf (variable) of class shamrock::patch::PatchtreeField is not documented.
+ src/shamrock/include/shamrock/patch/PatchField.hpp:37: warning: Compound shamrock::patch::PatchtreeField is not documented.
- src/shamrock/include/shamrock/patch/PatchField.hpp:38: warning: Member reset() (function) of class shamrock::patch::PatchtreeField is not documented.
+ src/shamrock/include/shamrock/patch/PatchField.hpp:39: warning: Member internal_buf (variable) of class shamrock::patch::PatchtreeField is not documented.
- src/shamrock/include/shamrock/patch/PatchField.hpp:40: warning: Member allocate(u32 size) (function) of class shamrock::patch::PatchtreeField is not documented.
+ src/shamrock/include/shamrock/patch/PatchField.hpp:41: warning: Member reset() (function) of class shamrock::patch::PatchtreeField is not documented.
+ src/shamrock/include/shamrock/patch/PatchField.hpp:43: warning: Member allocate(u32 size, sham::DeviceScheduler_ptr sched) (function) of class shamrock::patch::PatchtreeField 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:108: 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: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:115: 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: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:152: 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:172: warning: Member build(PatchScheduler &sched) (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:177: warning: Member build(PatchScheduler &sched) (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:178: 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:183: warning: Member make_patch_tree_field(PatchScheduler &sched, sham::DeviceScheduler_ptr dev_sched, shamrock::patch::PatchField< T > pfield, Func &&reducer) (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:223: warning: Member dump_dat() (function) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:226: warning: Member dump_dat() (function) of class SerialPatchTree is not documented.
- src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:246: 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:249: 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:35: warning: Compound 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: Compound 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:40: warning: Member PtNode (typedef) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:42: warning: Member PatchTree (typedef) 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: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:44: warning: Member root_count (variable) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:45: warning: Member serial_tree_buf (variable) 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:46: warning: Member linked_patch_ids_buf (variable) of class SerialPatchTree is not documented.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:48: warning: Member attach_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:65: warning: Member detach_buf() (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.
+ src/shamrock/include/shamrock/scheduler/SerialPatchTree.hpp:88: warning: Member print_status() (function) of class SerialPatchTree is not documented.

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