From 624f5d8181a449f36950503859271e1a052e8a65 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Tue, 27 Jan 2026 09:17:33 +0100 Subject: Double free, but constexpr things compile now --- examples/poiseulle_particles_2d_gpu/sim.cpp | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'examples/poiseulle_particles_2d_gpu') diff --git a/examples/poiseulle_particles_2d_gpu/sim.cpp b/examples/poiseulle_particles_2d_gpu/sim.cpp index bb1fca5..4a28541 100644 --- a/examples/poiseulle_particles_2d_gpu/sim.cpp +++ b/examples/poiseulle_particles_2d_gpu/sim.cpp @@ -8,7 +8,7 @@ namespace kel { namespace lbm { constexpr uint64_t dim_x = 256u; -constexpr uint64_t dim_y = 16u; +constexpr uint64_t dim_y = 32u; namespace sch { using namespace saw::schema; @@ -20,8 +20,9 @@ using DfChunk = Chunk, 1u, dim_x, dim_y>; template using ChunkStruct = Struct< - Member - //,Member, "dfs"> + Member, + Member, "dfs">, + Member, "dfs_old"> >; } @@ -66,7 +67,6 @@ saw::error_or setup_initial_conditions(saw::data> {{dim_x, dim_y}}, {{0u,1u}} ); -/* // auto& df_f = fields.template get<"dfs">(); saw::data rho{1}; @@ -82,7 +82,6 @@ saw::error_or setup_initial_conditions(saw::data> {},// 0-index df_f.get_dims() ); -*/ return saw::make_void(); } @@ -90,6 +89,19 @@ saw::error_or setup_initial_conditions(saw::data> template saw::error_or step(saw::data,encode::Sycl>& fields, saw::data t_i, device& dev){ auto& q = dev.get_handle(); + auto& info_f = fields.template get<"info">(); + + q.submit([&](acpp::sycl::handler& h){ + component> collision{0.6}; + h.parallel_for(acpp::sycl::range{dim_x,dim_y}, [=](acpp::sycl::id idx){ + saw::data> index; + for(uint64_t i = 0u; i < Desc::D; ++i){ + index.at({{i}}).set(idx[i]); + } + + collision.apply(fields,index,t_i); + }); + }).wait(); return saw::make_void(); } @@ -132,11 +144,8 @@ saw::error_or lbm_main(int argc, char** argv){ } { - std::cout<<"Hey"<, encode::Sycl> lbm_sycl_data{sycl_q}; sycl_q.wait(); - std::cout<<"Hey2"< lbm_main(int argc, char** argv){ } } sycl_q.wait(); - std::cout<<"Hey3"< i{0u}; i < saw::data{32ul}; ++i){ auto eov = step(lbm_sycl_data,i,dev); @@ -155,7 +163,6 @@ saw::error_or lbm_main(int argc, char** argv){ } sycl_q.wait(); - std::cout<<"Hey4"<::apply( [&](auto& index){ -- cgit v1.2.3