diff options
| -rw-r--r-- | lib/sycl/c++/index.hpp | 18 | ||||
| -rw-r--r-- | lib/sycl/c++/sycl.hpp | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/sycl/c++/index.hpp b/lib/sycl/c++/index.hpp new file mode 100644 index 0000000..0d2c035 --- /dev/null +++ b/lib/sycl/c++/index.hpp @@ -0,0 +1,18 @@ +#pragma once + +#include "common.hpp" + +namespace kel { +namespace lbm { +template<typename D> +saw::data<sch::FixedArray<sch::UInt64,D>> sycl_to_saw_index(const acpp::sycl::id<D>& idx){ + saw::data<sch::FixedArray<sch::UInt64,D>> trans_index; + + for(uint64_t i{0u}; i < D; ++i){ + trans_index.at({{i}}).set(idx[i]); + } + + return trans_index; +} +} +} diff --git a/lib/sycl/c++/sycl.hpp b/lib/sycl/c++/sycl.hpp index 8ddc3cd..973b511 100644 --- a/lib/sycl/c++/sycl.hpp +++ b/lib/sycl/c++/sycl.hpp @@ -2,3 +2,4 @@ #include "common.hpp" #include "data.hpp" +#include "index.hpp" |
