@@ -36,8 +36,8 @@ struct network_output {
36
36
memory::ptr get_memory () const {
37
37
// TODO: in_order queue doesn't create proper output event in some cases which leads to syncronization issues with user app
38
38
// So call finish for associated stream to enusre that the output data is ready.
39
- if (_stream. get_queue_type () == queue_types::in_order) {
40
- _stream. finish ();
39
+ if (_stream-> get_queue_type () == queue_types::in_order) {
40
+ _stream-> finish ();
41
41
} else {
42
42
_event->wait ();
43
43
}
@@ -47,8 +47,8 @@ struct network_output {
47
47
private:
48
48
event::ptr _event;
49
49
memory::ptr _result;
50
- stream& _stream;
51
- network_output (event::ptr evt, memory::ptr mem, stream& stream) : _event(evt), _result(mem), _stream(stream) {}
50
+ stream::ptr _stream;
51
+ network_output (event::ptr evt, memory::ptr mem, stream::ptr stream) : _event(evt), _result(mem), _stream(stream) {}
52
52
friend struct network ;
53
53
};
54
54
@@ -110,6 +110,8 @@ struct network {
110
110
111
111
stream& get_stream () const ;
112
112
113
+ stream::ptr get_stream_ptr () const ;
114
+
113
115
// / @brief Return internal network id.
114
116
uint32_t get_id ();
115
117
@@ -144,7 +146,7 @@ struct network {
144
146
145
147
// / @brief Returns @ref network_output object for particular @p output. Can't be called before network execution
146
148
network_output get_output (const primitive_id& output_id) const {
147
- return network_output (get_primitive_event (output_id), get_output_memory (output_id), get_stream ());
149
+ return network_output (get_primitive_event (output_id), get_output_memory (output_id), get_stream_ptr ());
148
150
}
149
151
150
152
// / @brief Returns the list of @ref event for the primitives that were executed in network.
0 commit comments