[GPU] Use ocl for i32 dtype concat / enable_profiling for dump_profiling (#15419)

* Use ocl for i32 concat

* Enabling dgpu profiling
This commit is contained in:
Taylor Yeonbok Lee 2023-02-01 11:08:58 -08:00 committed by GitHub
parent 3e70a9206b
commit 3910e0b2d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 13 deletions

View File

@ -42,25 +42,33 @@ struct typed_primitive_onednn_impl : public typed_primitive_impl<PType> {
bool _enable_profiling = false;
typed_primitive_onednn_impl(const engine& engine,
const ExecutionConfig& config,
std::shared_ptr<dnnl::primitive_attr> attrs,
const PrimDescType& pd,
kernel_selector::WeightsReorderParams weights_reorder = {})
const ExecutionConfig& config,
std::shared_ptr<dnnl::primitive_attr> attrs,
const PrimDescType& pd,
kernel_selector::WeightsReorderParams weights_reorder = {})
: typed_primitive_impl<PType>(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<PType>({}, "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<PType>({}, "undef"),

View File

@ -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;