#include "gpu/gpu_impl_list.hpp"
#include "gpu/generic/cross_engine_reorder.hpp"
#include "gpu/generic/direct_copy.hpp"
#if DNNL_GPU_VENDOR == DNNL_VENDOR_INTEL
#include "gpu/intel/reorder/custom.hpp"
#include "gpu/intel/reorder/generic.hpp"
#include "gpu/intel/reorder/jit.hpp"
#include "gpu/intel/reorder/ref.hpp"
#include "gpu/intel/rnn/reorders.hpp"
#endif
#if DNNL_GPU_VENDOR == DNNL_VENDOR_NVIDIA
#include "gpu/nvidia/cudnn_reorder.hpp"
#include "gpu/nvidia/cudnn_reorder_lt.hpp"
#endif
#if DNNL_GPU_VENDOR == DNNL_VENDOR_AMD
#include "gpu/amd/miopen_reorder.hpp"
#endif
#ifdef GENERIC_SYCL_KERNELS_ENABLED
#include "gpu/generic/sycl/ref_reorder.hpp"
#endif
namespace dnnl {
namespace impl {
namespace gpu {
namespace {
using namespace dnnl::impl::data_type;
constexpr impl_list_item_t impl_list[] = REG_REORDER_P({
GPU_REORDER_INSTANCE_INTEL(intel::rnn::weights_reorder_t::pd_t)
GPU_REORDER_INSTANCE_GENERIC(generic::direct_copy_t::pd_t)
GPU_REORDER_INSTANCE_INTEL(intel::reorder::gen_t::pd_t)
GPU_REORDER_INSTANCE_INTEL(intel::reorder::custom_t::pd_t) GPU_REORDER_INSTANCE_INTEL(intel::reorder::generic_t::pd_t) GPU_REORDER_INSTANCE_INTEL(intel::reorder::ref_t::pd_t) GPU_REORDER_INSTANCE_NVIDIA(nvidia::cudnn_reorder_lt_t::pd_t)
GPU_REORDER_INSTANCE_NVIDIA(nvidia::cudnn_reorder_t::pd_t)
GPU_REORDER_INSTANCE_AMD(amd::miopen_reorder_t::pd_t)
GPU_REORDER_INSTANCE_GENERIC(generic::cross_engine_reorder_t::pd_t)
GPU_REORDER_INSTANCE_GENERIC_SYCL(generic::sycl::ref_reorder_t::pd_t)
nullptr,
});
}
const impl_list_item_t *get_reorder_impl_list(
const memory_desc_t *, const memory_desc_t *) {
return impl_list;
}
} } }