#ifndef GRAPH_INTERFACE_OPSET_HPP
#define GRAPH_INTERFACE_OPSET_HPP
#include <functional>
#include "graph/interface/op_def.hpp"
#include "graph/interface/op_schema.hpp"
namespace dnnl {
namespace impl {
namespace graph {
class opset_v1_t {
public:
static void for_each_schema(const std::function<void(op_schema_t &&)> &fn) {
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Abs, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(AbsBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Add, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(AvgPool, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
AvgPoolBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
BatchNormInference, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
BatchNormForwardTraining, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
BatchNormTrainingBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(BiasAdd, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
BiasAddBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Clamp, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ClampBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Concat, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Convolution, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
ConvolutionBackwardData, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
ConvolutionBackwardWeights, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ConvTranspose, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
ConvTransposeBackwardData, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
ConvTransposeBackwardWeights, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Dequantize, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Divide, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Elu, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(EluBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(End, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Exp, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(GELU, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(GELUBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(GenIndex, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(GreaterEqual, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(GroupNorm, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(HardSigmoid, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
HardSigmoidBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(HardSwish, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
HardSwishBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Interpolate, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
InterpolateBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(LayerNorm, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
LayerNormBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(LeakyReLU, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Log, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(LogSoftmax, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
LogSoftmaxBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(MatMul, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Maximum, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(MaxPool, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
MaxPoolBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Minimum, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Mish, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(MishBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Multiply, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Pow, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(PReLU, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(PReLUBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Quantize, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ReduceL1, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ReduceL2, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ReduceMax, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ReduceMean, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ReduceMin, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ReduceProd, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ReduceSum, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ReLU, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(ReLUBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Reorder, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(RMSNorm, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Round, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Select, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Sigmoid, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
SigmoidBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(SoftMax, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
SoftMaxBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(SoftPlus, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
SoftPlusBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Sqrt, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(SqrtBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Square, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
SquaredDifference, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(StaticReshape, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
StaticTranspose, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Subtract, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Tanh, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(TanhBackward, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Wildcard, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(TypeCast, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
DynamicQuantize, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
DynamicDequantize, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Reciprocal, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(Dropout, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_mul_scales, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
_constant_scales, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_add_zps, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_sub_zps, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_constant_zps, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_permute, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_to_group, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_from_group, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_unsqueeze, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_squeeze, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_reshape, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_transpose, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_identity, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_convolution, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_convtranspose, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
_convtranspose_bwd_data, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
_convtranspose_bwd_weights, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_reduction, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_pool, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_bn_folding, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_conv_bwd_data, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
_conv_bwd_weights, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_batchnorm, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_batchnorm_bwd, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_binary, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_eltwise, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_eltwise_bwd, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_gen_index, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_host_scalar, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_mask, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_shuffle, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_sum, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_prelu, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_prelu_bwd, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_softmax_bwd, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
_logsoftmax_bwd, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_resampling, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(
_resampling_bwd, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_concat, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_layernorm_bwd, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_pool_bwd, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_matmul, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_logsoftmax, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_softmax, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_layernorm, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_reorder, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_groupnorm, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_sdpa, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_dropout, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_gated_mlp, 1)>());
fn(get_op_schema<DNNL_GRAPH_OP_SCHEMA_CLASS_NAME(_sdpa_bwd, 1)>());
}
};
inline void register_opset_schema() {
register_opset_schema<opset_v1_t>();
}
} } }
#endif