using strides_t = mkldnn_strides_t;
/* FIXME: to inference from correspoding types */
-using dim_t = int;
+using dim_t = ptrdiff_t;
using stride_t = ptrdiff_t;
using status_t = mkldnn_status_t;
using alg_kind_t = mkldnn_alg_kind_t;
namespace alg_kind {
const alg_kind_t undef = mkldnn_alg_kind_undef;
+ const alg_kind_t convolution_auto = mkldnn_convolution_auto;
const alg_kind_t convolution_direct = mkldnn_convolution_direct;
const alg_kind_t convolution_winograd = mkldnn_convolution_winograd;
const alg_kind_t deconvolution_direct = mkldnn_deconvolution_direct;
const alg_kind_t eltwise_soft_relu = mkldnn_eltwise_soft_relu;
const alg_kind_t eltwise_logistic = mkldnn_eltwise_logistic;
const alg_kind_t eltwise_clamp = mkldnn_eltwise_clamp;
+ const alg_kind_t eltwise_exp = mkldnn_eltwise_exp;
+ const alg_kind_t eltwise_not = mkldnn_eltwise_not;
const alg_kind_t depthwise_scale_shift = mkldnn_depthwise_scale_shift;
const alg_kind_t depthwise_prelu = mkldnn_depthwise_prelu;
const alg_kind_t pooling_max = mkldnn_pooling_max;
const alg_kind_t gru_linear_before_reset = mkldnn_gru_linear_before_reset;
const alg_kind_t roi_pooling_max = mkldnn_roi_pooling_max;
const alg_kind_t roi_pooling_bilinear = mkldnn_roi_pooling_bilinear;
+ const alg_kind_t binary_convolution_direct = mkldnn_binary_convolution_direct;
+ const alg_kind_t binarization_depthwise = mkldnn_binarization_depthwise;
}
using data_type_t = mkldnn_data_type_t;
const data_type_t s16 = mkldnn_s16;
const data_type_t s8 = mkldnn_s8;
const data_type_t u8 = mkldnn_u8;
+ const data_type_t bin = mkldnn_bin;
}
using round_mode_t = mkldnn_round_mode_t;
const round_mode_t down = mkldnn_round_down;
}
+using rnn_packed_format_t = mkldnn_rnn_packed_memory_format_t;
+namespace rnn_packed_format {
+ const rnn_packed_format_t undef = mkldnn_packed_format_undef;
+ const rnn_packed_format_t ldigo_p = mkldnn_ldigo_p;
+ const rnn_packed_format_t ldgoi_p = mkldnn_ldgoi_p;
+}
+
using memory_format_t = mkldnn_memory_format_t;
namespace memory_format {
const memory_format_t undef = mkldnn_format_undef;
const memory_format_t nc = mkldnn_nc;
const memory_format_t ncw = mkldnn_ncw;
const memory_format_t nwc = mkldnn_nwc;
+ const memory_format_t nCw4c = mkldnn_nCw4c;
const memory_format_t nCw8c = mkldnn_nCw8c;
const memory_format_t nCw16c = mkldnn_nCw16c;
const memory_format_t nchw = mkldnn_nchw;
const memory_format_t nhwc = mkldnn_nhwc;
const memory_format_t chwn = mkldnn_chwn;
+ const memory_format_t nChw4c = mkldnn_nChw4c;
const memory_format_t nChw8c = mkldnn_nChw8c;
const memory_format_t nChw16c = mkldnn_nChw16c;
const memory_format_t ncdhw = mkldnn_ncdhw;
const memory_format_t ndhwc = mkldnn_ndhwc;
+ const memory_format_t nCdhw4c = mkldnn_nCdhw4c;
const memory_format_t nCdhw8c = mkldnn_nCdhw8c;
const memory_format_t nCdhw16c = mkldnn_nCdhw16c;
const memory_format_t oi = mkldnn_oi;
const memory_format_t io = mkldnn_io;
const memory_format_t oiw = mkldnn_oiw;
const memory_format_t wio = mkldnn_wio;
+ const memory_format_t Owi4o = mkldnn_Owi4o;
+ const memory_format_t OIw4i4o = mkldnn_OIw4i4o;
const memory_format_t Owi8o = mkldnn_Owi8o;
const memory_format_t OIw8i8o = mkldnn_OIw8i8o;
const memory_format_t OIw8o8i = mkldnn_OIw8o8i;
const memory_format_t OIw16i16o = mkldnn_OIw16i16o;
const memory_format_t OIw16o16i = mkldnn_OIw16o16i;
const memory_format_t Oiw16o = mkldnn_Oiw16o;
+ const memory_format_t Oiw4o = mkldnn_Oiw4o;
const memory_format_t Owi16o = mkldnn_Owi16o;
const memory_format_t OIw8i16o2i = mkldnn_OIw8i16o2i;
const memory_format_t IOw16o16i = mkldnn_IOw16o16i;
const memory_format_t oihw = mkldnn_oihw;
const memory_format_t ihwo = mkldnn_ihwo;
const memory_format_t hwio = mkldnn_hwio;
+ const memory_format_t iohw = mkldnn_iohw;
const memory_format_t hwio_s8s8 = mkldnn_hwio_s8s8;
const memory_format_t dhwio = mkldnn_dhwio;
const memory_format_t oidhw = mkldnn_oidhw;
+ const memory_format_t OIdhw4i4o = mkldnn_OIdhw4i4o;
+ const memory_format_t Odhwi4o = mkldnn_Odhwi4o;
const memory_format_t OIdhw8i8o = mkldnn_OIdhw8i8o;
const memory_format_t OIdhw8o8i = mkldnn_OIdhw8o8i;
const memory_format_t Odhwi8o = mkldnn_Odhwi8o;
const memory_format_t OIdhw16i16o = mkldnn_OIdhw16i16o;
const memory_format_t OIdhw16o16i = mkldnn_OIdhw16o16i;
+ const memory_format_t Oidhw4o = mkldnn_Oidhw4o;
const memory_format_t Oidhw16o = mkldnn_Oidhw16o;
const memory_format_t Odhwi16o = mkldnn_Odhwi16o;
const memory_format_t oIhw8i = mkldnn_oIhw8i;
const memory_format_t oIhw16i = mkldnn_oIhw16i;
const memory_format_t oIdhw8i = mkldnn_oIdhw8i;
const memory_format_t oIdhw16i = mkldnn_oIdhw16i;
+ const memory_format_t OIhw4i4o = mkldnn_OIhw4i4o;
const memory_format_t OIhw8i8o = mkldnn_OIhw8i8o;
const memory_format_t OIhw16i16o = mkldnn_OIhw16i16o;
const memory_format_t OIhw4i16o4i = mkldnn_OIhw4i16o4i;
const memory_format_t OIhw8o8i = mkldnn_OIhw8o8i;
const memory_format_t OIhw16o16i = mkldnn_OIhw16o16i;
const memory_format_t IOhw16o16i = mkldnn_IOhw16o16i;
+ const memory_format_t Oihw4o = mkldnn_Oihw4o;
const memory_format_t Oihw16o = mkldnn_Oihw16o;
const memory_format_t Ohwi8o = mkldnn_Ohwi8o;
+ const memory_format_t Ohwi4o = mkldnn_Ohwi4o;
const memory_format_t Ohwi16o = mkldnn_Ohwi16o;
const memory_format_t OhIw8o4i = mkldnn_OhIw8o4i;
+ const memory_format_t OhIw8o32i = mkldnn_OhIw8o32i;
+ const memory_format_t OhIw16o32i = mkldnn_OhIw16o32i;
const memory_format_t OhIw8o4i_s8s8 = mkldnn_OhIw8o4i_s8s8;
const memory_format_t goiw = mkldnn_goiw;
+ const memory_format_t gOwi4o = mkldnn_gOwi4o;
+ const memory_format_t gOIw4i4o = mkldnn_gOIw4i4o;
const memory_format_t gOwi8o = mkldnn_gOwi8o;
const memory_format_t gOIw8i8o = mkldnn_gOIw8i8o;
const memory_format_t gOIw8o8i = mkldnn_gOIw8o8i;
const memory_format_t gOIw16i16o = mkldnn_gOIw16i16o;
const memory_format_t gOIw16o16i = mkldnn_gOIw16o16i;
const memory_format_t gOiw16o = mkldnn_gOiw16o;
+ const memory_format_t gOiw4o = mkldnn_gOiw4o;
const memory_format_t gOwi16o = mkldnn_gOwi16o;
const memory_format_t gOIw8i16o2i = mkldnn_gOIw8i16o2i;
const memory_format_t gIOw16o16i = mkldnn_gIOw16o16i;
const memory_format_t gOIw8o16i2o = mkldnn_gOIw8o16i2o;
const memory_format_t goihw = mkldnn_goihw;
const memory_format_t hwigo = mkldnn_hwigo;
+ const memory_format_t giohw = mkldnn_giohw;
const memory_format_t hwigo_s8s8 = mkldnn_hwigo_s8s8;
+ const memory_format_t gOIhw4i4o = mkldnn_gOIhw4i4o;
const memory_format_t gOIhw8i8o = mkldnn_gOIhw8i8o;
const memory_format_t gOIhw16i16o = mkldnn_gOIhw16i16o;
const memory_format_t gOIhw4i16o4i = mkldnn_gOIhw4i16o4i;
const memory_format_t gOIhw4i16o4i_s8s8 = mkldnn_gOIhw4i16o4i_s8s8;
+ const memory_format_t gOIhw2i8o4i = mkldnn_gOIhw2i8o4i;
+ const memory_format_t gOIhw2i8o4i_s8s8 = mkldnn_gOIhw2i8o4i_s8s8;
const memory_format_t gOIhw8i16o2i = mkldnn_gOIhw8i16o2i;
const memory_format_t gOIdhw8i16o2i = mkldnn_gOIdhw8i16o2i;
const memory_format_t gOIhw8o16i2o = mkldnn_gOIhw8o16i2o;
+ const memory_format_t gOIhw4o4i = mkldnn_gOIhw4o4i;
+ const memory_format_t gOIhw4o4i_s8s8 = mkldnn_gOIhw4o4i_s8s8;
const memory_format_t gOIhw8o8i = mkldnn_gOIhw8o8i;
const memory_format_t gOIhw16o16i = mkldnn_gOIhw16o16i;
const memory_format_t gIOhw16o16i = mkldnn_gIOhw16o16i;
+ const memory_format_t gOihw4o = mkldnn_gOihw4o;
const memory_format_t gOihw16o = mkldnn_gOihw16o;
const memory_format_t gOhwi8o = mkldnn_gOhwi8o;
+ const memory_format_t gOhwi4o = mkldnn_gOhwi4o;
const memory_format_t gOhwi16o = mkldnn_gOhwi16o;
const memory_format_t Goihw8g = mkldnn_Goihw8g;
const memory_format_t Goihw16g = mkldnn_Goihw16g;
+ const memory_format_t Goihw16g_s8s8 = mkldnn_Goihw16g_s8s8;
const memory_format_t goidhw = mkldnn_goidhw;
+ const memory_format_t gOIdhw4i4o = mkldnn_gOIdhw4i4o;
+ const memory_format_t gOdhwi4o = mkldnn_gOdhwi4o;
const memory_format_t gOIdhw8i8o = mkldnn_gOIdhw8i8o;
const memory_format_t gOIdhw8o8i = mkldnn_gOIdhw8o8i;
const memory_format_t gOdhwi8o = mkldnn_gOdhwi8o;
const memory_format_t gOIdhw16i16o = mkldnn_gOIdhw16i16o;
const memory_format_t gOIdhw16o16i = mkldnn_gOIdhw16o16i;
+ const memory_format_t gOidhw4o = mkldnn_gOidhw4o;
const memory_format_t gOidhw16o = mkldnn_gOidhw16o;
const memory_format_t gOdhwi16o = mkldnn_gOdhwi16o;
const memory_format_t gOhIw8o4i = mkldnn_gOhIw8o4i;
const memory_format_t tnc = mkldnn_tnc;
const memory_format_t ldsnc = mkldnn_ldsnc;
const memory_format_t ldigo = mkldnn_ldigo;
- const memory_format_t ldigo_p = mkldnn_ldigo_p;
const memory_format_t ldgoi = mkldnn_ldgoi;
- const memory_format_t ldgoi_p = mkldnn_ldgoi_p;
const memory_format_t ldgo = mkldnn_ldgo;
const memory_format_t wino_fmt = mkldnn_wino_fmt;
+ const memory_format_t rnn_packed = mkldnn_rnn_packed;
}
using padding_kind_t = mkldnn_padding_kind_t;
const primitive_kind_t lrn = mkldnn_lrn;
const primitive_kind_t batch_normalization = mkldnn_batch_normalization;
const primitive_kind_t inner_product = mkldnn_inner_product;
- const primitive_kind_t convolution_relu = mkldnn_convolution_relu;
const primitive_kind_t rnn = mkldnn_rnn;
const primitive_kind_t roi_pooling = mkldnn_roi_pooling;
+ const primitive_kind_t binary_convolution = mkldnn_binary_convolution;
+ const primitive_kind_t binarization = mkldnn_binarization;
}
using query_t = mkldnn_query_t;
const query_t lrn_d = mkldnn_query_lrn_d;
const query_t batch_normalization_d = mkldnn_query_batch_normalization_d;
const query_t inner_product_d = mkldnn_query_inner_product_d;
- const query_t convolution_relu_d = mkldnn_query_convolution_relu_d;
const query_t rnn_d = mkldnn_query_rnn_d;
const query_t roi_pooling_d = mkldnn_query_roi_pooling_d;
+ const query_t binary_convolution_d = mkldnn_query_binary_convolution_d;
+ const query_t binarization_d = mkldnn_query_binarization_d;
const query_t some_pd = mkldnn_query_some_pd;
const query_t input_pd = mkldnn_query_input_pd;
}
using blocking_desc_t = mkldnn_blocking_desc_t;
+using rnn_packed_data_t = mkldnn_rnn_packed_desc_t;
using wino_data_t = mkldnn_wino_desc_t;
using memory_desc_t = mkldnn_memory_desc_t;
using convolution_desc_t = mkldnn_convolution_desc_t;
using lrn_desc_t = mkldnn_lrn_desc_t;
using batch_normalization_desc_t = mkldnn_batch_normalization_desc_t;
using inner_product_desc_t = mkldnn_inner_product_desc_t;
-using convolution_relu_desc_t = mkldnn_convolution_relu_desc_t;
using roi_pooling_desc_t = mkldnn_roi_pooling_desc_t;
using depthwise_desc_t = mkldnn_depthwise_desc_t;
+using binary_convolution_desc_t = mkldnn_binary_convolution_desc_t;
+using binarization_desc_t = mkldnn_binarization_desc_t;
using rnn_direction_t = mkldnn_rnn_direction_t;
using rnn_cell_desc_t = mkldnn_rnn_cell_desc_t;
lrn_desc_t lrn;
batch_normalization_desc_t batch_normalization;
inner_product_desc_t inner_product;
- convolution_relu_desc_t convolution_relu;
rnn_desc_t rnn;
roi_pooling_desc_t roi_pooling;
depthwise_desc_t depthwise;
+ binary_convolution_desc_t binary_convolution;
+ binarization_desc_t binarization;
};
op_desc_t(const primitive_kind_t &_): kind(_) {}
DECL_CTOR_AND_CONVERTERS(lrn_desc_t, lrn);
DECL_CTOR_AND_CONVERTERS(batch_normalization_desc_t, batch_normalization);
DECL_CTOR_AND_CONVERTERS(inner_product_desc_t, inner_product);
- DECL_CTOR_AND_CONVERTERS(convolution_relu_desc_t, convolution_relu);
DECL_CTOR_AND_CONVERTERS(rnn_desc_t, rnn);
DECL_CTOR_AND_CONVERTERS(roi_pooling_desc_t, roi_pooling);
+ DECL_CTOR_AND_CONVERTERS(binary_convolution_desc_t, binary_convolution);
+ DECL_CTOR_AND_CONVERTERS(binarization_desc_t, binarization);
# undef DECL_CTOR_AND_CONVERTERS
};