[GPU] Add Disable Winograd convolution debug config. (#18701)
Signed-off-by: hyunback <hyunback.kim@intel.com>
This commit is contained in:
@@ -121,6 +121,7 @@ public:
|
||||
std::vector<std::string> forced_impl_types; // Force implementation type either ocl or onednn
|
||||
int max_kernels_per_batch; // Maximum number of kernels in a batch during compiling kernels
|
||||
int disable_async_compilation; // Disable async compilation
|
||||
int disable_winograd_conv; // Disable Winograd conv
|
||||
int disable_dynamic_impl; // Disable dynamic implementation
|
||||
int disable_runtime_buffer_fusing; // Disable runtime buffer fusing
|
||||
int disable_memory_reuse; // Disable memmory reuse among layers
|
||||
|
||||
@@ -505,6 +505,10 @@ bool should_use_winograd_2x3_s1(const convolution_node& node,
|
||||
return false;
|
||||
|
||||
// cases when NOT to use winograd
|
||||
GPU_DEBUG_GET_INSTANCE(debug_config);
|
||||
GPU_DEBUG_IF(debug_config->disable_winograd_conv == 1)
|
||||
return false;
|
||||
|
||||
auto prim = node.get_primitive();
|
||||
if (input_layout.data_type != data_types::f16
|
||||
|| input_layout.feature() % 64 != 0 // current algorithm is effective for ifm to be multiply of 64
|
||||
|
||||
@@ -134,9 +134,12 @@ static void print_help_messages() {
|
||||
" For primitives fc, gemm, do, reduce, concat are supported. Separated by space.");
|
||||
message_list.emplace_back("OV_GPU_MaxKernelsPerBatch", "Maximum number of kernels in a batch during compiling kernels");
|
||||
message_list.emplace_back("OV_GPU_DisableAsyncCompilation", "Disable async compilation");
|
||||
message_list.emplace_back("OV_GPU_DisableWinogradConv", "Disable Winograd convolution");
|
||||
message_list.emplace_back("OV_GPU_DisableDynamicImpl", "Disable dynamic implementation");
|
||||
message_list.emplace_back("OV_GPU_DisableRuntimeBufferFusing", "Disable runtime buffer fusing");
|
||||
message_list.emplace_back("OV_GPU_DisableMemoryReuse", "Disable memory reuse");
|
||||
message_list.emplace_back("OV_GPU_DisableBuildTimeWeightReorderForDynamicNodes", "Disable build time weight reorder for dynmaic nodes.");
|
||||
message_list.emplace_back("OV_GPU_DisableRuntimeSkipReorder", "Disable runtime skip reorder.");
|
||||
message_list.emplace_back("OV_GPU_DisablePrimitiveFusing", "Disable primitive fusing");
|
||||
message_list.emplace_back("OV_GPU_DumpIteration", "Dump n-th execution of network, separated by space.");
|
||||
message_list.emplace_back("OV_GPU_MemPreallocationOptions", "Controls buffer pre-allocation feature. Expects 4 values separated by space in"
|
||||
@@ -188,6 +191,7 @@ debug_configuration::debug_configuration()
|
||||
, serialize_compile(0)
|
||||
, max_kernels_per_batch(0)
|
||||
, disable_async_compilation(0)
|
||||
, disable_winograd_conv(0)
|
||||
, disable_dynamic_impl(0)
|
||||
, disable_runtime_buffer_fusing(0)
|
||||
, disable_memory_reuse(0)
|
||||
@@ -225,6 +229,7 @@ debug_configuration::debug_configuration()
|
||||
get_gpu_debug_env_var("ForceImplTypes", forced_impl_types_str);
|
||||
get_gpu_debug_env_var("MaxKernelsPerBatch", max_kernels_per_batch);
|
||||
get_gpu_debug_env_var("DisableAsyncCompilation", disable_async_compilation);
|
||||
get_gpu_debug_env_var("DisableWinogradConv", disable_winograd_conv);
|
||||
get_gpu_debug_env_var("DisableDynamicImpl", disable_dynamic_impl);
|
||||
get_gpu_debug_env_var("DisableRuntimeBufferFusing", disable_runtime_buffer_fusing);
|
||||
get_gpu_debug_env_var("DisableMemoryReuse", disable_memory_reuse);
|
||||
|
||||
Reference in New Issue
Block a user