From 7b6e0ca99f8521e034452f0d0243a7f3e33843a9 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Tue, 28 May 2024 17:23:20 +0200 Subject: Docs and Sycl fixes --- modules/remote-sycl/examples/SConscript | 8 +++++++- modules/remote-sycl/examples/sycl_basic.cpp | 21 ++++----------------- modules/remote-sycl/examples/sycl_basic.hpp | 13 +++++++++++++ modules/remote-sycl/examples/sycl_basic_kernel.cpp | 12 ++++++++++++ 4 files changed, 36 insertions(+), 18 deletions(-) create mode 100644 modules/remote-sycl/examples/sycl_basic.hpp create mode 100644 modules/remote-sycl/examples/sycl_basic_kernel.cpp (limited to 'modules/remote-sycl/examples') diff --git a/modules/remote-sycl/examples/SConscript b/modules/remote-sycl/examples/SConscript index 7fa9429..1e77251 100644 --- a/modules/remote-sycl/examples/SConscript +++ b/modules/remote-sycl/examples/SConscript @@ -12,14 +12,20 @@ dir_path = Dir('.').abspath # Environment for base library examples_env = env.Clone(); +examples_sycl_env = examples_env.Clone(); +examples_sycl_env['CXX'] = 'syclcc'; + examples_env.sources = sorted(glob.glob(dir_path + "/*.cpp")) examples_env.headers = sorted(glob.glob(dir_path + "/*.hpp")) env.sources += examples_env.sources; env.headers += examples_env.headers; +sycl_objects = []; +examples_sycl_env.add_source_files(sycl_objects, ['sycl_basic_kernel.cpp'], shared=True); + objects_static = [] -examples_env.sycl_basic = examples_env.Program('#bin/sycl_basic', ['sycl_basic.cpp', env.library_static]); +examples_env.sycl_basic = examples_env.Program('#bin/sycl_basic', ['sycl_basic.cpp', env.library_static, sycl_objects]); # Set Alias env.examples = [examples_env.sycl_basic]; diff --git a/modules/remote-sycl/examples/sycl_basic.cpp b/modules/remote-sycl/examples/sycl_basic.cpp index a180d23..abea738 100644 --- a/modules/remote-sycl/examples/sycl_basic.cpp +++ b/modules/remote-sycl/examples/sycl_basic.cpp @@ -1,12 +1,4 @@ -#include "../c++/remote.hpp" - -namespace schema { -using namespace saw::schema; - -using BasicInterface = Interface< - Member, "increment"> ->; -} +#include "./sycl_basic.hpp" int main(){ saw::remote remote_ctx; @@ -26,20 +18,15 @@ int main(){ return -1; } - saw::interface, cl::sycl::queue*> iface{ - [](saw::data in, cl::sycl::queue* q) -> saw::data { - return {in.get() + 1u}; - } - }; - auto rpc_server = remote_ctx.template listen>(*rmt_addr, std::move(iface)); + auto rpc_server = listen_basic_sycl(remote_ctx, *rmt_addr); { - auto eov = rpc_server.template call<"increment">({1u}); + auto eov = rpc_server.template call<"increment">(saw::id{1u}); if(eov.is_error()){ return -2; } auto& val = eov.get_value(); - std::cout<<"Value: "<, "increment"> +>; +} + +saw::rpc_server, saw::rmt::Sycl> listen_basic_sycl(saw::remote& ctx, saw::remote_address& addr); 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, rmt::Sycl> listen_basic_sycl(remote& ctx, remote_address& addr){ + saw::interface, cl::sycl::queue*> iface{ + [](saw::data in, cl::sycl::queue* q) -> saw::data { + return {in.get() + 1u}; + } + }; + auto rpc_server = remote_ctx.template listen>(*rmt_addr, std::move(iface)); + + return rpc_server; +} -- cgit v1.2.3