diff options
Diffstat (limited to 'inference-engine/thirdparty/clDNN/kernel_selector/core/actual_kernels/select/select_kernel_ref.cpp')
-rw-r--r-- | inference-engine/thirdparty/clDNN/kernel_selector/core/actual_kernels/select/select_kernel_ref.cpp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/inference-engine/thirdparty/clDNN/kernel_selector/core/actual_kernels/select/select_kernel_ref.cpp b/inference-engine/thirdparty/clDNN/kernel_selector/core/actual_kernels/select/select_kernel_ref.cpp new file mode 100644 index 000000000..f7f776c15 --- /dev/null +++ b/inference-engine/thirdparty/clDNN/kernel_selector/core/actual_kernels/select/select_kernel_ref.cpp @@ -0,0 +1,64 @@ +/* +// Copyright (c) 2018 Intel Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +*/ + +#include "select_kernel_ref.h" +#include "kernel_selector_utils.h" + +namespace kernel_selector { + + ParamsKey SelectKernelRef::GetSupportedKey() const + { + ParamsKey k; + + k.EnableInputDataType(Datatype::F16); + k.EnableInputDataType(Datatype::F32); + k.EnableInputDataType(Datatype::INT8); + k.EnableInputDataType(Datatype::UINT8); + + k.EnableOutputDataType(Datatype::F32); + k.EnableOutputDataType(Datatype::F16); + k.EnableOutputDataType(Datatype::INT8); + k.EnableOutputDataType(Datatype::UINT8); + + k.EnableInputLayout(DataLayout::bfyx); + k.EnableInputLayout(DataLayout::yxfb); + k.EnableInputLayout(DataLayout::byxf); + + k.EnableOutputLayout(DataLayout::bfyx); + k.EnableOutputLayout(DataLayout::yxfb); + k.EnableOutputLayout(DataLayout::byxf); + + k.EnableBatching(); + k.EnableDifferentTypes(); + + return k; + } + + bool SelectKernelRef::Validate(const Params& p, const optional_params& o) const + { + if (!SelectKernelBase::Validate(p, o)) + { + return false; + } + + return true; + } + + KernelsData SelectKernelRef::GetKernelsData(const Params& params, const optional_params& options) const + { + return GetCommonKernelsData(params, options); + } +}
\ No newline at end of file |