Skip to content

Commit d64e6b6

Browse files
committed
Move common code to engine class
1 parent 8d0b5bf commit d64e6b6

File tree

6 files changed

+19
-40
lines changed

6 files changed

+19
-40
lines changed

src/plugins/intel_gpu/include/intel_gpu/runtime/engine.hpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ class engine {
142142
virtual stream_ptr create_stream(const ExecutionConfig& config, void *handle) const = 0;
143143

144144
/// Returns service stream which can be used during program build and optimizations
145-
virtual stream& get_service_stream() const = 0;
145+
virtual stream& get_service_stream() const;
146146

147147
virtual std::shared_ptr<kernel_builder> create_kernel_builder() const = 0;
148148

@@ -157,7 +157,7 @@ class engine {
157157
virtual void create_onednn_engine(const ExecutionConfig& config) = 0;
158158

159159
/// Returns onednn engine object which shares device and context with current engine
160-
virtual dnnl::engine& get_onednn_engine() const = 0;
160+
virtual dnnl::engine& get_onednn_engine() const;
161161
#endif
162162

163163
/// Factory method which creates engine object with impl configured by @p engine_type
@@ -177,6 +177,12 @@ class engine {
177177
engine(const device::ptr device);
178178
const device::ptr _device;
179179
bool enable_large_allocations = false;
180+
std::unique_ptr<stream> _service_stream;
181+
182+
#ifdef ENABLE_ONEDNN_FOR_GPU
183+
std::mutex onednn_mutex;
184+
std::shared_ptr<dnnl::engine> _onednn_engine;
185+
#endif
180186

181187
std::array<std::atomic<uint64_t>, static_cast<size_t>(allocation_type::max_value)> _memory_usage_data{};
182188
std::array<std::atomic<uint64_t>, static_cast<size_t>(allocation_type::max_value)> _peak_memory_usage_data{};

src/plugins/intel_gpu/src/runtime/engine.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,4 +339,15 @@ bool engine::check_allocatable(const layout& layout, allocation_type type) {
339339
return true;
340340
}
341341

342+
#ifdef ENABLE_ONEDNN_FOR_GPU
343+
dnnl::engine& engine::get_onednn_engine() const {
344+
OPENVINO_ASSERT(_onednn_engine, "[GPU] Can't get onednn engine handle as it was not initialized. Please check that create_onednn_engine() was called");
345+
return *_onednn_engine;
346+
}
347+
#endif
348+
349+
stream& engine::get_service_stream() const {
350+
return *_service_stream;
351+
}
352+
342353
} // namespace cldnn

src/plugins/intel_gpu/src/runtime/ocl/ocl_engine.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,6 @@ void ocl_engine::create_onednn_engine(const ExecutionConfig& config) {
7171
#endif
7272
}
7373
}
74-
75-
dnnl::engine& ocl_engine::get_onednn_engine() const {
76-
OPENVINO_ASSERT(_onednn_engine, "[GPU] Can't get onednn engine handle as it was not initialized. Please check that create_onednn_engine() was called");
77-
return *_onednn_engine;
78-
}
7974
#endif
8075

8176
const cl::Context& ocl_engine::get_cl_context() const {
@@ -281,10 +276,6 @@ stream::ptr ocl_engine::create_stream(const ExecutionConfig& config, void* handl
281276
return std::make_shared<ocl_stream>(*this, config, handle);
282277
}
283278

284-
stream& ocl_engine::get_service_stream() const {
285-
return *_service_stream;
286-
}
287-
288279
std::shared_ptr<cldnn::engine> ocl_engine::create(const device::ptr device, runtime_types runtime_type) {
289280
return std::make_shared<ocl::ocl_engine>(device, runtime_type);
290281
}

src/plugins/intel_gpu/src/runtime/ocl/ocl_engine.hpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,26 +43,17 @@ class ocl_engine : public engine {
4343

4444
stream_ptr create_stream(const ExecutionConfig& config) const override;
4545
stream_ptr create_stream(const ExecutionConfig& config, void *handle) const override;
46-
stream& get_service_stream() const override;
4746

4847
std::shared_ptr<kernel_builder> create_kernel_builder() const override;
4948

5049
#ifdef ENABLE_ONEDNN_FOR_GPU
5150
void create_onednn_engine(const ExecutionConfig& config) override;
52-
// Returns onednn engine object which shares device and context with current engine
53-
dnnl::engine& get_onednn_engine() const override;
5451
#endif
5552

5653
static std::shared_ptr<cldnn::engine> create(const device::ptr device, runtime_types runtime_type);
5754

5855
private:
5956
std::string _extensions;
60-
std::unique_ptr<stream> _service_stream;
61-
62-
#ifdef ENABLE_ONEDNN_FOR_GPU
63-
std::mutex onednn_mutex;
64-
std::shared_ptr<dnnl::engine> _onednn_engine;
65-
#endif
6657
};
6758

6859
} // namespace ocl

src/plugins/intel_gpu/src/runtime/ze/ze_engine.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,6 @@ void ze_engine::create_onednn_engine(const ExecutionConfig& config) {
4545
_onednn_engine = std::make_shared<dnnl::engine>(dnnl::l0_interop::make_engine(casted->get_driver(), casted->get_device(), casted->get_context()));
4646
}
4747
}
48-
49-
dnnl::engine& ze_engine::get_onednn_engine() const {
50-
OPENVINO_ASSERT(_onednn_engine, "[GPU] Can't get onednn engine handle as it was not initialized. Please check that create_onednn_engine() was called");
51-
return *_onednn_engine;
52-
}
5348
#endif
5449

5550
const ze_driver_handle_t ze_engine::get_driver() const {
@@ -173,10 +168,6 @@ stream::ptr ze_engine::create_stream(const ExecutionConfig& config, void* handle
173168
OPENVINO_NOT_IMPLEMENTED;
174169
}
175170

176-
stream& ze_engine::get_service_stream() const {
177-
return *_service_stream;
178-
}
179-
180171
std::shared_ptr<cldnn::engine> ze_engine::create(const device::ptr device, runtime_types runtime_type) {
181172
return std::make_shared<ze::ze_engine>(device, runtime_type);
182173
}

src/plugins/intel_gpu/src/runtime/ze/ze_engine.hpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,25 +38,14 @@ class ze_engine : public engine {
3838

3939
stream_ptr create_stream(const ExecutionConfig& config) const override;
4040
stream_ptr create_stream(const ExecutionConfig& config, void *handle) const override;
41-
stream& get_service_stream() const override;
4241

4342
std::shared_ptr<kernel_builder> create_kernel_builder() const override;
4443

4544
#ifdef ENABLE_ONEDNN_FOR_GPU
4645
void create_onednn_engine(const ExecutionConfig& config) override;
47-
// Returns onednn engine object which shares device and context with current engine
48-
dnnl::engine& get_onednn_engine() const override;
4946
#endif
5047

5148
static std::shared_ptr<cldnn::engine> create(const device::ptr device, runtime_types runtime_type);
52-
53-
private:
54-
std::unique_ptr<stream> _service_stream;
55-
56-
#ifdef ENABLE_ONEDNN_FOR_GPU
57-
std::mutex onednn_mutex;
58-
std::shared_ptr<dnnl::engine> _onednn_engine;
59-
#endif
6049
};
6150

6251
} // namespace ze

0 commit comments

Comments
 (0)