![]() |
Shamrock 2025.10.0
Astrophysical Code
|
Class to handle PatchData owned by the node. More...
#include <shamrock/include/shamrock/scheduler/SchedulerPatchData.hpp>
Collaboration diagram for shamrock::scheduler::SchedulerPatchData:Public Member Functions | |
| shamrock::patch::PatchDataLayerLayout & | pdl () |
| std::shared_ptr< shamrock::patch::PatchDataLayerLayout > | get_layout_ptr () const |
| bool | has_patch (u64 id) |
| PatchData & | get_pdat (u64 id) |
| void | for_each_patchdata (std::function< void(u64, PatchData &)> &&f) |
| void | apply_change_list (const shamrock::scheduler::LoadBalancingChangeList &change_list, SchedulerPatchList &patch_list) |
| apply a load balancing change list to shuffle patchdata arround the cluster | |
| void | split_patchdata (u64 key_orginal, const std::array< shamrock::patch::Patch, 8 > patches) |
| split a patchdata into 8 childs according to the 8 patches in arguments | |
| void | merge_patchdata (u64 new_key, const std::array< u64, 8 > old_keys) |
| merge 8 old patchdata into one | |
| SchedulerPatchData (const std::shared_ptr< shamrock::patch::PatchDataLayerLayout > &pdl_ptr, shamrock::patch::PatchCoord< 3 > patch_coord_range) | |
Public Attributes | |
| std::shared_ptr< PatchDataLayerLayout > | pdl_ptr |
| shambase::DistributedData< PatchData > | owned_data |
| map container for patchdata owned by the current node (layout : id_patch,data) | |
| shamrock::patch::SimulationBoxInfo | sim_box |
| simulation box geometry info | |
Class to handle PatchData owned by the node.
Definition at line 42 of file SchedulerPatchData.hpp.
|
inline |
Definition at line 100 of file SchedulerPatchData.hpp.
| void shamrock::scheduler::SchedulerPatchData::apply_change_list | ( | const shamrock::scheduler::LoadBalancingChangeList & | change_list, |
| SchedulerPatchList & | patch_list | ||
| ) |
apply a load balancing change list to shuffle patchdata arround the cluster
| change_list | |
| patch_list |
Definition at line 100 of file SchedulerPatchData.cpp.
Here is the call graph for this function:
|
inline |
Definition at line 64 of file SchedulerPatchData.hpp.
|
inline |
Definition at line 50 of file SchedulerPatchData.hpp.
Definition at line 62 of file SchedulerPatchData.hpp.
|
inline |
Definition at line 60 of file SchedulerPatchData.hpp.
| void shamrock::scheduler::SchedulerPatchData::merge_patchdata | ( | u64 | new_key, |
| const std::array< u64, 8 > | old_keys | ||
| ) |
merge 8 old patchdata into one
| new_key | new key to store the merge data in the map |
| old_keys | old patch ids |
Definition at line 360 of file SchedulerPatchData.cpp.
Here is the call graph for this function:
|
inline |
Definition at line 46 of file SchedulerPatchData.hpp.
| void shamrock::scheduler::SchedulerPatchData::split_patchdata | ( | u64 | key_orginal, |
| const std::array< shamrock::patch::Patch, 8 > | patches | ||
| ) |
split a patchdata into 8 childs according to the 8 patches in arguments
| key_orginal | key of the original patchdata |
| patches | the patches |
Definition at line 302 of file SchedulerPatchData.cpp.
Here is the call graph for this function:| shambase::DistributedData<PatchData> shamrock::scheduler::SchedulerPatchData::owned_data |
map container for patchdata owned by the current node (layout : id_patch,data)
Definition at line 58 of file SchedulerPatchData.hpp.
| std::shared_ptr<PatchDataLayerLayout> shamrock::scheduler::SchedulerPatchData::pdl_ptr |
Definition at line 44 of file SchedulerPatchData.hpp.
| shamrock::patch::SimulationBoxInfo shamrock::scheduler::SchedulerPatchData::sim_box |
simulation box geometry info
Definition at line 72 of file SchedulerPatchData.hpp.