summaryrefslogtreecommitdiff
path: root/modules/remote-sycl/examples
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2024-06-13 17:34:22 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2024-06-13 17:34:22 +0200
commit57f6eacfcdbdba31185eb66b9a573a8923eecf16 (patch)
tree1683da4209744fabbe87a949134701d617c0d5f9 /modules/remote-sycl/examples
parent0f317186de9fb11d336e564f808e4732386c4074 (diff)
Possible fix for transferring primitives to device without dropping STL
Diffstat (limited to 'modules/remote-sycl/examples')
-rw-r--r--modules/remote-sycl/examples/sycl_basic.cpp13
-rw-r--r--modules/remote-sycl/examples/sycl_basic_kernel.cpp2
2 files changed, 9 insertions, 6 deletions
diff --git a/modules/remote-sycl/examples/sycl_basic.cpp b/modules/remote-sycl/examples/sycl_basic.cpp
index 677fd29..2e9a4f8 100644
--- a/modules/remote-sycl/examples/sycl_basic.cpp
+++ b/modules/remote-sycl/examples/sycl_basic.cpp
@@ -14,25 +14,25 @@ int main(){
}).detach();
wait.poll();
-
if(!rmt_addr){
return -1;
}
auto rpc_server = listen_basic_sycl(remote_ctx, *rmt_addr);
+ saw::rpc_client<schema::BasicInterface, saw::encode::Native, saw::storage::Default, saw::rmt::Sycl> client{rpc_server};
- saw::id<schema::Array<schema::UInt64>> next_id{0u};
+ saw::id<schema::Array<schema::UInt64>> id_zero{0u};
{
- auto eov = rpc_server.template call<"increment", saw::storage::Default>(saw::data<schema::Array<schema::UInt64>, saw::encode::Native>{1u});
+ auto eov = client.template call<"increment">(saw::data<schema::Array<schema::UInt64>, saw::encode::Native>{1u});
if(eov.is_error()){
auto& err = eov.get_error();
std::cerr<<"Error: "<<err.get_category()<<" : "<<err.get_message()<<std::endl;
return -2;
}
- next_id = eov.get_value();
+ id_zero = eov.get_value();
}
{
- auto eov = rpc_server.template call<"increment", saw::storage::Default>(next_id);
+ auto eov = client.template call<"increment">(id_zero);
if(eov.is_error()){
auto& err = eov.get_error();
std::cerr<<"Error: "<<err.get_category()<<" : "<<err.get_message()<<std::endl;
@@ -41,6 +41,9 @@ int main(){
auto& val = eov.get_value();
std::cout<<"Value: "<<val.get_value()<<std::endl;
}
+ {
+ // auto eo_rd = rpc_server.request_data(id_one);
+ }
return 0;
}
diff --git a/modules/remote-sycl/examples/sycl_basic_kernel.cpp b/modules/remote-sycl/examples/sycl_basic_kernel.cpp
index 94583b9..888f905 100644
--- a/modules/remote-sycl/examples/sycl_basic_kernel.cpp
+++ b/modules/remote-sycl/examples/sycl_basic_kernel.cpp
@@ -7,7 +7,7 @@ saw::rpc_server<schema::BasicInterface, saw::encode::Native, saw::rmt::Sycl> lis
q->submit([&](cl::sycl::handler& h){
h.parallel_for(cl::sycl::range<1>(1u), [&] (cl::sycl::id<1> it){
- in.at(0u) += 1u;
+ in.at(0u).set(in.at(0u).get() + 1u);
});
});
q->wait();