diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2024-06-14 14:33:22 +0200 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2024-06-14 14:33:22 +0200 |
commit | 5329652f839b99b95d63cd471ff73d251f74d911 (patch) | |
tree | 20797eb65f3e48686979362f828a6e07b21e9b5a /modules/remote-sycl/examples/sycl_basic.cpp | |
parent | 57f6eacfcdbdba31185eb66b9a573a8923eecf16 (diff) |
Fixed calc of sycl vals
Diffstat (limited to 'modules/remote-sycl/examples/sycl_basic.cpp')
-rw-r--r-- | modules/remote-sycl/examples/sycl_basic.cpp | 41 |
1 files changed, 37 insertions, 4 deletions
diff --git a/modules/remote-sycl/examples/sycl_basic.cpp b/modules/remote-sycl/examples/sycl_basic.cpp index 2e9a4f8..486aca1 100644 --- a/modules/remote-sycl/examples/sycl_basic.cpp +++ b/modules/remote-sycl/examples/sycl_basic.cpp @@ -22,8 +22,12 @@ int main(){ saw::rpc_client<schema::BasicInterface, saw::encode::Native, saw::storage::Default, saw::rmt::Sycl> client{rpc_server}; saw::id<schema::Array<schema::UInt64>> id_zero{0u}; + saw::data<schema::Array<schema::UInt64>, saw::encode::Native> ex_data{1u}; + ex_data.at(0u).set(50u); { - auto eov = client.template call<"increment">(saw::data<schema::Array<schema::UInt64>, saw::encode::Native>{1u}); + auto eov = client.template call<"increment">( + ex_data + ); if(eov.is_error()){ auto& err = eov.get_error(); std::cerr<<"Error: "<<err.get_category()<<" : "<<err.get_message()<<std::endl; @@ -32,17 +36,46 @@ int main(){ id_zero = eov.get_value(); } { + auto rmt_data = rpc_server.request_data<schema::Array<schema::UInt64>, saw::storage::Default>(id_zero); + auto eo_rd = rmt_data.wait(); + if(eo_rd.is_error()){ + auto& err = eo_rd.get_error(); + std::cerr<<"Error: "<<err.get_category()<<" : "<<err.get_message()<<std::endl; + return -2; + } + + auto& val = eo_rd.get_value(); + std::cout<<"Values: "<<val.size()<<"\n"; + for(uint64_t i = 0; i < val.size(); ++i){ + std::cout<<val.at(i).get()<<'\t'; + } + std::cout<<std::endl; + } + saw::id<schema::Array<schema::UInt64>> id_one{1u}; + { 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; return -2; } - auto& val = eov.get_value(); - std::cout<<"Value: "<<val.get_value()<<std::endl; + id_one = eov.get_value(); } { - // auto eo_rd = rpc_server.request_data(id_one); + auto rmt_data = rpc_server.request_data<schema::Array<schema::UInt64>, saw::storage::Default>(id_one); + auto eo_rd = rmt_data.wait(); + if(eo_rd.is_error()){ + auto& err = eo_rd.get_error(); + std::cerr<<"Error: "<<err.get_category()<<" : "<<err.get_message()<<std::endl; + return -2; + } + + auto& val = eo_rd.get_value(); + std::cout<<"Values: "<<val.size()<<"\n"; + for(uint64_t i = 0; i < val.size(); ++i){ + std::cout<<val.at(i).get()<<'\t'; + } + std::cout<<std::endl; } return 0; |