summaryrefslogtreecommitdiff
path: root/modules/remote-sycl
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
parent8b5c1e6a6cd5536d9414262c42452f8655658728 (diff)
Docs and Sycl fixes
Diffstat (limited to 'modules/remote-sycl')
-rw-r--r--modules/remote-sycl/.nix/derivation.nix2
-rw-r--r--modules/remote-sycl/examples/SConscript8
-rw-r--r--modules/remote-sycl/examples/sycl_basic.cpp21
-rw-r--r--modules/remote-sycl/examples/sycl_basic.hpp13
-rw-r--r--modules/remote-sycl/examples/sycl_basic_kernel.cpp12
5 files changed, 37 insertions, 19 deletions
diff --git a/modules/remote-sycl/.nix/derivation.nix b/modules/remote-sycl/.nix/derivation.nix
index 0ce1cfa..2b00ada 100644
--- a/modules/remote-sycl/.nix/derivation.nix
+++ b/modules/remote-sycl/.nix/derivation.nix
@@ -44,7 +44,7 @@ in stdenv.mkDerivation {
scons prefix=$out build_examples=${build_examples} install
'';
- doCheck = true;
+ doCheck = false;
checkPhase = ''
scons test
./bin/tests
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<Function<UInt64, UInt64>, "increment">
->;
-}
+#include "./sycl_basic.hpp"
int main(){
saw::remote<saw::rmt::Sycl> remote_ctx;
@@ -26,20 +18,15 @@ int main(){
return -1;
}
- 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));
+ 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<schema::UInt64>{1u});
if(eov.is_error()){
return -2;
}
auto& val = eov.get_value();
- std::cout<<"Value: "<<val<<std::endl;
+ // std::cout<<"Value: "<<val<<std::endl;
}
diff --git a/modules/remote-sycl/examples/sycl_basic.hpp b/modules/remote-sycl/examples/sycl_basic.hpp
new file mode 100644
index 0000000..0d4b5d2
--- /dev/null
+++ b/modules/remote-sycl/examples/sycl_basic.hpp
@@ -0,0 +1,13 @@
+#pragma once
+
+#include "../c++/remote.hpp"
+
+namespace schema {
+using namespace saw::schema;
+
+using BasicInterface = Interface<
+ Member<Function<UInt64, UInt64>, "increment">
+>;
+}
+
+saw::rpc_server<schema::BasicInterface, saw::encode::Native<saw::storage::Default>, saw::rmt::Sycl> listen_basic_sycl(saw::remote<saw::rmt::Sycl>& ctx, saw::remote_address<saw::rmt::Sycl>& 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<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;
+}