diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-01-23 16:39:27 +0100 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-01-23 16:39:27 +0100 |
| commit | 6d6452b24e15e6291ba5790ede485f59d4ca28b8 (patch) | |
| tree | 54dc4a6fa98a873d9924f02c97458530ec3c5d1d /examples/poiseulle_particles_2d_gpu | |
| parent | 6c394afaa2c0cf008ee8c1c1a9cc860d10c50dd0 (diff) | |
| download | libs-lbm-6d6452b24e15e6291ba5790ede485f59d4ca28b8.tar.gz | |
Fixed Address boundary issues with different copy approach
Diffstat (limited to 'examples/poiseulle_particles_2d_gpu')
| -rw-r--r-- | examples/poiseulle_particles_2d_gpu/sim.cpp | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/examples/poiseulle_particles_2d_gpu/sim.cpp b/examples/poiseulle_particles_2d_gpu/sim.cpp index 008d8f0..bb1fca5 100644 --- a/examples/poiseulle_particles_2d_gpu/sim.cpp +++ b/examples/poiseulle_particles_2d_gpu/sim.cpp @@ -1,5 +1,5 @@ -#include <kel/lbm/lbm.hpp> #include <kel/lbm/sycl/lbm.hpp> +#include <kel/lbm/lbm.hpp> #include <forstio/remote/filesystem/easy.hpp> #include <forstio/codec/json/json.hpp> @@ -13,16 +13,6 @@ constexpr uint64_t dim_y = 16u; namespace sch { using namespace saw::schema; -template<typename T, typename Desc> -using CellStruct = Struct< - Member<FixedArray<T,Desc::Q>, "dfs">, - Member<FixedArray<T,Desc::Q>, "dfs_old">, - Member<UInt8, "info">, - Member<Vector<T,Desc::D>, "velocity">, - Member<Vector<T,Desc::D>, "force"> ->; - - using InfoChunk = Chunk<UInt8, 0u, dim_x, dim_y>; template<typename T, typename Desc> @@ -127,14 +117,15 @@ saw::error_or<void> lbm_main(int argc, char** argv){ }; // saw::data<sch::FixedArray<sch::UInt64,Desc::D>> meta{{dim_x,dim_y}}; - saw::data<sch::ChunkStruct<T,Desc>> lbm_data{}; + auto lbm_data_ptr = saw::heap<saw::data<sch::ChunkStruct<T,Desc>>>(); device dev; + auto& sycl_q = dev.get_handle(); sycl_q.wait(); { - auto eov = setup_initial_conditions<T,Desc>(lbm_data); + auto eov = setup_initial_conditions<T,Desc>(*lbm_data_ptr); if(eov.is_error()){ return eov; } @@ -147,7 +138,7 @@ saw::error_or<void> lbm_main(int argc, char** argv){ sycl_q.wait(); std::cout<<"Hey2"<<std::endl; { - auto eov = dev.copy_to_device(lbm_data,lbm_sycl_data); + auto eov = dev.copy_to_device(*lbm_data_ptr,lbm_sycl_data); if(eov.is_error()){ return eov; } |
