[GPU] Add handling of unsupported simd8 for PVC (#20093)
This commit is contained in:
1 parent
7761fc754c
commit
886be26c0b
4 files changed
+11
-1
No files matched your search
+3
@@ -213,6 +213,9 @@ bool ConvolutionKernel_b_fs_yx_fsv_16_32_imad_dw::ValidateAutoTuneParams(const c
|
||||
const AutoTuneParams& tparams) const {
|
||||
bool valid_tune_params = true;
|
||||
|
||||
if (!IsSIMDSizeSupported(params.engineInfo, tparams.simd))
|
||||
return false;
|
||||
|
||||
auto total_lws = tparams.simd * tparams.lws0 * tparams.lws1;
|
||||
valid_tune_params &= total_lws <= params.engineInfo.maxWorkGroupSize;
|
||||
|
||||
|
||||
@@ -183,6 +183,10 @@ bool GemmKernelMMADint8::Validate(const Params& params, const optional_params& o
|
||||
(input1_type != Datatype::UINT8 && input1_type != Datatype::INT8))
|
||||
return false;
|
||||
|
||||
GemmTuningData tuning_data = SetTuningParams(gmm_params);
|
||||
if (!IsSIMDSizeSupported(params.engineInfo, tuning_data.simd_size))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
} // namespace kernel_selector
|
||||
@@ -161,6 +161,9 @@ bool GemmKernelMMADslmInt8::Validate(const Params& params, const optional_params
|
||||
if (HasLeftovers(tuning_data))
|
||||
return false;
|
||||
|
||||
if (!IsSIMDSizeSupported(params.engineInfo, tuning_data.simd_size))
|
||||
return false;
|
||||
|
||||
if ((input0_type != Datatype::UINT8 && input0_type != Datatype::INT8) ||
|
||||
(input1_type != Datatype::UINT8 && input1_type != Datatype::INT8))
|
||||
return false;
|
||||
|
||||
@@ -83,7 +83,7 @@ GemmKernelTiledOpt::GemmTuningData GemmKernelTiledOpt::SetTuningParams(const gem
|
||||
|
||||
bool leftovers = m_size % tuning_data.tile_m_size || k_size % tuning_data.tile_k_size || n_size % tuning_data.tile_n_size;
|
||||
|
||||
if (leftovers || total_batches > 1 || params.transpose_input0 || params.transpose_input1) {
|
||||
if (leftovers || total_batches > 1 || params.transpose_input0 || params.transpose_input1 || !IsSIMDSizeSupported(params.engineInfo, 8)) {
|
||||
tuning_data.simd_size = 16;
|
||||
tuning_data.tile_n_size = tuning_data.simd_size;
|
||||
tuning_data.tile_k_size = tuning_data.simd_size;
|
||||
|
||||
Reference in new issue
Block a user