#ifndef GPU_INTEL_REDUCTION_CONFIG_HPP
#define GPU_INTEL_REDUCTION_CONFIG_HPP
#include "gpu/gpu_reduction_pd.hpp"
#include "gpu/intel/primitive_conf.hpp"
namespace dnnl {
namespace impl {
namespace gpu {
namespace intel {
namespace reduction {
using pd_t = gpu_reduction_pd_t;
struct conf_t {
alg_kind_t alg;
int ndims;
dim_t div;
float eps, power;
dim_t src_dims[MAX_NDIMS], reduce_dims[MAX_NDIMS], dst_dims[MAX_NDIMS];
bool is_reduction_dim[MAX_NDIMS];
int hwd_reduction_size, hwd_size;
data_type_t src_type, dst_type;
memory_desc_info_t src_md_info, dst_md_info;
compute::dispatch_t dispatch;
offsets_t off;
attr_info_t attr_info;
bool require_stateless_addressing;
};
} } } } }
#endif