From 3910e0b2d03177ff307348980f1024210749564d Mon Sep 17 00:00:00 2001 From: Taylor Yeonbok Lee Date: Wed, 1 Feb 2023 11:08:58 -0800 Subject: [PATCH] [GPU] Use ocl for i32 dtype concat / enable_profiling for dump_profiling (#15419) * Use ocl for i32 concat * Enabling dgpu profiling --- .../impls/onednn/primitive_onednn_base.h | 34 ++++++++++++------- .../intel_gpu/src/graph/layout_optimizer.cpp | 3 ++ 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/primitive_onednn_base.h b/src/plugins/intel_gpu/src/graph/impls/onednn/primitive_onednn_base.h index 5dc07bf2cb7..2fc59e801b5 100644 --- a/src/plugins/intel_gpu/src/graph/impls/onednn/primitive_onednn_base.h +++ b/src/plugins/intel_gpu/src/graph/impls/onednn/primitive_onednn_base.h @@ -42,25 +42,33 @@ struct typed_primitive_onednn_impl : public typed_primitive_impl { bool _enable_profiling = false; typed_primitive_onednn_impl(const engine& engine, - const ExecutionConfig& config, - std::shared_ptr attrs, - const PrimDescType& pd, - kernel_selector::WeightsReorderParams weights_reorder = {}) + const ExecutionConfig& config, + std::shared_ptr attrs, + const PrimDescType& pd, + kernel_selector::WeightsReorderParams weights_reorder = {}) : typed_primitive_impl(weights_reorder, pd.impl_info_str()), - _engine(&engine), - _attrs(attrs), - _pd(pd), - _enable_profiling(config.get_property(ov::enable_profiling)) { + _engine(&engine), + _attrs(attrs), + _pd(pd) { + _enable_profiling = config.get_property(ov::enable_profiling); + GPU_DEBUG_GET_INSTANCE(debug_config); + GPU_DEBUG_IF(!debug_config->dump_profiling_data.empty()) { + _enable_profiling = true; + } build_primitive(config); } typed_primitive_onednn_impl(const engine& engine, const ExecutionConfig& config = {}) : typed_primitive_impl({}, "undef"), - _engine(&engine), - _pd(), - _prim(), - _enable_profiling(config.get_property(ov::enable_profiling)) { - } + _engine(&engine), + _pd(), + _prim() { + _enable_profiling = config.get_property(ov::enable_profiling); + GPU_DEBUG_GET_INSTANCE(debug_config); + GPU_DEBUG_IF(!debug_config->dump_profiling_data.empty()) { + _enable_profiling = true; + } + } typed_primitive_onednn_impl() : typed_primitive_impl({}, "undef"), diff --git a/src/plugins/intel_gpu/src/graph/layout_optimizer.cpp b/src/plugins/intel_gpu/src/graph/layout_optimizer.cpp index eb61ed6f871..ef25da3ccae 100644 --- a/src/plugins/intel_gpu/src/graph/layout_optimizer.cpp +++ b/src/plugins/intel_gpu/src/graph/layout_optimizer.cpp @@ -1564,6 +1564,9 @@ impl_types layout_optimizer::get_preferred_impl_type(program_node& node, format if (!_optimization_attributes.use_onednn_impls) return impl_types::ocl; + if (node.get_output_layout().data_type == data_types::i32) + return impl_types::ocl; + for (auto& dep : node.get_dependencies()) { if (dep.first->is_in_data_flow() && dep.first->get_preferred_impl_type() == impl_types::onednn) { return impl_types::onednn;