summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2025-09-11 16:02:16 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2025-09-11 16:02:16 +0200
commit94eb372b6dd81178f95635e1a9c847e7d16a8fe1 (patch)
tree2eb72b170a2b28cfae7405eec15becbc3e4fdfd4
parent461022ee5135a3bfcca4659cf73fadccc0594d3f (diff)
Yesterdays dangling things
-rw-r--r--.nix/adaptive-cpp.nix8
-rw-r--r--c++/lbm.hpp1
-rw-r--r--default.nix4
-rw-r--r--examples/cavity_2d_gpu/.nix/derivation.nix6
-rw-r--r--examples/cavity_2d_gpu/SConstruct6
-rw-r--r--examples/cavity_2d_gpu/cavity_2d_gpu.cpp12
6 files changed, 26 insertions, 11 deletions
diff --git a/.nix/adaptive-cpp.nix b/.nix/adaptive-cpp.nix
index f2d5f9b..6c70be0 100644
--- a/.nix/adaptive-cpp.nix
+++ b/.nix/adaptive-cpp.nix
@@ -37,6 +37,14 @@ in stdenv.mkDerivation {
"-DCLANG_INCLUDE_PATH=${llvmPackages.libclang.dev}/include"
];
+ postInstall = ''
+ if [ -d "$out/include/AdaptiveCpp" ]; then
+ mv $out/include/AdaptiveCpp .hidden-fake
+ mv .hidden-fake/* $out/include/
+ rmdir .hidden-fake
+ fi
+ '';
+
postFixup = ''
wrapProgram $out/bin/syclcc-clang \
--prefix PATH : ${lib.makeBinPath [ lld ]} \
diff --git a/c++/lbm.hpp b/c++/lbm.hpp
index ddd4617..39c42af 100644
--- a/c++/lbm.hpp
+++ b/c++/lbm.hpp
@@ -8,6 +8,7 @@
#include "component.hpp"
#include "environment.hpp"
#include "equilibrium.hpp"
+#include "iterator.hpp"
#include "macroscopic.hpp"
#include "write_vtk.hpp"
#include "util.hpp"
diff --git a/default.nix b/default.nix
index 937a1de..a26e539 100644
--- a/default.nix
+++ b/default.nix
@@ -33,4 +33,8 @@ in rec {
kel-lbm = lbm;
};
};
+
+ debug = {
+ inherit adaptive-cpp;
+ };
}
diff --git a/examples/cavity_2d_gpu/.nix/derivation.nix b/examples/cavity_2d_gpu/.nix/derivation.nix
index 876bcb7..f8d7314 100644
--- a/examples/cavity_2d_gpu/.nix/derivation.nix
+++ b/examples/cavity_2d_gpu/.nix/derivation.nix
@@ -29,12 +29,6 @@ stdenv.mkDerivation {
kel-lbm
];
- doCheck = true;
- checkPhase = ''
- scons test
- ./bin/tests
- '';
-
preferLocalBuild = true;
outputs = [ "out" "dev" ];
diff --git a/examples/cavity_2d_gpu/SConstruct b/examples/cavity_2d_gpu/SConstruct
index fc60882..da59a2d 100644
--- a/examples/cavity_2d_gpu/SConstruct
+++ b/examples/cavity_2d_gpu/SConstruct
@@ -54,11 +54,13 @@ env=Environment(ENV=os.environ, variables=env_vars, CPPPATH=[],
'-std=c++20',
'-g',
'-Wall',
- '-Wextra'
+ '-Wextra',
+ '-isystem', 'AdaptiveCpp'
],
LIBS=[
'forstio-core',
- 'forstio-codec'
+ 'forstio-codec',
+ 'acpp-rt'
]
);
env.__class__.add_source_files = add_kel_source_files
diff --git a/examples/cavity_2d_gpu/cavity_2d_gpu.cpp b/examples/cavity_2d_gpu/cavity_2d_gpu.cpp
index dc022a1..edb7dd8 100644
--- a/examples/cavity_2d_gpu/cavity_2d_gpu.cpp
+++ b/examples/cavity_2d_gpu/cavity_2d_gpu.cpp
@@ -3,6 +3,8 @@
#include <forstio/codec/data.hpp>
// #include <forstio/remote/
+#include <AdaptiveCpp/sycl/sycl.hpp>
+
#include <iostream>
#include <fstream>
#include <cmath>
@@ -111,6 +113,7 @@ constexpr size_t dim_y = 128;
void set_geometry(saw::data<kel::lbm::sch::CavityFieldD2Q9>& latt){
using namespace kel::lbm;
+ auto meta = latt.meta();
/**
* Set ghost
*/
@@ -183,8 +186,9 @@ void set_initial_conditions(saw::data<kel::lbm::sch::CavityFieldD2Q9>& latt){
void lbm_step(
saw::data<kel::lbm::sch::CavityFieldD2Q9>& latt,
+ bool even_step,
uint64_t time_step,
- sycl::queue& sycl_q
+ acpp::sycl::queue& sycl_q
){
using namespace kel::lbm;
using dfi = df_info<sch::T,sch::D2Q9>;
@@ -283,7 +287,8 @@ int main(){
*/
set_initial_conditions(lattice);
- sycl::queue sycl_q{sycl::default_selector_v, sycl::property::queue::in_order{}};
+ acpp::sycl::queue sycl_q{acpp::sycl::default_selector_v, acpp::sycl::property::queue::in_order{}};
+ acpp::sycl::buffer<saw::data<sch::CavityFieldD2Q9>> df_sycl{&lattice, 1u};
/**
* Timeloop
@@ -297,6 +302,7 @@ int main(){
saw::data<sch::Array<sch::MacroStruct<sch::T,sch::D2Q9::D>,sch::D2Q9::D>> macros{dim};
+
for(uint64_t i = 0u; i < 256u; ++i){
{
std::string vtk_f_name{"tmp/poiseulle_2d_"};
@@ -304,7 +310,7 @@ int main(){
write_vtk_file(vtk_f_name, macros);
}
- lbm_step(lattice, i, sycl_q);
+ lbm_step(lattice, (i%2u == 0u), i, sycl_q);
}
return 0;
}