31namespace shammodels::common::io {
47 using namespace shamrock::patch;
49 u64 num_obj = sched.get_rank_count();
51 shamlog_debug_mpi_ln(
"VTKDump",
"rank count =", num_obj);
53 std::unique_ptr<sycl::buffer<Tvec>> pos = sched.rankgather_field<Tvec>(0);
55 writer.write_points(pos, num_obj);
69 u64 num_obj = sched.get_rank_count();
71 using namespace shamrock::patch;
74 sycl::buffer<u64> idp(num_obj);
81 write_with_offset_into(
88 ptr += pdat.get_obj_cnt();
91 writer.write_field(
"patchid", idp, num_obj);
93 writer.write_field_no_buf<
u64>(
"patchid");
106 using namespace shamrock::patch;
107 u64 num_obj = sched.get_rank_count();
110 sycl::buffer<u32> idp(num_obj);
117 write_with_offset_into<u32>(
124 ptr += pdat.get_obj_cnt();
127 writer.write_field(
"world_rank", idp, num_obj);
129 writer.write_field_no_buf<
u32>(
"world_rank");
147 const std::string &field_dump_name) {
150 using namespace shamrock::patch;
151 u64 num_obj = sched.get_rank_count();
154 std::unique_ptr<sycl::buffer<T>> field_vals = field.rankgather_computefield(sched);
156 writer.write_field(field_dump_name, field_vals, num_obj);
158 writer.write_field_no_buf<T>(field_dump_name);
176 const std::string &field_dump_name) {
179 using namespace shamrock::patch;
180 u64 num_obj = sched.get_rank_count();
183 std::unique_ptr<sycl::buffer<T>> field_vals = sched.rankgather_field<T>(field_idx);
185 writer.write_field(field_dump_name, field_vals, num_obj);
187 writer.write_field_no_buf<T>(field_dump_name);
Header file describing a Node Instance.
sycl::queue & get_compute_queue(u32 id=0)
void vtk_dump_add_compute_field(PatchScheduler &sched, shamrock::LegacyVtkWriter &writer, shamrock::ComputeField< T > &field, const std::string &field_dump_name)
Add a compute field to VTK dump.
void vtk_dump_add_field(PatchScheduler &sched, shamrock::LegacyVtkWriter &writer, u32 field_idx, const std::string &field_dump_name)
Add a data field to VTK dump.
shamrock::LegacyVtkWriter start_dump(PatchScheduler &sched, const std::string &dump_name)
Start a VTK dump by writing particle positions.
void vtk_dump_add_patch_id(PatchScheduler &sched, shamrock::LegacyVtkWriter &writer)
Add patch ID field to VTK dump.
void vtk_dump_add_worldrank(PatchScheduler &sched, shamrock::LegacyVtkWriter &writer)
Add world rank field to VTK dump.
std::uint32_t u32
32 bit unsigned integer
std::uint64_t u64
64 bit unsigned integer
PatchDataLayer container class, the layout is described in patchdata_layout.
memory manipulation algorithms
namespace for basic c++ utilities
i32 world_rank()
Gives the rank of the current process in the MPI communicator.
main include file for memory algorithms
This file contains the definition for the stacktrace related functionality.
shambase::details::BasicStackEntry StackEntry
Alias for shambase::details::BasicStackEntry.
Patch object that contain generic patch information.
u64 id_patch
unique key that identify the patch
Functions related to the MPI communicator.