From f5c40005f576b5a3416c2cda8c60e5f100810ddb Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Wed, 5 Nov 2025 09:47:57 +0100 Subject: Dangling changes --- default.nix | 14 ++++++++++ examples/poiseulle_3d/poiseulle_3d.cpp | 50 ++++++++++++++++++++++++++++++++++ util/build.sh | 4 +-- 3 files changed, 66 insertions(+), 2 deletions(-) diff --git a/default.nix b/default.nix index 5f7dc1b..287ec0a 100644 --- a/default.nix +++ b/default.nix @@ -69,4 +69,18 @@ in rec { debug = { inherit adaptive-cpp; }; + + release = { + dev = { + inherit lbm; + }; + + examples = pkgs.symlinkJoin { + name = "kel-lbm-sims-${version}"; + paths = [ + lbm + examples.cavity_2d_gpu + ]; + }; + }; } diff --git a/examples/poiseulle_3d/poiseulle_3d.cpp b/examples/poiseulle_3d/poiseulle_3d.cpp index 9220a1f..e6d0a61 100644 --- a/examples/poiseulle_3d/poiseulle_3d.cpp +++ b/examples/poiseulle_3d/poiseulle_3d.cpp @@ -50,6 +50,56 @@ public: return inner_.internal_data(); } }; + +template +class data>, encode::Sycl> final { +public: + using Schema = schema::Ref>; + using MetaSchema = typename meta_schema::MetaSchema; +private: + data, Encode>* inner_ref_; + data size_; +public: + data() = delete; + data(data& inner_meta__, acpp::sycl::queue& q): + inner_{inner_meta__,q} + {} + + const data meta() const { + return inner_.dims(); + } + + template + data get_dim_size() const { + static_assert(i < Desc::D, "Not enough dimensions"); + return inner_.template get_dim_size(); + } + + const data& operator()(const data, Encode>& index)const{ + return inner_.at(index); + } + + data& operator()(const data, Encode>& index){ + return inner_.at(index); + } + + const data& at(const data, Encode>& index)const{ + return inner_.at(index); + } + + data& at(const data, Encode>& index){ + return inner_.at(index); + } + + data internal_size() const { + return inner_.internal_size(); + } + + data* internal_data() { + return inner_.internal_data(); + } +}; + } namespace kel { diff --git a/util/build.sh b/util/build.sh index d6d0a8d..40fcae5 100755 --- a/util/build.sh +++ b/util/build.sh @@ -30,7 +30,7 @@ podman run --rm -it \ set -euo pipefail # Build the derivation - nix-build default.nix --out-link result + nix-build default.nix -A release.examples --out-link result # Install fpm if missing if ! command -v fpm >/dev/null 2>&1; then @@ -41,7 +41,7 @@ podman run --rm -it \ nix-shell -p fpm --run \"fpm -s dir -t deb -n \$PKG_NAME -v \$PKG_VERSION -C result --prefix /usr/local .\" # Create .rpm package - nix-shell -p fpm rpm --run \"fpm -s dir -t rpm -n \$PKG_NAME -v \$PKG_VERSION -C result --prefix /usr/local .\" + # nix-shell -p fpm rpm --run \"fpm -s dir -t rpm -n \$PKG_NAME -v \$PKG_VERSION -C result --prefix /usr/local .\" " echo "✅ Build complete!" -- cgit v1.2.3