57 std::shared_ptr<sham::DeviceScheduler> dev_sched;
62 inline CommunicationBuffer(
63 u64 bytelen, std::shared_ptr<sham::DeviceScheduler> dev_sched)
64 : dev_sched(dev_sched), usm_buf(bytelen, dev_sched) {}
66 inline CommunicationBuffer(
68 std::shared_ptr<sham::DeviceScheduler> dev_sched)
69 : dev_sched(dev_sched),
72 inline std::unique_ptr<CommunicationBuffer> duplicate_to_ptr() {
73 std::unique_ptr<CommunicationBuffer> ret
74 = std::make_unique<CommunicationBuffer>(usm_buf.copy(), dev_sched);
78 inline u64 get_size() {
return usm_buf.get_size(); }
89 u8 *ptr = usm_buf.get_write_access(depends_list);
91 usm_buf.complete_event_state(sycl::event{});
100 std::shared_ptr<sham::DeviceScheduler> dev_sched;
105 inline CommunicationBuffer(
106 u64 bytelen, std::shared_ptr<sham::DeviceScheduler> dev_sched)
107 : dev_sched(dev_sched), usm_buf(bytelen, dev_sched) {}
109 inline CommunicationBuffer(
111 std::shared_ptr<sham::DeviceScheduler> dev_sched)
112 : dev_sched(dev_sched),
115 inline std::unique_ptr<CommunicationBuffer> duplicate_to_ptr() {
116 std::unique_ptr<CommunicationBuffer> ret
117 = std::make_unique<CommunicationBuffer>(usm_buf.copy(), dev_sched);
125 inline u64 get_size() {
return usm_buf.get_size(); }
128 return std::move(buf.usm_buf);
133 u8 *ptr = usm_buf.get_write_access(depends_list);
135 usm_buf.complete_event_state(sycl::event{});