summaryrefslogtreecommitdiff
path: root/modules/remote-sycl/examples/sycl_basic_kernel.cpp
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2024-05-28 17:23:20 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2024-05-28 17:23:20 +0200
commit7b6e0ca99f8521e034452f0d0243a7f3e33843a9 (patch)
tree22ee558b32738cb670baa3594bcaa9919eb68908 /modules/remote-sycl/examples/sycl_basic_kernel.cpp
parent8b5c1e6a6cd5536d9414262c42452f8655658728 (diff)
Docs and Sycl fixes
Diffstat (limited to 'modules/remote-sycl/examples/sycl_basic_kernel.cpp')
-rw-r--r--modules/remote-sycl/examples/sycl_basic_kernel.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/remote-sycl/examples/sycl_basic_kernel.cpp b/modules/remote-sycl/examples/sycl_basic_kernel.cpp
new file mode 100644
index 0000000..eb79bb8
--- /dev/null
+++ b/modules/remote-sycl/examples/sycl_basic_kernel.cpp
@@ -0,0 +1,12 @@
+#include "sycl_basic.hpp"
+
+rpc_server<schema::BasicInterface, encode::Native<storage::Default>, rmt::Sycl> listen_basic_sycl(remote<rmt::Sycl>& ctx, remote_address<rmt::Sycl>& addr){
+ saw::interface<schema::BasicInterface, saw::encode::Native<saw::storage::Default>, cl::sycl::queue*> iface{
+ [](saw::data<saw::schema::UInt64> in, cl::sycl::queue* q) -> saw::data<saw::schema::UInt64> {
+ return {in.get() + 1u};
+ }
+ };
+ auto rpc_server = remote_ctx.template listen<schema::BasicInterface, saw::encode::Native<saw::storage::Default>>(*rmt_addr, std::move(iface));
+
+ return rpc_server;
+}