Deep Neural Network Library (DNNL)
1.2.2
Performance library for Deep Learning
Go to the documentation of this file.
23 #include "dnnl_config.h"
32 #include <unordered_map>
36 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
45 #ifndef DNNL_ENABLE_EXCEPTIONS
46 #if __cpp_exceptions || __EXCEPTIONS \
47 || (defined(_MSC_VER) && !defined(__clang__))
48 #define DNNL_ENABLE_EXCEPTIONS 1
50 #define DNNL_ENABLE_EXCEPTIONS 0
54 #if defined(__GNUC__) || defined(__clang__)
55 #define DNNL_TRAP() __builtin_trap()
56 #elif defined(__INTEL_COMPILER) || defined(_MSC_VER)
57 #define DNNL_TRAP() __debugbreak()
59 #error "unknown compiler"
62 #if DNNL_ENABLE_EXCEPTIONS
63 #define DNNL_THROW_ERROR(status, msg) throw error(status, msg)
66 #define DNNL_THROW_ERROR(status, msg) \
87 struct error :
public std::exception {
99 const char *
what() const noexcept
override {
return message; }
112 template <
typename T>
128 template <
typename T,
typename traits = handle_traits<T>>
132 std::shared_ptr<typename std::remove_pointer<T>::type> data_ {0};
135 bool operator==(
const T other)
const {
return other == data_.get(); }
136 bool operator!=(
const T other)
const {
return !(*
this == other); }
169 void reset(T t,
bool weak =
false) {
170 data_.reset(t, weak ? &dummy_destructor : traits::destructor);
178 T
get(
bool allow_empty =
false)
const {
179 T result = data_.get();
180 if (allow_empty ==
false && result ==
nullptr)
190 explicit operator T()
const {
return get(
true); }
195 explicit operator bool()
const {
return get(
true) !=
nullptr; }
204 return other.data_.get() == data_.get();
243 struct primitive_desc;
342 stream &
stream,
const std::unordered_map<int, memory> &args)
const;
356 "could not get a primitive descriptor from a primitive");
367 "could not get a primitive kind from a primitive descriptor");
455 undef = dnnl_alg_kind_undef,
613 #define DNNL_DEFINE_BITMASK_OPS(enum_name) \
614 inline enum_name operator|(enum_name lhs, enum_name rhs) { \
615 return static_cast<enum_name>( \
616 static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); \
619 inline enum_name operator&(enum_name lhs, enum_name rhs) { \
620 return static_cast<enum_name>( \
621 static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); \
624 inline enum_name operator^(enum_name lhs, enum_name rhs) { \
625 return static_cast<enum_name>( \
626 static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); \
629 inline enum_name &operator|=(enum_name &lhs, enum_name rhs) { \
630 lhs = static_cast<enum_name>( \
631 static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); \
635 inline enum_name &operator&=(enum_name &lhs, enum_name rhs) { \
636 lhs = static_cast<enum_name>( \
637 static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); \
641 inline enum_name &operator^=(enum_name &lhs, enum_name rhs) { \
642 lhs = static_cast<enum_name>( \
643 static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); \
647 inline enum_name operator~(enum_name rhs) { \
648 return static_cast<enum_name>(~static_cast<unsigned>(rhs)); \
828 "post-ops index is out of range");
857 "could not append a sum post-op");
866 "could not get parameters of a sum post-op");
888 "could not append an elementwise post-op");
899 float &alpha,
float &beta)
const {
902 get(), index, &scale, &c_alg, &alpha, &beta),
903 "could not get parameters of an elementwise post-op");
925 "could not create primitive attribute");
942 "could not get primitive scratchpad mode attribute");
952 "could not set primitive scratchpad mode attribute");
967 const float *c_scales;
969 get(), &count, &c_mask, &c_scales),
970 "could not get primitive output scales attribute");
971 scales.resize(count);
975 scales[c] = c_scales[c];
1022 (
dnnl_dim_t)scales.size(), mask, &scales[0]),
1023 "could not set primitive output scales attribute");
1037 void get_scales(
int arg,
int &mask, std::vector<float> &scales)
const {
1040 const float *c_scales;
1042 get(), arg, &count, &c_mask, &c_scales),
1043 "could not get scales");
1044 scales.resize(count);
1048 scales[c] = c_scales[c];
1067 void set_scales(
int arg,
int mask,
const std::vector<float> &scales) {
1069 (
dnnl_dim_t)scales.size(), mask, &scales[0]),
1070 "could not set scales");
1084 int arg,
int &mask, std::vector<int32_t> &zero_points)
const {
1087 const int32_t *c_zero_points;
1089 get(), arg, &count, &c_mask, &c_zero_points),
1090 "could not get primitive zero points attribute");
1091 zero_points.resize(count);
1095 zero_points[c] = c_zero_points[c];
1120 int arg,
int mask,
const std::vector<int32_t> &zero_points) {
1123 (
dnnl_dim_t)zero_points.size(), mask, &zero_points[0]),
1124 "could not set primitive zero points attribute");
1134 "could not get primitive post-ops attribute");
1149 "could not set primitive post-ops attribute");
1188 "could not get primitive RNN data quantization parameters "
1220 get(), (
int)scales.size(), mask, &scales[0]),
1221 "could not get primitive RNN weights quantization parameters "
1286 "could not create an engine");
1290 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
1300 &
engine, convert_to_c(
kind), device, context),
1301 "could not create an engine");
1315 "could not get an engine from a primitive_desc");
1316 reset(c_engine,
true);
1324 "could not get kind of an engine");
1328 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
1332 cl_context context =
nullptr;
1334 "could not get an OpenCL context fron an engine");
1341 cl_device_id device =
nullptr;
1343 "could not get an OpenCL device fron an engine");
1353 template <
class primitive_desc>
1363 template <
class primitive_desc>
1368 "could not get an engine from a primitive_desc");
1369 return engine(c_engine,
true);
1420 "could not create a stream");
1424 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
1432 "could not create a stream");
1439 cl_command_queue queue =
nullptr;
1441 "could not get an OpenCL command queue from a stream");
1565 template <
typename T>
1806 Abc16a = dnnl_Abc16a,
1807 ABc16a16b = dnnl_ABc16a16b,
1808 ABc4a4b = dnnl_ABc4a4b,
1810 ABc16b16a = dnnl_ABc16b16a,
1813 ABc4b16a4b = dnnl_ABc4b16a4b,
1814 ABc2b8a4b = dnnl_ABc2b8a4b,
1815 ABc4b4a = dnnl_ABc4b4a,
1816 ABc8a16b2a = dnnl_ABc8a16b2a,
1817 ABc8a8b = dnnl_ABc8a8b,
1819 ABc8b16a2b = dnnl_ABc8b16a2b,
1820 ABc8b8a = dnnl_ABc8b8a,
1821 Abcd16a = dnnl_Abcd16a,
1822 ABcd16a16b = dnnl_ABcd16a16b,
1824 ABcd16b16a = dnnl_ABcd16b16a,
1825 aBCd16b16c = dnnl_aBCd16b16c,
1826 aBCd16c16b = dnnl_aBCd16c16b,
1827 Abcd4a = dnnl_Abcd4a,
1829 ABcd4b16a4b = dnnl_ABcd4b16a4b,
1830 ABcd2b8a4b = dnnl_ABcd2b8a4b,
1831 ABcd4b4a = dnnl_ABcd4b4a,
1832 ABcd4a4b = dnnl_ABcd4a4b,
1833 aBCd4c16b4c = dnnl_aBCd4c16b4c,
1834 aBCd2c8b4c = dnnl_aBCd2c8b4c,
1835 aBCd4c4b = dnnl_aBCd4c4b,
1836 aBCd4b4c = dnnl_aBCd4b4c,
1837 ABcd8a16b2a = dnnl_ABcd8a16b2a,
1838 ABcd8a8b = dnnl_ABcd8a8b,
1841 ABcd8b16a2b = dnnl_ABcd8b16a2b,
1842 aBCd8b16c2b = dnnl_aBCd8b16c2b,
1845 aBCd8b8c = dnnl_aBCd8b8c,
1846 aBCd8c16b2c = dnnl_aBCd8c16b2c,
1847 aBCd8c8b = dnnl_aBCd8c8b,
1848 Abcde16a = dnnl_Abcde16a,
1849 ABcde16a16b = dnnl_ABcde16a16b,
1851 ABcde16b16a = dnnl_ABcde16b16a,
1852 aBCde16b16c = dnnl_aBCde16b16c,
1853 aBCde16c16b = dnnl_aBCde16c16b,
1854 aBCde2c8b4c = dnnl_aBCde2c8b4c,
1855 Abcde4a = dnnl_Abcde4a,
1857 ABcde4b4a = dnnl_ABcde4b4a,
1858 ABcde4a4b = dnnl_ABcde4a4b,
1859 aBCde4b4c = dnnl_aBCde4b4c,
1860 aBCde4c16b4c = dnnl_aBCde4c16b4c,
1861 aBCde4c4b = dnnl_aBCde4c4b,
1862 Abcde8a = dnnl_Abcde8a,
1863 ABcde8a8b = dnnl_ABcde8a8b,
1865 ABcde8b16a2b = dnnl_ABcde8b16a2b,
1868 aBCde8b16c2b = dnnl_aBCde8b16c2b,
1869 ABcde8b8a = dnnl_ABcde8b8a,
1870 aBCde8b8c = dnnl_aBCde8b8c,
1871 ABcd4a8b8a4b = dnnl_ABcd4a8b8a4b,
1872 ABcd2a8b8a2b = dnnl_ABcd2a8b8a2b,
1873 aBCde4b8c8b4c = dnnl_aBCde4b8c8b4c,
1874 aBCde2b8c8b2c = dnnl_aBCde2b8c8b2c,
1875 aBCde8c16b2c = dnnl_aBCde8c16b2c,
1876 aBCde8c8b = dnnl_aBCde8c8b,
1878 aBCdef16b16c = dnnl_aBCdef16b16c,
1879 aBCdef16c16b = dnnl_aBCdef16c16b,
1881 aBCdef4c4b = dnnl_aBCdef4c4b,
1882 aBCdef4b4c = dnnl_aBCdef4b4c,
1883 aBCdef8b8c = dnnl_aBCdef8b8c,
1884 aBCdef8c16b2c = dnnl_aBCdef8c16b2c,
1885 aBCdef4c16b4c = dnnl_aBCdef4c16b4c,
1886 aBCdef8c8b = dnnl_aBCdef8c8b,
1887 aBdc16b = dnnl_aBdc16b,
1888 aBdc4b = dnnl_aBdc4b,
1889 aBdc8b = dnnl_aBdc8b,
1890 aBdec16b = dnnl_aBdec16b,
1891 aBdec4b = dnnl_aBdec4b,
1892 aBdec8b = dnnl_aBdec8b,
1893 aBdefc16b = dnnl_aBdefc16b,
1894 aCBdef16c16b = dnnl_aCBdef16c16b,
1895 aBdefc4b = dnnl_aBdefc4b,
1896 aBdefc8b = dnnl_aBdefc8b,
1897 Acb16a = dnnl_Acb16a,
1900 aCBd16b16c = dnnl_aCBd16b16c,
1901 aCBd16c16b = dnnl_aCBd16c16b,
1902 aCBde16b16c = dnnl_aCBde16b16c,
1903 aCBde16c16b = dnnl_aCBde16c16b,
1904 Acdb16a = dnnl_Acdb16a,
1905 Acdb4a = dnnl_Acdb4a,
1906 Acdb8a = dnnl_Acdb8a,
1907 Acdeb16a = dnnl_Acdeb16a,
1908 Acdeb4a = dnnl_Acdeb4a,
1909 Acdeb8a = dnnl_Acdeb8a,
1910 BAc16a16b = dnnl_BAc16a16b,
1911 BAc16b16a = dnnl_BAc16b16a,
1912 BAcd16a16b = dnnl_BAcd16a16b,
1913 BAcd16b16a = dnnl_BAcd16b16a,
1914 ABcd32a32b = dnnl_ABcd32a32b,
1915 BAcde16b16 = dnnl_BAcde16b16a,
1916 aBdec32b = dnnl_aBdec32b,
1917 Abcdef16a = dnnl_Abcdef16a,
1918 Acdb32a = dnnl_Acdb32a,
1930 NCw16n16c = dnnl_NCw16n16c,
1931 NChw16n16c = dnnl_NChw16n16c,
1932 NCdhw16n16c = dnnl_NCdhw16n16c,
1933 NChw32n32c = dnnl_NChw32n32c,
1934 IOhw16i16o = dnnl_IOhw16i16o,
1935 Ohwi32o = dnnl_Ohwi32o,
1936 IOdhw16i16o = dnnl_IOdhw16i16o,
1937 gIOhw16i16o = dnnl_gIOhw16i16o,
1938 gOhwi32o = dnnl_gOhwi32o,
1939 Goidhw16g = dnnl_Goidhw16g,
1940 IOw16o16i = dnnl_IOw16o16i,
1941 OIw16i16o = dnnl_OIw16i16o,
1942 IOw16i16o = dnnl_IOw16i16o,
1943 gIOw16i16o = dnnl_gIOw16i16o,
1944 OIw16o16i = dnnl_OIw16o16i,
1945 Oiw16o = dnnl_Oiw16o,
1946 OIw4i16o4i = dnnl_OIw4i16o4i,
1947 OIw2i8o4i = dnnl_OIw2i8o4i,
1948 OIw4i4o = dnnl_OIw4i4o,
1949 OIw4o4i = dnnl_OIw4o4i,
1951 OIw8i16o2i = dnnl_OIw8i16o2i,
1952 OIw8i8o = dnnl_OIw8i8o,
1953 OIw8o16i2o = dnnl_OIw8o16i2o,
1954 OIw8o8i = dnnl_OIw8o8i,
1955 Owi16o = dnnl_Owi16o,
1956 OwI16o2i = dnnl_OwI16o2i,
1959 IOhw16o16i = dnnl_IOhw16o16i,
1960 Ohwi16o = dnnl_Ohwi16o,
1961 OhwI16o2i = dnnl_OhwI16o2i,
1962 Ohwi4o = dnnl_Ohwi4o,
1963 Ohwi8o = dnnl_Ohwi8o,
1964 OIhw16i16o = dnnl_OIhw16i16o,
1965 OIhw16o16i = dnnl_OIhw16o16i,
1966 Oihw16o = dnnl_Oihw16o,
1967 OIhw4i16o4i = dnnl_OIhw4i16o4i,
1968 OIhw4i4o = dnnl_OIhw4i4o,
1969 OIhw4o4i = dnnl_OIhw4o4i,
1970 Oihw4o = dnnl_Oihw4o,
1971 OIhw8i16o2i = dnnl_OIhw8i16o2i,
1972 OIhw8i8o = dnnl_OIhw8i8o,
1973 OIhw8o16i2o = dnnl_OIhw8o16i2o,
1974 OIhw8o8i = dnnl_OIhw8o8i,
1975 OIhw2i8o4i = dnnl_OIhw2i8o4i,
1976 Odhwi16o = dnnl_Odhwi16o,
1977 OdhwI16o2i = dnnl_OdhwI16o2i,
1978 Odhwi4o = dnnl_Odhwi4o,
1979 Odhwi8o = dnnl_Odhwi8o,
1980 OIdhw16i16o = dnnl_OIdhw16i16o,
1981 OIdhw16o16i = dnnl_OIdhw16o16i,
1982 Oidhw16o = dnnl_Oidhw16o,
1983 OIdhw4i4o = dnnl_OIdhw4i4o,
1984 OIdhw4o4i = dnnl_OIdhw4o4i,
1985 Oidhw4o = dnnl_Oidhw4o,
1986 OIdhw8i16o2i = dnnl_OIdhw8i16o2i,
1987 OIdhw4i16o4i = dnnl_OIdhw4i16o4i,
1988 OIdhw2i8o4i = dnnl_OIdhw2i8o4i,
1989 OIdhw8i8o = dnnl_OIdhw8i8o,
1990 OIdhw8o8i = dnnl_OIdhw8o8i,
1991 gIOw16o16i = dnnl_gIOw16o16i,
1992 gOIw16i16o = dnnl_gOIw16i16o,
1993 gOIw16o16i = dnnl_gOIw16o16i,
1994 gOiw16o = dnnl_gOiw16o,
1995 gOIw4i16o4i = dnnl_gOIw4i16o4i,
1996 gOIw2i8o4i = dnnl_gOIw2i8o4i,
1997 gOIw4i4o = dnnl_gOIw4i4o,
1998 gOIw4o4i = dnnl_gOIw4o4i,
1999 gOiw4o = dnnl_gOiw4o,
2000 gOIw8i16o2i = dnnl_gOIw8i16o2i,
2001 gOIw8i8o = dnnl_gOIw8i8o,
2002 gOIw8o16i2o = dnnl_gOIw8o16i2o,
2003 gOIw8o8i = dnnl_gOIw8o8i,
2004 gOwi16o = dnnl_gOwi16o,
2005 gOwI16o2i = dnnl_gOwI16o2i,
2006 gOwi4o = dnnl_gOwi4o,
2007 gOwi8o = dnnl_gOwi8o,
2008 Goiw8g = dnnl_Goiw8g,
2009 Goiw16g = dnnl_Goiw16g,
2010 gIOhw16o16i = dnnl_gIOhw16o16i,
2011 gOhwi16o = dnnl_gOhwi16o,
2012 gOhwI16o2i = dnnl_gOhwI16o2i,
2013 gOhwi4o = dnnl_gOhwi4o,
2014 gOhwi8o = dnnl_gOhwi8o,
2015 Goihw16g = dnnl_Goihw16g,
2016 gOIhw16i16o = dnnl_gOIhw16i16o,
2017 gOIhw16o16i = dnnl_gOIhw16o16i,
2018 gOihw16o = dnnl_gOihw16o,
2019 gOIhw4i16o4i = dnnl_gOIhw4i16o4i,
2020 gOIhw2i8o4i = dnnl_gOIhw2i8o4i,
2021 gOIhw4i4o = dnnl_gOIhw4i4o,
2022 gOIhw4o4i = dnnl_gOIhw4o4i,
2023 gOihw4o = dnnl_gOihw4o,
2024 Goihw8g = dnnl_Goihw8g,
2025 gOIhw8i16o2i = dnnl_gOIhw8i16o2i,
2026 gOIhw8i8o = dnnl_gOIhw8i8o,
2027 gOIhw8o16i2o = dnnl_gOIhw8o16i2o,
2028 OIhw4o8i8o4i = dnnl_OIhw4o8i8o4i,
2029 OIhw2o8i8o2i = dnnl_OIhw2o8i8o2i,
2030 gOIhw4o8i8o4i = dnnl_gOIhw4o8i8o4i,
2031 gOIhw2o8i8o2i = dnnl_gOIhw2o8i8o2i,
2032 gOIhw8o8i = dnnl_gOIhw8o8i,
2033 gIOdhw16i16o = dnnl_gIOdhw16i16o,
2034 gOdhwi16o = dnnl_gOdhwi16o,
2035 gOdhwI16o2i = dnnl_gOdhwI16o2i,
2036 gOdhwi4o = dnnl_gOdhwi4o,
2037 gOdhwi8o = dnnl_gOdhwi8o,
2038 gOIdhw16i16o = dnnl_gOIdhw16i16o,
2039 gOIdhw16o16i = dnnl_gOIdhw16o16i,
2040 gOidhw16o = dnnl_gOidhw16o,
2041 gOIdhw4i4o = dnnl_gOIdhw4i4o,
2042 gOIdhw4o4i = dnnl_gOIdhw4o4i,
2043 gOidhw4o = dnnl_gOidhw4o,
2044 gOIdhw8i16o2i = dnnl_gOIdhw8i16o2i,
2045 gOIdhw4i16o4i = dnnl_gOIdhw4i16o4i,
2046 gOIdhw2i8o4i = dnnl_gOIdhw2i8o4i,
2047 gOIdhw8i8o = dnnl_gOIdhw8i8o,
2048 gOIdhw8o8i = dnnl_gOIdhw8o8i,
2074 validate_dims(
dims);
2077 dims.size() == 0 ?
nullptr : &
dims[0],
2079 "could not construct a memory descriptor using a format "
2096 validate_dims(
dims);
2099 dims.size() == 0 ?
nullptr : &
dims[0],
2101 strides.size() == 0 ?
nullptr : &strides[0]),
2102 "could not construct a memory descriptor using strides");
2121 &sub_md, &data, &
dims[0], &offsets[0]),
2122 "could not construct a sub-memory");
2123 return desc(sub_md);
2135 "could not reshape a memory descriptor");
2136 return desc(out_md);
2195 "could not create a memory object");
2212 "could not get a memory descriptor from a memory object");
2213 return desc(*cdesc);
2220 "could not get an engine from a memory object");
2221 return engine(c_engine,
true);
2230 "could not get a native handle from a memory object");
2240 "could not set native handle of a memory object");
2262 template <
typename T =
void>
2266 "could not map memory object data");
2267 return static_cast<T *
>(mapped_ptr);
2283 "could not unmap memory object data");
2286 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
2287 cl_mem get_ocl_mem_object()
const {
2291 "could not get OpenCL buffer object from a memory object");
2302 "could not set OpenCL buffer object from a memory object");
2363 "could not retrieve implementation info string from a "
2364 "primitive descriptor");
2395 if (!std::any_of(valid_q.cbegin(), valid_q.cend(),
2396 [=](
query q) { return what == q; }))
2398 "memory descriptor query is invalid");
2522 "could not retrieve scratchpad engine from a primitive "
2524 return engine(c_engine,
true);
2532 "could not get attributes from a primitive descriptor");
2535 "could not clone primitive attributes");
2545 "could not get primitive kind from a primitive descriptor");
2556 "could not clone a primitive descriptor");
2609 if (pd ==
nullptr)
return;
2622 rc,
"could not get primitive kind from a primitive descriptor");
2623 if (pd_kind != c_prim_kind)
2625 "primitive descriptor operation kind mismatch");
2635 "could not get propagation kind from the primitive "
2641 && (pd_prop_kind == c_prop_kind1
2642 || pd_prop_kind == c_prop_kind2))) {
2649 "primitive descriptor propagation kind mismatch");
2699 "could not create a primitive descriptor for a reorder "
2720 "could not create a primitive descriptor for a reorder "
2794 const std::vector<memory::desc> &mems) {
2795 std::vector<dnnl_memory_desc_t> c_mems;
2796 c_mems.reserve(mems.size());
2797 for (
const auto &s : mems)
2798 c_mems.push_back(s.data);
2832 const std::vector<memory::desc> &srcs,
const engine &
engine,
2839 (
int)c_srcs.size(), concat_dimension, &c_srcs[0],
2841 "could not create a primitive descriptor for a concat "
2859 const std::vector<memory::desc> &srcs,
const engine &
engine,
2866 (
int)c_api_srcs.size(), concat_dimension,
2867 &c_api_srcs[0], attr.get(),
engine.
get()),
2868 "could not create a primitive descriptor for a concat "
2932 const std::vector<float> &scales,
2933 const std::vector<memory::desc> &srcs,
const engine &
engine,
2938 "counts of scales and sources are not equal");
2944 (
int)c_api_srcs.size(), &scales[0],
2945 &c_api_srcs[0], attr.get(),
engine.
get()),
2946 "could not create a primitive descriptor for a sum "
2962 const std::vector<memory::desc> &srcs,
const engine &
engine,
2967 "counts of scales and sources are not equal");
2972 (
int)c_api_srcs.size(), &scales[0],
2973 &c_api_srcs[0], attr.get(),
engine.
get()),
2974 "could not create a primitive descriptor for a sum "
3037 bool allow_empty =
false)
3038 : allow_empty_(allow_empty) {
3041 desc, attr ? attr->
get() :
nullptr,
engine.
get(), hint_fwd_pd);
3044 status,
"could not create a primitive descriptor iterator");
3045 pd_iterator.reset(iterator);
3058 status,
"could not advance a primitive descriptor iterator");
3064 bool allow_empty_ =
false;
3068 pd_iterator.
get(allow_empty_));
3071 "could not fetch a primitive descriptor from a primitive "
3072 "descriptor iterator");
3140 &strides[0], &padding_l[0], &padding_r[0]),
3141 "could not create a descriptor for a convolution forward "
3142 "propagation primitive");
3185 &weights_desc.
data,
nullptr, &dst_desc.
data,
3186 &strides[0], &padding_l[0], &padding_r[0]),
3187 "could not create a descriptor for a convolution forward "
3188 "propagation primitive");
3237 &weights_desc.
data, &bias_desc.
data,
3238 &dst_desc.
data, &strides[0], &dilates[0],
3239 &padding_l[0], &padding_r[0]),
3240 "could not create a descriptor for a dilated convolution "
3241 "forward propagation primitive");
3287 &weights_desc.
data,
nullptr,
3288 &dst_desc.
data, &strides[0], &dilates[0],
3289 &padding_l[0], &padding_r[0]),
3290 "could not create a descriptor for a dilated convolution "
3291 "forward propagation primitive");
3311 bool allow_empty =
false)
3313 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
3329 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
3410 &weights_desc.
data, &diff_dst_desc.
data,
3411 &strides[0], &padding_l[0], &padding_r[0]),
3412 "could not create a descriptor for a convolution backward "
3413 "propagation primitive");
3456 &weights_desc.
data, &diff_dst_desc.
data,
3457 &strides[0], &dilates[0], &padding_l[0],
3459 "could not create a descriptor for a dilated convolution "
3460 "backward propagation primitive");
3484 bool allow_empty =
false)
3486 hint_fwd_pd.
get(), allow_empty) {}
3505 bool allow_empty =
false)
3584 &diff_weights_desc.
data, &diff_bias_desc.
data,
3585 &diff_dst_desc.
data, &strides[0], &padding_l[0],
3587 "could not create a descriptor for a convolution weights "
3588 "update primitive");
3626 &diff_weights_desc.
data,
nullptr,
3627 &diff_dst_desc.
data, &strides[0],
3628 &padding_l[0], &padding_r[0]),
3629 "could not create a descriptor for a convolution weights "
3630 "update primitive");
3677 &diff_weights_desc.
data, &diff_bias_desc.
data,
3678 &diff_dst_desc.
data, &strides[0], &dilates[0],
3679 &padding_l[0], &padding_r[0]),
3680 "could not create a descriptor for a dilated convolution "
3681 "weights gradient primitive");
3724 &diff_weights_desc.
data,
nullptr,
3725 &diff_dst_desc.
data, &strides[0], &dilates[0],
3726 &padding_l[0], &padding_r[0]),
3727 "could not create a descriptor for a dilated convolution "
3728 "weights gradient primitive");
3751 bool allow_empty =
false)
3753 hint_fwd_pd.
get(), allow_empty) {}
3771 bool allow_empty =
false)
3873 &strides[0], &padding_l[0], &padding_r[0]),
3874 "could not create a descriptor for a deconvolution forward "
3875 "propagation primitive");
3916 &weights_desc.
data,
nullptr, &dst_desc.
data,
3917 &strides[0], &padding_l[0], &padding_r[0]),
3918 "could not create a descriptor for a deconvolution forward "
3919 "propagation primitive");
3966 &weights_desc.
data, &bias_desc.
data,
3967 &dst_desc.
data, &strides[0], &dilates[0],
3968 &padding_l[0], &padding_r[0]),
3969 "could not create a descriptor for a dilated deconvolution "
3970 "forward propagation primitive");
4014 &weights_desc.
data,
nullptr,
4015 &dst_desc.
data, &strides[0], &dilates[0],
4016 &padding_l[0], &padding_r[0]),
4017 "could not create a descriptor for a dilated deconvolution "
4018 "forward propagation primitive");
4038 bool allow_empty =
false)
4040 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
4056 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
4132 &weights_desc.
data, &diff_dst_desc.
data,
4133 &strides[0], &padding_l[0], &padding_r[0]),
4134 "could not create a descriptor for a deconvolution "
4135 "backward propagation primitive");
4177 &weights_desc.
data, &diff_dst_desc.
data,
4178 &strides[0], &dilates[0], &padding_l[0],
4180 "could not create a descriptor for a dilated deconvolution "
4181 "backward propagation primitive");
4205 bool allow_empty =
false)
4207 hint_fwd_pd.
get(), allow_empty) {}
4226 bool allow_empty =
false)
4304 &diff_weights_desc.
data, &diff_bias_desc.
data,
4305 &diff_dst_desc.
data, &strides[0], &padding_l[0],
4307 "could not create a descriptor for a deconvolution weights "
4308 "update primitive");
4345 &src_desc.
data, &diff_weights_desc.
data,
4346 nullptr, &diff_dst_desc.
data, &strides[0],
4347 &padding_l[0], &padding_r[0]),
4348 "could not create a descriptor for a deconvolution weights "
4349 "update primitive");
4395 &diff_weights_desc.
data, &diff_bias_desc.
data,
4396 &diff_dst_desc.
data, &strides[0], &dilates[0],
4397 &padding_l[0], &padding_r[0]),
4398 "could not create a descriptor for a dilated deconvolution "
4399 "weights gradient primitive");
4441 &diff_weights_desc.
data,
nullptr,
4442 &diff_dst_desc.
data, &strides[0], &dilates[0],
4443 &padding_l[0], &padding_r[0]),
4444 "could not create a descriptor for a dilated deconvolution "
4445 "weights gradient primitive");
4468 bool allow_empty =
false)
4470 hint_fwd_pd.
get(), allow_empty) {}
4488 bool allow_empty =
false)
4571 float alpha,
float beta,
float k = 1.f) {
4575 local_size, alpha, beta, k),
4576 "could not create a descriptor for a lrn forward "
4577 "propagation primitive");
4596 bool allow_empty =
false)
4598 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
4613 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
4675 float alpha,
float beta,
float k = 1.f) {
4678 &diff_data_desc.
data, &data_desc.
data, local_size,
4680 "could not create a descriptor for a lrn backward "
4681 "propagation primitive");
4704 bool allow_empty =
false)
4706 hint_fwd_pd.
get(), allow_empty) {}
4724 bool allow_empty =
false)
4813 &dst_desc.
data, &strides[0], &kernel[0],
4814 &padding_l[0], &padding_r[0]),
4815 "could not create a descriptor for a pooling forward "
4816 "propagation primitive");
4835 bool allow_empty =
false)
4837 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
4852 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
4926 &diff_dst_desc.
data, &strides[0], &kernel[0],
4927 &padding_l[0], &padding_r[0]),
4928 "could not create a descriptor for a pooling backward "
4929 "propagation primitive");
4952 bool allow_empty =
false)
4954 hint_fwd_pd.
get(), allow_empty) {}
4972 bool allow_empty =
false)
5059 &data_desc.
data, alpha, beta),
5060 "could not create a descriptor for an eltwise forward "
5061 "propagation primitive");
5081 bool allow_empty =
false)
5083 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
5099 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
5158 &data_desc.
data, alpha, beta),
5159 "could not create a descriptor for an eltwise backward "
5160 "propagation primitive");
5184 bool allow_empty =
false)
5186 hint_fwd_pd.
get(), allow_empty) {}
5205 bool allow_empty =
false)
5275 &data_desc.
data, softmax_axis),
5276 "could not create a descriptor for a softmax forward "
5277 "propagation primitive");
5297 bool allow_empty =
false)
5299 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
5315 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
5370 &data_desc.
data, softmax_axis),
5371 "could not create a descriptor for a softmax backward "
5372 "propagation primitive");
5396 bool allow_empty =
false)
5398 hint_fwd_pd.
get(), allow_empty) {}
5417 bool allow_empty =
false)
5484 int logsoftmax_axis) {
5487 &data_desc.
data, logsoftmax_axis),
5488 "could not create a descriptor for a logsoftmax forward "
5489 "propagation primitive");
5509 bool allow_empty =
false)
5511 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
5527 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
5584 int logsoftmax_axis) {
5586 &diff_data_desc.
data, &data_desc.
data,
5588 "could not create a descriptor for a logsoftmax backward "
5589 "propagation primitive");
5613 bool allow_empty =
false)
5615 hint_fwd_pd.
get(), allow_empty) {}
5634 bool allow_empty =
false)
5741 "could not create a descriptor for a batch normalization "
5742 "forward propagation primitive");
5763 bool allow_empty =
false)
5765 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
5781 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
5826 "could not retrieve a descriptor from a primitive "
5827 "descriptor for batch normalization forward propagation "
5886 "could not create a descriptor for a batch normalization "
5887 "backward propagation primitive");
5912 bool allow_empty =
false)
5914 hint_fwd_pd.
get(), allow_empty) {}
5933 bool allow_empty =
false)
6056 "could not create a descriptor for a layer normalization "
6057 "forward propagation primitive");
6094 "could not create a descriptor for a layer normalization "
6095 "forward propagation primitive");
6116 bool allow_empty =
false)
6118 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
6134 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
6177 "could not retrieve a descriptor from a primitive "
6178 "descriptor for layer normalization forward propagation "
6235 &data_desc.
data, &stat_desc.
data, epsilon,
6237 "could not create a descriptor for a batch normalization "
6238 "backward propagation primitive");
6273 &diff_data_desc.
data, &data_desc.
data,
6275 "could not create a descriptor for a batch normalization "
6276 "backward propagation primitive");
6301 bool allow_empty =
false)
6303 hint_fwd_pd.
get(), allow_empty) {}
6322 bool allow_empty =
false)
6422 &src_desc.
data, &weights_desc.
data,
6424 "could not create a descriptor for an inner product "
6425 "forward propagation primitive");
6454 &weights_desc.
data,
nullptr, &dst_desc.
data),
6455 "could not create a descriptor for an inner product "
6456 "forward propagation primitive");
6476 bool allow_empty =
false)
6478 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
6494 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
6556 &diff_src_desc.
data, &weights_desc.
data,
6557 &diff_dst_desc.
data),
6558 "could not create a descriptor for an inner product "
6559 "backward propagation primitive");
6584 bool allow_empty =
false)
6586 hint_fwd_pd.
get(), allow_empty) {}
6605 bool allow_empty =
false)
6669 &src_desc.
data, &diff_weights_desc.
data,
6670 &diff_bias_desc.
data, &diff_dst_desc.
data),
6671 "could not create a descriptor for an inner product "
6672 "weights gradient primitive");
6697 &src_desc.
data, &diff_weights_desc.
data,
nullptr,
6698 &diff_dst_desc.
data),
6699 "could not create a descriptor for an inner product "
6700 "weights gradient primitive");
6724 bool allow_empty =
false)
6726 hint_fwd_pd.
get(), allow_empty) {}
6745 bool allow_empty =
false)
6797 using primitive_desc::primitive_desc;
6923 "could not retrieve a descriptor from a primitive descriptor "
6924 "for an RNN primitive");
6931 && (
rnn_d->prop_kind == c_prop_kind1
6932 ||
rnn_d->prop_kind == c_prop_kind2)
6933 &&
rnn_d->cell_kind == c_cell_kind;
6937 "mismatch between expected and provided descriptors for an "
7011 float beta = 0.0f) {
7017 &src_iter_desc.
data, &weights_layer_desc.
data,
7018 &weights_iter_desc.
data, &bias_desc.
data,
7019 &dst_layer_desc.
data, &dst_iter_desc.
data,
7021 "could not create a descriptor for a vanilla RNN forward "
7022 "propagation primitive");
7042 bool allow_empty =
false)
7044 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
7060 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
7214 float beta = 0.0f) {
7220 &src_iter_desc.
data, &weights_layer_desc.
data,
7221 &weights_iter_desc.
data, &bias_desc.
data,
7222 &dst_layer_desc.
data, &dst_iter_desc.
data,
7223 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
7224 &diff_weights_layer_desc.
data,
7225 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
7226 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
7228 "could not create a descriptor for a vanilla RNN backward "
7229 "propagation primitive");
7253 bool allow_empty =
false)
7255 hint_fwd_pd.
get(), allow_empty) {}
7274 bool allow_empty =
false)
7276 hint_fwd_pd.
get(), allow_empty) {}
7439 &src_iter_desc.
data, &src_iter_c_desc.
data,
7440 &weights_layer_desc.
data, &weights_iter_desc.
data,
7441 &bias_desc.
data, &dst_layer_desc.
data,
7442 &dst_iter_desc.
data, &dst_iter_c_desc.
data,
7444 "could not create a descriptor for an LSTM forward "
7445 "propagation primitive");
7464 bool allow_empty =
false)
7466 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
7481 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
7660 &src_iter_desc.
data, &src_iter_c_desc.
data,
7661 &weights_layer_desc.
data, &weights_iter_desc.
data,
7662 &bias_desc.
data, &dst_layer_desc.
data,
7663 &dst_iter_desc.
data, &dst_iter_c_desc.
data,
7664 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
7665 &diff_src_iter_c_desc.
data,
7666 &diff_weights_layer_desc.
data,
7667 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
7668 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
7669 &diff_dst_iter_c_desc.
data,
7671 "could not create a descriptor for an LSTM backward "
7672 "propagation primitive");
7695 bool allow_empty =
false)
7697 hint_fwd_pd.
get(), allow_empty) {}
7715 bool allow_empty =
false)
7717 hint_fwd_pd.
get(), allow_empty) {}
7891 &src_iter_desc.
data, &weights_layer_desc.
data,
7892 &weights_iter_desc.
data, &bias_desc.
data,
7893 &dst_layer_desc.
data, &dst_iter_desc.
data,
7895 "could not create a descriptor for a GRU forward "
7896 "propagation primitive");
7915 bool allow_empty =
false)
7917 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
7932 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
8081 &src_iter_desc.
data, &weights_layer_desc.
data,
8082 &weights_iter_desc.
data, &bias_desc.
data,
8083 &dst_layer_desc.
data, &dst_iter_desc.
data,
8084 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
8085 &diff_weights_layer_desc.
data,
8086 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
8087 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
8089 "could not create a descriptor for a GRU backward "
8090 "propagation primitive");
8113 bool allow_empty =
false)
8115 hint_fwd_pd.
get(), allow_empty) {}
8133 bool allow_empty =
false)
8135 hint_fwd_pd.
get(), allow_empty) {}
8289 &src_iter_desc.
data, &weights_layer_desc.
data,
8290 &weights_iter_desc.
data, &bias_desc.
data,
8291 &dst_layer_desc.
data, &dst_iter_desc.
data,
8293 "could not create a descriptor for an LBR GRU forward "
8294 "propagation primitive");
8314 bool allow_empty =
false)
8316 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
8332 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
8482 &src_iter_desc.
data, &weights_layer_desc.
data,
8483 &weights_iter_desc.
data, &bias_desc.
data,
8484 &dst_layer_desc.
data, &dst_iter_desc.
data,
8485 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
8486 &diff_weights_layer_desc.
data,
8487 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
8488 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
8490 "could not create a descriptor for an LBR GRU backward "
8491 "propagation primitive");
8515 bool allow_empty =
false)
8517 hint_fwd_pd.
get(), allow_empty) {}
8536 bool allow_empty =
false)
8538 hint_fwd_pd.
get(), allow_empty) {}
8664 &data_desc.
data, axis, group_size),
8665 "could not create a descriptor for a shuffle forward "
8666 "propagation primitive");
8688 bool allow_empty =
false)
8690 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
8741 &diff_data_desc.
data, axis, group_size),
8742 "could not create a descriptor for a shuffle backward "
8743 "propagation primitive");
8769 bool allow_empty =
false)
8835 "could not create a descriptor for a binary operation "
8855 bool allow_empty =
false)
8857 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
8872 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
8937 &weights_desc.
data,
nullptr, &dst_desc.
data),
8938 "could not create a descriptor for a matmul primitive");
8958 &weights_desc.
data, &bias_desc.
data,
8960 "could not create a descriptor for a matmul primitive");
8978 bool allow_empty =
false)
8980 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
8994 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
9073 "could not create a resampling forward descriptor");
9091 const std::vector<float> &factors,
9096 &src_desc.
data,
nullptr),
9097 "could not create a resampling forward descriptor");
9123 const std::vector<float> &factors,
const memory::desc &src_desc,
9129 "could not create a resampling forward descriptor");
9149 bool allow_empty =
false)
9151 &
desc.data, nullptr,
engine, nullptr, allow_empty) {}
9166 &
desc.data, &attr,
engine, nullptr, allow_empty) {}
9219 &diff_src_desc.
data, &diff_dst_desc.
data),
9220 "could not create a resampling backward data descriptor");
9243 &diff_src_desc.
data, &diff_dst_desc.
data),
9244 "could not create a resampling backward data descriptor");
9267 bool allow_empty =
false)
9269 hint_fwd_pd.
get(), allow_empty) {}
9287 bool allow_empty =
false)
9397 return static_cast<status>(
9415 transa, transb, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc));
9422 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co) {
9424 K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co));
9431 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co) {
9433 K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co));
9444 "could not create a primitive");
9450 inline void primitive::execute(
9451 stream &stream,
const std::unordered_map<int, memory> &args)
const {
9452 std::vector<dnnl_exec_arg_t> c_args;
9453 c_args.reserve(args.size());
9454 for (
const auto &a : args)
9455 c_args.push_back({a.first, a.second.get(
true)});
9458 (
int)c_args.size(), c_args.data()),
9459 "could not execute a primitive");
9463 #undef DNNL_DEFINE_BITMASK_OPS
@ dnnl_query_time_estimate_f64
runtime estimation (seconds)
Definition: dnnl_types.h:1891
@ dnnl_query_reorder_dst_engine
destination engine
Definition: dnnl_types.h:1903
void set_data_handle(void *handle) const
Sets memory buffer.
Definition: dnnl.hpp:2238
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:7323
status gemm_s8s8s32(char transa, char transb, char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const int8_t *A, dnnl_dim_t lda, int8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co)
Performs integer matrix-matrix multiply on 8-bit signed matrix A, 8-bit signed matrix B,...
Definition: dnnl.hpp:9428
@ eltwise_d
eltwise descriptor
dnnl_status_t DNNL_API dnnl_primitive_desc_iterator_next(dnnl_primitive_desc_iterator_t iterator)
Advances the primitive descriptor iterator to point to the next available implementation.
Resampling backward propagation primitive.
Definition: dnnl.hpp:9196
deconvolution_backward_data(const primitive_desc &pd)
Constructs a deconvolution backward propagation primitive.
Definition: dnnl.hpp:4256
primitive_desc()=default
Default constructor. Produces an empty object.
@ dnnl_aBcdef4b
6D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:304
memory::desc src_desc(int idx=0) const
Returns a source memory descriptor.
Definition: dnnl.hpp:8882
@ dnnl_scratchpad_mode_library
The library manages scratchpad (default) The allocation policy is controlled by the DNNL_ENABLE_CONCU...
Definition: dnnl_types.h:1626
@ diff_dst_md
destination grad. memory desc
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3349
void set_rnn_data_qparams(float scale, float shift)
Sets quantization scale and shift parameters for RNN data tensors.
Definition: dnnl.hpp:1185
layer_normalization_forward(const primitive_desc &pd)
Constructs a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6192
logsoftmax_backward()=default
Default constructor. Produces an empty object.
primitive_desc_base(dnnl_primitive_desc_t pd, dnnl::primitive::kind prim_kind, dnnl::prop_kind prop_kind1, dnnl::prop_kind prop_kind2)
Constructs a primitive descriptor base object from a clone of a C API primitive descriptor after veri...
Definition: dnnl.hpp:2605
Descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:7370
@ softmax
A softmax primitive.
engine()=default
Constructs an empty engine.
dnnl_status_t DNNL_API dnnl_set_jit_profiling_flags(unsigned flags)
Sets library profiling flags.
memory::desc diff_dst_iter_c_desc() const
Returns diff destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:6899
dnnl_status_t DNNL_API dnnl_inner_product_forward_desc_init(dnnl_inner_product_desc_t *ip_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc)
Initializes descriptor for inner product forward propagation.
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:6829
dnnl_status_t DNNL_API dnnl_convolution_forward_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a convolution forward propagation primitive.
primitive_desc()=default
Default constructor. Produces an empty object.
softmax_backward(const primitive_desc &pd)
Constructs a softmax backward propagation primitive.
Definition: dnnl.hpp:5447
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5432
vanilla_rnn_backward()=default
Default constructor. Produces an empty object.
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7964
@ dnnl_s32
32-bit signed integer.
Definition: dnnl_types.h:72
desc(prop_kind prop_kind, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &src_iter_c_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, const memory::desc &dst_iter_c_desc, rnn_flags flags=rnn_flags::undef)
Constructs a descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:7424
@ success
The operation was successful.
void execute(stream stream, memory &src, memory &dst) const
Executes the reorder primitive.
Definition: dnnl.hpp:2777
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a deconvolution forward propagation primitive from a C API prim...
Definition: dnnl.hpp:4064
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:4630
Primitive descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:8841
rnn_direction
A direction of RNN primitive execution.
Definition: dnnl.hpp:655
primitive_desc()=default
Default constructor. Produces an empty object.
convolution_backward_data()=default
Default constructor. Produces an empty object.
desc reshape(const memory::dims &dims) const
Constructs a memory descriptor by reshaping existing one.
Definition: dnnl.hpp:2131
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &data_desc, memory::dim local_size, float alpha, float beta, float k=1.f)
Constructs a descriptor for a LRN forward propagation primitive.
Definition: dnnl.hpp:4569
@ all
Any ISA (no restrictions)
Descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:7831
size_t get_size() const
Returns size of the memory descriptor in bytes.
Definition: dnnl.hpp:2157
Reorder primitive.
Definition: dnnl.hpp:2668
@ dnnl_query_pooling_d
pooling descriptor
Definition: dnnl_types.h:1915
@ num_of_inputs_s32
number of inputs expected
Shuffle backward propagation primitive.
Definition: dnnl.hpp:8720
Descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:6392
@ resampling_d
resampling descriptor
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7307
@ backward
Backward propagation (with respect to all parameters).
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a LBR GRU forward propagation primitive from a C API primitive ...
Definition: dnnl.hpp:8340
@ dnnl_ABcde2b8a4b
5D tensor blocked by 1st dimension with block size 8
Definition: dnnl_types.h:265
memory::desc diff_dst_iter_c_desc() const
Returns diff destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:7814
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6362
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7315
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:8212
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:7478
primitive_desc(const desc &desc, const engine &engine, const lrn_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:4702
primitive_desc(const desc &desc, const engine &engine, const lbr_gru_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an LBR GRU backward propagation primitive.
Definition: dnnl.hpp:8513
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a LBR GRU forward propagation primitive.
Definition: dnnl.hpp:8329
const char * what() const noexcept override
Returns the explanatory string.
Definition: dnnl.hpp:99
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:8197
dnnl_status_t DNNL_API dnnl_pooling_backward_desc_init(dnnl_pooling_desc_t *pool_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t kernel, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for pooling backward propagation primitive.
@ any
An unspecified engine.
@ pooling_d
pooling descriptor
const_dnnl_primitive_desc_t get_primitive_desc() const
Returns the C API primitive descriptor of the underlying C API primitive.
Definition: dnnl.hpp:353
Primitive descriptor for an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:8299
Convolution weights gradient primitive.
Definition: dnnl.hpp:3539
An execution stream.
Definition: dnnl.hpp:1391
@ bidirectional_concat
Bidirectional execution of RNN primitive with concatenation of the results.
desc(const dnnl_memory_desc_t &data)
Constructs a memory descriptor from a C API data structure.
Definition: dnnl.hpp:2108
@ diff_src_md
source gradient memory desc
@ dnnl_query_memory_consumption_s64
memory consumption – extra
Definition: dnnl_types.h:1892
@ dnnl_s8
8-bit signed integer.
Definition: dnnl_types.h:74
prop_kind
Propagation kind.
Definition: dnnl.hpp:419
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:4869
int len() const
Returns the number of post-ops entries.
Definition: dnnl.hpp:821
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a matmul primitive from a C API primitive descriptor that must ...
Definition: dnnl.hpp:9000
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_forward_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated deconvolution forward propagation primitive.
dnnl_format_tag_t
Memory format tag specification.
Definition: dnnl_types.h:164
@ dnnl_f16
16-bit/half-precision floating point.
Definition: dnnl_types.h:66
@ dnnl_inner_product
An inner product primitive.
Definition: dnnl_types.h:691
primitive_desc()=default
Default constructor. Produces an empty object.
@ dnnl_unimplemented
The operation failed because requested functionality is not implemented.
Definition: dnnl_types.h:47
@ exec_arg_md
memory desc of an execute argument
desc(prop_kind prop_kind, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, const memory::desc &diff_src_layer_desc, const memory::desc &diff_src_iter_desc, const memory::desc &diff_weights_layer_desc, const memory::desc &diff_weights_iter_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_layer_desc, const memory::desc &diff_dst_iter_desc, rnn_flags flags=rnn_flags::undef)
Constructs a descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:8061
@ dnnl_decab
permuted 5D tensor
Definition: dnnl_types.h:201
Softmax backward propagation primitive.
Definition: dnnl.hpp:5345
primitive_desc()=default
Default constructor. Produces an empty object.
An opaque structure to describe a primitive descriptor iterator.
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5080
@ dnnl_batch_normalization
A batch normalization primitive.
Definition: dnnl_types.h:687
Vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7118
@ dnnl_query_logsoftmax_d
logsoftmax descriptor
Definition: dnnl_types.h:1923
desc(algorithm algorithm, const memory::desc &data_desc, const memory::desc &diff_data_desc, memory::dim local_size, float alpha, float beta, float k=1.f)
Constructs a descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:4673
status gemm_u8s8s32(char transa, char transb, char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const uint8_t *A, dnnl_dim_t lda, uint8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co)
Performs integer matrix-matrix multiply on 8-bit unsigned matrix A, 8-bit signed matrix B,...
Definition: dnnl.hpp:9419
Vanilla RNN descriptor backward propagation primitive.
Definition: dnnl.hpp:7120
memory::desc diff_src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4739
LBR GRU backward propagation primitive.
Definition: dnnl.hpp:8390
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:9004
@ eltwise_soft_relu
Elementwise: soft_relu.
Primitive descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:7450
lrn_backward(const primitive_desc &pd)
Constructs an LRN backward propagation primitive.
Definition: dnnl.hpp:4754
dnnl_status_t DNNL_API dnnl_lstm_forward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, unsigned flags)
Initializes a descriptor for LSTM forward propagation primitive.
engine(const handle< dnnl_primitive_desc_t > &pd)
Constructs an engine based on a primitive from the primitive descriptor pd by querying its engine.
Definition: dnnl.hpp:1310
dnnl_status_t
Status values returned by the library functions.
Definition: dnnl_types.h:39
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:6863
@ dnnl_query_reorder_src_engine
source engine
Definition: dnnl_types.h:1902
engine get_src_engine() const
Returns the engine on which the source memory is allocated.
Definition: dnnl.hpp:2734
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7954
An execution engine.
Definition: dnnl.hpp:1249
@ avx
Intel(R) Advanced Vector Extensions.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for sum primitive from a C API primitive descriptor which must have...
Definition: dnnl.hpp:2983
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4990
desc(prop_kind prop_kind, algorithm activation, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, const memory::desc &diff_src_layer_desc, const memory::desc &diff_src_iter_desc, const memory::desc &diff_weights_layer_desc, const memory::desc &diff_weights_iter_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_layer_desc, const memory::desc &diff_dst_iter_desc, rnn_flags flags=rnn_flags::undef, float alpha=0.0f, float beta=0.0f)
Constructs a descriptor for a vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7198
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for an eltwise backward propagation primitive from a C API primitiv...
Definition: dnnl.hpp:5215
inner_product_forward(const primitive_desc &pd)
Constructs an inner product forward propagation primitive.
Definition: dnnl.hpp:6526
desc()=default
Default constructor. Produces an empty object.
void get_zero_points(int arg, int &mask, std::vector< int32_t > &zero_points) const
Returns zero points correspondence mask and values.
Definition: dnnl.hpp:1083
@ dnnl_softmax
A softmax primitive.
Definition: dnnl_types.h:681
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a deconvolution backward propagation primitive from a C API pri...
Definition: dnnl.hpp:4236
Local response normalization (LRN) forward propagation primitive.
Definition: dnnl.hpp:4540
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:6763
static void validate_dims(const std::vector< T > &v)
Helper function that validates that an std::vector of dimensions can be safely converted to the C API...
Definition: dnnl.hpp:1566
Descriptor for an elementwise backward propagation primitive.
Definition: dnnl.hpp:5131
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a resampling backward propagation primitive from a C API primit...
Definition: dnnl.hpp:9297
@ dnnl_query_rnn_d
rnn descriptor
Definition: dnnl_types.h:1920
#define DNNL_ARG_TO
A special mnemonic for reorder destination argument.
Definition: dnnl_types.h:1717
@ runtime_error
Primitive or engine failed on execution.
#define DNNL_MAX_NDIMS
Maximum number of dimensions a tensor can have.
Definition: dnnl_types.h:839
@ dnnl_scratchpad_mode_user
A user shall query and provide the scratchpad memory to primitives This mode is thread-safe as long a...
Definition: dnnl_types.h:1630
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:7789
@ reorder_dst_engine
reorder destination engine
kind
Kinds of primitives.
Definition: dnnl.hpp:262
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7946
engine(kind kind, size_t index)
Constructs an engine.
Definition: dnnl.hpp:1282
post_ops()
Constructs an empty sequence of post-ops.
Definition: dnnl.hpp:813
status set_jit_profiling_jitdumpdir(const std::string &dir)
Sets JIT dump output path.
Definition: dnnl.hpp:9369
Primitive descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:4934
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8156
@ dnnl_defcab
permuted 6D tensor
Definition: dnnl_types.h:202
@ dnnl_aBcde16b
5D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:267
layer_normalization_backward(const primitive_desc &pd)
Constructs a layer normalization backward propagation primitive.
Definition: dnnl.hpp:6376
dnnl_memory_desc_t data
The underlying C API data structure.
Definition: dnnl.hpp:2055
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7526
Descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:7992
An opaque structure to describe an engine.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6348
desc(const memory::dims &dims, data_type data_type, const memory::dims &strides)
Constructs a memory descriptor by strides.
Definition: dnnl.hpp:2094
eltwise_forward(const primitive_desc &pd)
Constructs an eltwise forward propagation primitive.
Definition: dnnl.hpp:5125
logsoftmax_forward()=default
Default constructor. Produces an empty object.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7103
const dnnl_version_t DNNL_API * dnnl_version()
Returns library version information.
Descriptor for resampling forward propagation.
Definition: dnnl.hpp:9043
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5226
stream & wait()
Waits for all primitives executing in the stream to finish.
Definition: dnnl.hpp:1448
@ dnnl_eltwise_relu
Eltwise: ReLU.
Definition: dnnl_types.h:720
@ dnnl_acb
permuted 3D tensor
Definition: dnnl_types.h:187
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4053
A descriptor of a matrix multiplication operation.
Definition: dnnl_types.h:1502
@ eltwise_elu
Elementwise: parametric exponential linear unit (elu)
@ shuffle
A shuffle primitive.
@ pooling_avg
Average pooling exclude padding, alias for dnnl::algorithm::pooling_avg_include_padding.
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7959
concat()=default
Default constructor. Produces an empty object.
size_t DNNL_API dnnl_memory_desc_get_size(const dnnl_memory_desc_t *memory_desc)
Returns the size of a memory descriptor.
@ dnnl_eltwise_abs
Eltwise: abs.
Definition: dnnl_types.h:728
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a softmax backward propagation primitive from a C API primitive...
Definition: dnnl.hpp:5427
primitive_desc(const desc &desc, const engine &engine, const batch_normalization_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a batch normalization backward propagation primitive.
Definition: dnnl.hpp:5910
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:3520
primitive_desc(const desc &desc, const engine &engine, const deconvolution_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a deconvolution weights update primitive.
Definition: dnnl.hpp:4466
desc(algorithm algorithm, const memory::desc &src_desc, const memory::desc &diff_weights_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a deconvolution weights gradient primitive without bias.
Definition: dnnl.hpp:4336
dnnl_normalization_flags_t
Flags for batch normalization primitive.
Definition: dnnl_types.h:789
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:7809
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8572
memory::desc diff_src_desc(int idx) const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:2437
Elementwise unary operation backward propagation primitive.
Definition: dnnl.hpp:5129
@ unimplemented
The operation failed because requested functionality is not implemented.
desc(algorithm algorithm, const memory::desc &src_desc, const memory::desc &diff_weights_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &dilates, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a dilated deconvolution weights gradient primitive without bias.
Definition: dnnl.hpp:4429
@ dnnl_shuffle
A shuffle primitive.
Definition: dnnl_types.h:669
@ dnnl_query_shuffle_d
shuffle descriptor
Definition: dnnl_types.h:1912
Matrix multiplication (matmul) primitive.
Definition: dnnl.hpp:8916
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:9302
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const lrn_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:4721
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7748
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const lstm_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an LSTM backward propagation primitive.
Definition: dnnl.hpp:7712
A descriptor of a convolution operation.
Definition: dnnl_types.h:1061
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:3523
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:3343
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:6871
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5950
dnnl_primitive_kind_t
Kinds of primitives.
Definition: dnnl_types.h:663
Elementwise unary operation forward propagation primitive.
Definition: dnnl.hpp:5030
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:4993
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:4506
dnnl_rnn_flags_t
Flags for RNN cell.
Definition: dnnl_types.h:1383
primitive_desc(int concat_dimension, const std::vector< memory::desc > &srcs, const engine &engine, const primitive_attr &attr=primitive_attr())
Constructs a primitive descriptor for an out-of-place concatenation primitive.
Definition: dnnl.hpp:2858
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const lbr_gru_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an LBR GRU backward propagation primitive.
Definition: dnnl.hpp:8533
@ dnnl_pooling_max
Max pooling.
Definition: dnnl_types.h:753
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:5778
dnnl_status_t DNNL_API dnnl_engine_get_kind(dnnl_engine_t engine, dnnl_engine_kind_t *kind)
Returns the kind of an engine.
dnnl_status_t DNNL_API dnnl_memory_desc_reshape(dnnl_memory_desc_t *out_memory_desc, const dnnl_memory_desc_t *in_memory_desc, int ndims, const dnnl_dims_t dims)
Initializes a memory descriptor by reshaping an existing one.
dnnl_stream_flags_t
Stream flags.
Definition: dnnl_types.h:1948
dnnl_query_t
Primitive descriptor query specification.
Definition: dnnl_types.h:1882
desc(prop_kind prop_kind, const memory::desc &data_desc, const memory::desc &stat_desc, float epsilon, normalization_flags flags)
Constructs a descriptor for layer normalization forward propagation primitive.
Definition: dnnl.hpp:6049
@ eltwise_bounded_relu
Elementwise: bounded_relu.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a logsoftmax forward propagation primitive from a C API primiti...
Definition: dnnl.hpp:5535
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a resampling forward propagation primitive from a C API primiti...
Definition: dnnl.hpp:9174
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const gru_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:8130
dnnl_status_t DNNL_API dnnl_logsoftmax_forward_desc_init(dnnl_logsoftmax_desc_t *logsoftmax_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, int logsoftmax_axis)
Initializes a descriptor for logsoftmax forward propagation primitive.
@ dnnl_bf16
non-standard 16-bit (bfloat16 w/ 7 bit mantissa) floating point.
Definition: dnnl_types.h:68
rnn_flags
RNN cell flags.
Definition: dnnl.hpp:601
A descriptor for an RNN operation.
Definition: dnnl_types.h:1405
@ dnnl_bcdea
permuted 5D tensor
Definition: dnnl_types.h:197
dnnl_rnn_direction_t
A direction of RNN primitive execution.
Definition: dnnl_types.h:1389
desc()=default
Default constructor. Produces an empty object.
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7500
cpu_isa
CPU instruction set flags.
Definition: dnnl.hpp:9374
@ dnnl_sum
A sum primitive.
Definition: dnnl_types.h:673
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a convolution weights gradient primitive from a C API primitive...
Definition: dnnl.hpp:3781
@ forward_training
Forward data propagation (training mode).
Descriptor for a matmul primitive.
Definition: dnnl.hpp:8918
inner_product_backward_weights(const primitive_desc &pd)
Constructs an inner product weights gradient primitive.
Definition: dnnl.hpp:6782
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7975
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a shuffle forward propagation primitive from a C API primitive ...
Definition: dnnl.hpp:8698
Primitive descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:4582
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a shuffle backward propagation primitive from a C API primitive...
Definition: dnnl.hpp:8779
@ dnnl_backward_weights
Backward weights propagation.
Definition: dnnl_types.h:656
@ layer_normalization_d
layer normalization descriptor
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_desc(int idx) const
Returns a destination memory descriptor.
Definition: dnnl.hpp:2419
@ dnnl_a
plain 1D tensor
Definition: dnnl_types.h:177
bool next_impl()
Advances the primitive iterator to the next implementation.
Definition: dnnl.hpp:3053
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:8615
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6152
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const softmax_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:5414
desc(prop_kind prop_kind, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, const memory::desc &diff_src_layer_desc, const memory::desc &diff_src_iter_desc, const memory::desc &diff_weights_layer_desc, const memory::desc &diff_weights_iter_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_layer_desc, const memory::desc &diff_dst_iter_desc, rnn_flags flags=rnn_flags::undef)
Constructs a descriptor for LBR GRU backward propagation primitive.
Definition: dnnl.hpp:8462
A descriptor of an inner product operation.
Definition: dnnl_types.h:1349
void set_ocl_mem_object(cl_mem mem_object)
Sets the OpenCL memory object mem_object associated with the memory.
Definition: dnnl.hpp:2300
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7521
Primitive descriptor for an inner product weights gradient primitive.
Definition: dnnl.hpp:6705
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a layer normalization forward propagation primitive from a C AP...
Definition: dnnl.hpp:6142
@ dnnl_gpu
GPU engine.
Definition: dnnl_types.h:1560
primitive()=default
Default constructor. Constructs an empty object.
dnnl_status_t DNNL_API dnnl_memory_unmap_data(const_dnnl_memory_t memory, void *mapped_ptr)
Unmaps a memory objects and writes any changes to the previously mapped buffer back.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:4872
Logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5461
dnnl_status_t DNNL_API dnnl_layer_normalization_backward_desc_init(dnnl_layer_normalization_desc_t *lnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, const dnnl_memory_desc_t *stat_desc, float epsilon, unsigned flags)
Initializes a descriptor for a layer normalization backward propagation primitive.
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:8182
@ eltwise_abs
Elementwise: abs.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:2990
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5096
@ lrn_across_channels
Local response normalization (LRN) across multiple channels.
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:6885
Descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5032
memory::dims dims() const
Returns dimensions of the memory descriptor.
Definition: dnnl.hpp:2143
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a vanilla RNN backward propagation primitive from a C API primi...
Definition: dnnl.hpp:7284
LSTM backward propagation primitive.
Definition: dnnl.hpp:7549
Descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6017
deconvolution_backward_weights()=default
Default constructor. Produces an empty object.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5116
@ dnnl_query_diff_weights_md
weights grad. memory desc
Definition: dnnl_types.h:1932
gru_forward(const primitive_desc &pd)
Constructs a GRU forward propagation primitive.
Definition: dnnl.hpp:7986
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a layer normalization backward propagation primitive from a C A...
Definition: dnnl.hpp:6332
dnnl_query_t convert_to_c(query query)
Converts query enum value from C++ API to C API type.
Definition: dnnl.hpp:783
@ dnnl_query_prop_kind
propagation kind
Definition: dnnl_types.h:1905
@ dnnl_eltwise_logistic
Eltwise: logistic.
Definition: dnnl_types.h:738
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8359
desc(prop_kind prop_kind, const memory::desc &diff_data_desc, const memory::desc &data_desc, const memory::desc &stat_desc, float epsilon, normalization_flags flags)
Constructs a descriptor for layer normalization backward propagation primitive.
Definition: dnnl.hpp:6229
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7743
@ inner_product_d
inner product descriptor
pooling_forward(const primitive_desc &pd)
Constructs a pooling forward propagation primitive.
Definition: dnnl.hpp:4881
@ dnnl_eltwise
An element-wise primitive.
Definition: dnnl_types.h:679
GRU forward propagation primitive.
Definition: dnnl.hpp:7829
@ deconvolution_direct
Direct deconvolution.
kind
Kinds of engines.
Definition: dnnl.hpp:1254
@ dnnl_aBc16b
3D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:210
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:8605
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5962
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7082
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a GRU forward propagation primitive from a C API primitive desc...
Definition: dnnl.hpp:7940
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7730
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:5813
inner_product_backward_data(const primitive_desc &pd)
Constructs an inner product backward propagation primitive.
Definition: dnnl.hpp:6635
@ dnnl_convolution_auto
Convolution algorithm(either direct or Winograd) is chosen just in time.
Definition: dnnl_types.h:714
binary(const primitive_desc &pd)
Constructs an elementwise binary operation primitive.
Definition: dnnl.hpp:8900
@ dnnl_cdba
permuted 4D tensor
Definition: dnnl_types.h:199
@ dnnl_eltwise_sqrt
Eltwise: square root.
Definition: dnnl_types.h:730
@ dnnl_cpu_isa_avx512_core
Intel(R) Advanced Vector Extensions 512 for Intel(R) Xeon(R) Processor Scalable Family and Intel(R) C...
Definition: dnnl_types.h:2043
primitive_desc(const memory::desc &dst, int concat_dimension, const std::vector< memory::desc > &srcs, const engine &engine, const primitive_attr &attr=primitive_attr())
Constructs a primitive descriptor for an out-of-place concatenation primitive.
Definition: dnnl.hpp:2831
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8346
lstm_backward()=default
Default constructor. Produces an empty object.
bool operator==(const handle< T, traits > &other) const
Equality operator.
Definition: dnnl.hpp:203
stream()=default
Constructs an empty stream.
@ dnnl_eltwise_bounded_relu
Eltwise: bounded_relu.
Definition: dnnl_types.h:734
lbr_gru_backward(const primitive_desc &pd)
Constructs an LBR GRU backward propagation primitive.
Definition: dnnl.hpp:8626
status set_max_cpu_isa(cpu_isa isa)
Sets the maximal ISA DNNL can dispatch to on the CPU.
Definition: dnnl.hpp:9396
primitive_desc(const std::vector< float > &scales, const std::vector< memory::desc > &srcs, const engine &engine, const primitive_attr &attr=primitive_attr())
Constructs a primitive descriptor for a sum primitive.
Definition: dnnl.hpp:2961
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5653
desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for LSTM backward propagation.
Definition: dnnl.hpp:7677
@ pooling
A pooling primitive.
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:6626
dnnl_status_t DNNL_API dnnl_lstm_backward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *src_iter_c_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *dst_iter_c_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_src_iter_c_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, const dnnl_memory_desc_t *diff_dst_iter_c_desc, unsigned flags)
Initializes a descriptor for LSTM backward propagation primitive.
primitive_desc()=default
Default constructor. Produces an empty object.
memory(const desc &md, const engine &engine)
Constructs a memory object.
Definition: dnnl.hpp:2205
primitive_attr get_primitive_attr() const
Returns the primitive attributes.
Definition: dnnl.hpp:2529
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8166
@ reorder_src_engine
reorder source engine
desc()=default
Default constructor. Produces an empty object.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for concat primitive from a C API primitive descriptor which must h...
Definition: dnnl.hpp:2877
@ dnnl_forward_inference
Forward data propagation (inference mode).
Definition: dnnl_types.h:646
@ dnnl_query_impl_info_str
for creating scratchpad memory
Definition: dnnl_types.h:1900
@ dnnl_query_dst_md
destination memory desc
Definition: dnnl_types.h:1933
@ dnnl_query_resampling_d
resampling descriptor
Definition: dnnl_types.h:1925
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:6857
void set_scratchpad_mode(scratchpad_mode mode)
Sets scratchpad mode.
Definition: dnnl.hpp:949
scratchpad_mode
Scratchpad mode.
Definition: dnnl.hpp:386
memory::desc diff_src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4987
@ dnnl_query_inner_product_d
inner product descriptor
Definition: dnnl_types.h:1919
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7079
@ pooling_avg_exclude_padding
Average pooling exclude padding.
@ dnnl_rnn_flags_undef
Undefined RNN flags.
Definition: dnnl_types.h:1385
@ dnnl_nCdhw16c
5D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcde16b
Definition: dnnl_types.h:461
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const deconvolution_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a deconvolution weights update primitive.
Definition: dnnl.hpp:4485
dnnl_primitive_kind_t convert_to_c(primitive::kind kind)
Converts primitive kind enum value from C++ API to C API type.
Definition: dnnl.hpp:349
@ dnnl_query_convolution_d
convolution descriptor
Definition: dnnl_types.h:1910
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:8207
Primitive descriptor for a resampling forward propagation primitive.
Definition: dnnl.hpp:9134
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:5809
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4627
@ eltwise_sqrt
Elementwise: square root.
primitive_desc()=default
Default constructor. Produces an empty object.
engine scratchpad_engine() const
Returns the engine on which the scratchpad memory is located.
Definition: dnnl.hpp:2517
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const vanilla_rnn_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7271
sum()=default
Default constructor. Produces an empty object.
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:7328
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7318
@ eltwise_log
Elementwise: natural logarithm.
primitive_desc(const desc &desc, const engine &engine, const inner_product_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an inner product weights update primitive.
Definition: dnnl.hpp:6722
lrn_forward(const primitive_desc &pd)
Constructs an LRN forward propagation primitive.
Definition: dnnl.hpp:4642
primitive_desc()=default
Default constructor. Produces an empty object.
@ dnnl_bcda
permuted 4D tensor
Definition: dnnl_types.h:196
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7092
Primitive descriptor for a sum primitive.
Definition: dnnl.hpp:2908
deconvolution_forward()=default
Default constructor. Produces an empty object.
@ dnnl_bidirectional_concat
Bidirectional execution of RNN primitive with concatenation of the results.
Definition: dnnl_types.h:1396
desc(algorithm algorithm, const memory::desc &diff_src_desc, const memory::desc &weights_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &dilates, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a dilated deconvolution backward propagation primitive.
Definition: dnnl.hpp:4165
reorder(const memory &src, const memory &dst, const primitive_attr &attr=primitive_attr())
Constructs a reorder primitive that would reorder data between memory objects having the same memory ...
Definition: dnnl.hpp:2765
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:2472
A descriptor of a pooling operation.
Definition: dnnl_types.h:1210
Layer normalization forward propagation primitive.
Definition: dnnl.hpp:6015
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:3786
@ lbr_gru
GRU cell with linear before reset.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4503
primitive_desc_base()=default
Default constructor. Produces an empty object.
void set_zero_points(int arg, int mask, const std::vector< int32_t > &zero_points)
Sets zero points for primitive operations for a given memory argument.
Definition: dnnl.hpp:1119
@ convolution_winograd
Winograd convolution.
kind get_kind() const
Returns the kind of the engine.
Definition: dnnl.hpp:1321
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7310
dnnl_data_type_t
Data type specification.
Definition: dnnl_types.h:62
@ dnnl_ba
permuted 2D tensor
Definition: dnnl_types.h:192
desc(const memory::desc &src_desc, const memory::desc &diff_weights_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_desc)
Constructs a descriptor for an inner product descriptor weights update primitive with bias.
Definition: dnnl.hpp:6663
@ dnnl_lrn_within_channel
LRN within a single channel.
Definition: dnnl_types.h:763
dnnl_status_t DNNL_API dnnl_memory_destroy(dnnl_memory_t memory)
Destroys a memory object.
Primitive descriptor for resampling backward propagation primitive.
Definition: dnnl.hpp:9249
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:2496
void set_post_ops(const post_ops ops)
Sets post-ops.
Definition: dnnl.hpp:1147
primitive_desc(const memory::desc &dst, const std::vector< float > &scales, const std::vector< memory::desc > &srcs, const engine &engine, const primitive_attr &attr=primitive_attr())
Constructs a primitive descriptor for a sum primitive.
Definition: dnnl.hpp:2931
dnnl_status_t DNNL_API dnnl_primitive_attr_create(dnnl_primitive_attr_t *attr)
Creates an empty (default) primitive attributes with all the parameters set to their default values.
eltwise_backward()=default
Default constructor. Produces an empty object.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a GRU backward propagation primitive from a C API primitive des...
Definition: dnnl.hpp:8143
@ dnnl_binary_mul
Binary mul.
Definition: dnnl_types.h:781
Primitive descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5066
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:6475
dnnl::primitive::kind get_kind() const
Returns the kind of the primitive descriptor.
Definition: dnnl.hpp:2541
@ unidirectional_left2right
Unidirectional execution of RNN primitive from left to right.
dnnl_status_t DNNL_API dnnl_primitive_attr_get_zero_points(const_dnnl_primitive_attr_t attr, int arg, dnnl_dim_t *count, int *mask, const int32_t **zero_points)
Returns count, correspondence zero point mask, and a pointer to a constant int32_t array of zero_poin...
@ dnnl_format_tag_undef
Undefined memory format tag.
Definition: dnnl_types.h:166
primitive_desc(const desc &desc, const engine &engine, const inner_product_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:6582
primitive_desc(const desc &desc, const engine &engine, const lstm_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an LSTM backward propagation primitive.
Definition: dnnl.hpp:7693
desc(prop_kind prop_kind, const memory::desc &data_desc, int logsoftmax_axis)
Constructs a descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5483
@ resampling
A resampling primitive.
dnnl_status_t DNNL_API dnnl_primitive_attr_set_output_scales(dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask, const float *scales)
Sets output scaling factors correspondence mask and values.
primitive_desc(const desc &desc, const engine &engine, const convolution_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a convolution weights gradient primitive.
Definition: dnnl.hpp:3749
dnnl_status_t DNNL_API dnnl_primitive_desc_iterator_create(dnnl_primitive_desc_iterator_t *iterator, const_dnnl_op_desc_t op_desc, const_dnnl_primitive_attr_t attr, dnnl_engine_t engine, const_dnnl_primitive_desc_t hint_forward_primitive_desc)
Creates a primitive descriptor iterator.
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a resampling forward propagation primitive.
Definition: dnnl.hpp:9148
shuffle_forward()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_softmax_forward_desc_init(dnnl_softmax_desc_t *softmax_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, int softmax_axis)
Initializes a descriptor for softmax forward propagation primitive.
dnnl_status_t DNNL_API dnnl_primitive_desc_clone(dnnl_primitive_desc_t *primitive_desc, const_dnnl_primitive_desc_t existing_primitive_desc)
Clones a primitive descriptor.
@ dnnl_format_kind_rnn_packed
Packed weights format used in RNN.
Definition: dnnl_types.h:93
@ dnnl_use_scaleshift
Use scale and shift parameters.
Definition: dnnl_types.h:814
@ dnnl_eltwise_log
Eltwise: natural logarithm.
Definition: dnnl_types.h:749
desc(prop_kind prop_kind, const memory::desc &data_desc, int softmax_axis)
Constructs a descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:5271
Primitive descriptor for an LBR GRU backward propagation primitive.
Definition: dnnl.hpp:8496
Descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:4542
Primitive descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:5282
@ dnnl_query_layer_normalization_d
layer normalization descriptor
Definition: dnnl_types.h:1918
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4742
dnnl_status_t DNNL_API dnnl_memory_set_data_handle(dnnl_memory_t memory, void *handle)
Sets memory object's data handle.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for an LRN forward propagation primitive from a C API primitive des...
Definition: dnnl.hpp:4621
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:2748
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:2745
@ dnnl_ABcd8b8a
4D tensor blocked by 1st and 2nd dimension with block size 8
Definition: dnnl_types.h:253
Post-ops.
Definition: dnnl.hpp:809
cl_device_id get_ocl_device() const
Returns the OpenCL device associated with the engine.
Definition: dnnl.hpp:1340
@ dnnl_resampling_linear
Linear Resampling Method.
Definition: dnnl_types.h:785
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6620
primitive_desc(const desc &desc, const engine &engine, const pooling_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:4950
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:2478
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:8202
primitive_desc(const desc &desc, const engine &engine, const resampling_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a resampling backward propagation primitive.
Definition: dnnl.hpp:9265
lstm_forward()=default
Default constructor. Produces an empty object.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:2502
desc(prop_kind prop_kind, const memory::desc &data_desc, float epsilon, normalization_flags flags)
Constructs a batch normalization descriptor for forward propagation.
Definition: dnnl.hpp:5735
Primitive descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6101
@ dnnl_forward_training
Forward data propagation (training mode).
Definition: dnnl_types.h:642
query
Primitive descriptor query specification.
Definition: dnnl.hpp:688
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7972
dnnl_status_t DNNL_API dnnl_primitive_desc_query(const_dnnl_primitive_desc_t primitive_desc, dnnl_query_t what, int index, void *result)
Queries a primitive descriptor for various pieces of information.
@ dnnl_bac
permuted 3D tensor
Definition: dnnl_types.h:193
@ dnnl_eltwise_square
Eltwise: square.
Definition: dnnl_types.h:726
@ dnnl_fuse_norm_relu
Fuse with ReLU.
Definition: dnnl_types.h:827
@ eltwise_clip
Eltwise: clip.
dnnl_status_t DNNL_API dnnl_primitive_execute(const_dnnl_primitive_t primitive, dnnl_stream_t stream, int nargs, const dnnl_exec_arg_t *args)
Executes a primitive.
@ dnnl_cpu_isa_avx512_mic_4ops
Intel(R) Advanced Vector Extensions 512 subset for Intel(R) Xeon Phi(TM) Processors 7235,...
Definition: dnnl_types.h:2039
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8354
logsoftmax_backward(const primitive_desc &pd)
Constructs a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:5668
Deconvolution weights gradient primitive.
Definition: dnnl.hpp:4260
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8372
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6508
desc(const memory::desc &diff_data_desc, const memory::desc &data_desc, int softmax_axis)
Constructs a descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:5366
@ convolution_d
convolution descriptor
dnnl_status_t DNNL_API dnnl_stream_destroy(dnnl_stream_t stream)
Destroys an execution stream.
dnnl_status_t DNNL_API dnnl_primitive_attr_destroy(dnnl_primitive_attr_t attr)
Destroys primitive attributes.
@ fuse_norm_relu
Fuse with ReLU.
primitive_desc(const memory &src, const memory &dst, const primitive_attr &attr=primitive_attr())
Constructs a primitive descriptor for reorder primitive.
Definition: dnnl.hpp:2711
dnnl_status_t DNNL_API dnnl_post_ops_append_sum(dnnl_post_ops_t post_ops, float scale)
Appends an accumulation (sum) to post-ops.
@ num_of_outputs_s32
number of outputs expected
primitive_desc(const desc &desc, const engine &engine, const primitive_attr &attr=primitive_attr(), bool allow_empty=false)
Constructs a primitive descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:8686
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:6821
Tensor concatenation (concat) primitive.
Definition: dnnl.hpp:2804
dnnl_status_t DNNL_API dnnl_gru_forward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, unsigned flags)
Initializes a descriptor for GRU forward propagation primitive.
dnnl_status_t DNNL_API dnnl_gemm_s8s8s32(char transa, char transb, char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const int8_t *A, dnnl_dim_t lda, int8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co)
Performs integer matrix-matrix multiply on 8-bit signed matrix A, 8-bit signed matrix B,...
memory(const desc &md, const engine &engine, void *handle)
Constructs a memory object.
Definition: dnnl.hpp:2191
@ dnnl_format_kind_wino
Weights format used in 8bit Winograd convolution.
Definition: dnnl_types.h:91
Descriptor for a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:5563
@ dnnl_convolution_winograd
Winograd convolution.
Definition: dnnl_types.h:712
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &bias_desc, const memory::desc &dst_desc, const memory::dims &strides, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a deconvolution forward propagation primitive with bias.
Definition: dnnl.hpp:3860
Convolution forward propagation primitive.
Definition: dnnl.hpp:3090
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:5656
desc(prop_kind prop_kind, const memory::desc &diff_data_desc, const memory::desc &data_desc, float epsilon, normalization_flags flags)
Constructs a descriptor for layer normalization backward propagation primitive.
Definition: dnnl.hpp:6268
Descriptor for a batch normalization backward propagation primitive.
Definition: dnnl.hpp:5847
@ dnnl_ABcde4b16a4b
5D tensor blocked by 1st dimension with block size 16
Definition: dnnl_types.h:263
@ dnnl_nChw8c
4D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcd8b
Definition: dnnl_types.h:476
Batch normalization forward propagation primitive.
Definition: dnnl.hpp:5694
dnnl_status_t DNNL_API dnnl_memory_desc_init_submemory(dnnl_memory_desc_t *memory_desc, const dnnl_memory_desc_t *parent_memory_desc, const dnnl_dims_t dims, const dnnl_dims_t offsets)
Initializes a memory descriptor for a region inside an area described by an existing memory descripto...
dnnl_engine_kind_t
Kinds of engines.
Definition: dnnl_types.h:1554
@ dnnl_binary
A binary primitive.
Definition: dnnl_types.h:697
@ dnnl_cdeba
permuted 5D tensor
Definition: dnnl_types.h:200
@ forward_inference
Forward data propagation (inference mode).
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:7338
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6359
@ dnnl_eltwise_tanh
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition: dnnl_types.h:722
error(dnnl_status_t status, const char *message)
Constructs an instance of an exception class.
Definition: dnnl.hpp:95
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8169
@ dnnl_aBc4b
3D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:214
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4866
primitive_desc()=default
Default constructor. Produces an empty object.
@ dnnl_abcde
plain 5D tensor
Definition: dnnl_types.h:181
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &src_desc, const memory::desc &dst_desc, const memory::dims &strides, const memory::dims &kernel, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for pooling forward propagation primitive.
Definition: dnnl.hpp:4802
@ dnnl_nCw8c
3D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBc8b
Definition: dnnl_types.h:485
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:3310
dnnl_status_t DNNL_API dnnl_post_ops_append_eltwise(dnnl_post_ops_t post_ops, float scale, dnnl_alg_kind_t alg_kind, float alpha, float beta)
Appends an elementwise post-op.
Descriptor for an inner product weights gradient primitive.
Definition: dnnl.hpp:6641
dnnl_dims_t dims
Dimensions in the following order:
Definition: dnnl_types.h:994
@ dnnl_stream_default_order
Default order execution.
Definition: dnnl_types.h:1951
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:5762
@ avx512_core_vnni
Intel(R) Advanced Vector Extensions 512 with Intel(R) DL Boost Support for Intel(R) Xeon(R) Processor...
dnnl_status_t DNNL_API dnnl_primitive_attr_get_scratchpad_mode(const_dnnl_primitive_attr_t attr, dnnl_scratchpad_mode_t *mode)
Returns the primitive attributes scratchpad mode.
dnnl_status_t DNNL_API dnnl_concat_primitive_desc_create(dnnl_primitive_desc_t *concat_primitive_desc, const dnnl_memory_desc_t *dst_desc, int n, int concat_dimension, const dnnl_memory_desc_t *src_descs, const_dnnl_primitive_attr_t attr, dnnl_engine_t engine)
Creates a primitive descriptor for an out-of-place concatenation primitive.
dnnl_status_t DNNL_API dnnl_post_ops_destroy(dnnl_post_ops_t post_ops)
Destroys post-ops.
dnnl_status_t DNNL_API dnnl_eltwise_backward_desc_init(dnnl_eltwise_desc_t *eltwise_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, float alpha, float beta)
Initializes a descriptor for eltwise backward propagation primitive.
primitive_desc()=default
Default constructor. Produces an empty object.
Softmax forward propagation primitive.
Definition: dnnl.hpp:5249
@ resampling_nearest
Nearest Neighbor resampling method.
@ dnnl_pooling
A pooling primitive.
Definition: dnnl_types.h:683
Batch normalization backward propagation primitive.
Definition: dnnl.hpp:5845
@ dnnl_acdb
permuted 4D tensor
Definition: dnnl_types.h:190
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:6491
@ dnnl_query_lrn_d
lrn descriptor
Definition: dnnl_types.h:1916
dnnl_status_t DNNL_API dnnl_convolution_backward_data_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a convolution backward propagation primitive.
@ dnnl_backward
Backward propagation (with respect to all parameters).
Definition: dnnl_types.h:652
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5796
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6623
A descriptor of a Softmax operation.
Definition: dnnl_types.h:1180
@ dnnl_cpu_isa_avx512_core_bf16
Intel(R) Advanced Vector Extensions 512 with Intel(R) DL Boost and Bfloat16 Support for Intel(R) Xeon...
Definition: dnnl_types.h:2053
primitive_desc(const desc &desc, const engine &engine, const vanilla_rnn_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7251
primitive_desc(const desc &desc, const engine &engine, const eltwise_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an elementwise backward propagation primitive.
Definition: dnnl.hpp:5182
dnnl_status_t DNNL_API dnnl_memory_get_data_handle(const_dnnl_memory_t memory, void **handle)
Returns memory object's data handle.
vanilla_rnn_forward(const primitive_desc &pd)
Constructs a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7114
@ dnnl_iterator_ends
Primitive iterator passed over last primitive descriptor.
Definition: dnnl_types.h:49
@ default_order
Default order execution.
@ scratchpad_md
scratchpad memory desc
data_type
Data type specification.
Definition: dnnl.hpp:1572
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for an LRN backward propagation primitive from a C API primitive de...
Definition: dnnl.hpp:4734
Descriptor for an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:8229
dnnl_status_t DNNL_API dnnl_primitive_attr_set_scales(dnnl_primitive_attr_t attr, int arg, dnnl_dim_t count, int mask, const float *scales)
Sets primitive attributes scaling factors for primitive operations for a given memory argument.
cl_context get_ocl_context() const
Returns the OpenCL context associated with the engine.
Definition: dnnl.hpp:1331
dnnl_status_t DNNL_API dnnl_stream_create(dnnl_stream_t *stream, dnnl_engine_t engine, unsigned flags)
Creates an execution stream for engine and with flags.
dnnl_status_t DNNL_API dnnl_sgemm(char transa, char transb, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const float *A, dnnl_dim_t lda, const float *B, dnnl_dim_t ldb, float beta, float *C, dnnl_dim_t ldc)
Performs single-precision matrix-matrix multiply.
Primitive descriptor for a convolution weights gradient primitive.
Definition: dnnl.hpp:3733
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5956
dnnl_status_t DNNL_API dnnl_stream_wait(dnnl_stream_t stream)
Waits for all primitives in the execution stream to finish computations.
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:6877
An opaque structure to describe a primitive descriptor.
desc(const memory::desc &diff_data_desc, const memory::desc &data_desc, int logsoftmax_axis)
Constructs a descriptor for a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:5583
Primitive descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:4821
dnnl_status_t DNNL_API dnnl_sum_primitive_desc_create(dnnl_primitive_desc_t *sum_primitive_desc, const dnnl_memory_desc_t *dst_desc, int n, const float *scales, const dnnl_memory_desc_t *src_descs, const_dnnl_primitive_attr_t attr, dnnl_engine_t engine)
Creates a primitive descriptor for an (out-of-place) sum primitive.
static engine query(const primitive_desc &pd)
Returns the engine of a primitive descriptor.
Definition: dnnl.hpp:1354
@ dnnl_nCdhw8c
5D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcde8b
Definition: dnnl_types.h:467
@ dnnl_pooling_avg
Average pooling (alias for dnnl_pooling_avg_exclude_padding)
Definition: dnnl_types.h:759
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a softmax forward propagation primitive from a C API primitive ...
Definition: dnnl.hpp:5323
desc(algorithm algorithm, const memory::desc &src_desc, const memory::desc &diff_weights_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &dilates, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a dilated deconvolution weights gradient primitive with bias.
Definition: dnnl.hpp:4382
@ dnnl_vanilla_rnn
RNN cell.
Definition: dnnl_types.h:765
@ weights_md
weights memory descriptor desc
@ avx2
Intel(R) Advanced Vector Extensions 2.
dnnl_status_t DNNL_API dnnl_primitive_desc_get_attr(const_dnnl_primitive_desc_t primitive_desc, const_dnnl_primitive_attr_t *attr)
Returns a constant reference to the attributes of a primitive descriptor.
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &dst_desc, const memory::dims &strides, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a convolution forward propagation primitive without bias.
Definition: dnnl.hpp:3174
@ dnnl_unidirectional
Alias for dnnl_unidirectional_left2right.
Definition: dnnl_types.h:1401
desc(prop_kind prop_kind, const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &dst_desc)
Constructs a descriptor for an inner product forward propagation primitive without bias.
Definition: dnnl.hpp:6448
@ inner_product
An inner product primitive.
dnnl_status_t DNNL_API dnnl_gru_backward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags)
Initializes a descriptor for GRU backward propagation primitive.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7534
memory::desc dst_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7529
Primitive descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4023
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7769
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:6351
@ undef
Undefined primitive.
Resampling forward propagation.
Definition: dnnl.hpp:9041
desc get_desc() const
Returns the associated memory descriptor.
Definition: dnnl.hpp:2209
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:8707
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:6889
@ dnnl_aBcd4b
4D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:236
Inner product weights gradient primitive.
Definition: dnnl.hpp:6639
void execute(stream &stream, const std::unordered_map< int, memory > &args) const
Executes computations specified by the primitive in a specified stream.
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:8854
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6161
resampling_backward(const primitive_desc &pd)
Constructs a resampling backward propagation primitive.
Definition: dnnl.hpp:9314
@ layer_normalization
A layer normalization primitive.
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc src_iter_c_desc() const
Returns source recurrent cell state memory descriptor.
Definition: dnnl.hpp:6825
format_tag
Memory format tag specification.
Definition: dnnl.hpp:1646
@ dnnl_query_matmul_d
matrix multiplication (matmul) descriptor
Definition: dnnl_types.h:1924
void unmap_data(void *mapped_ptr) const
Unmaps the previously mapped data for the memory.
Definition: dnnl.hpp:2281
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &dst_desc, const memory::dims &strides, const memory::dims &dilates, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a dilated deconvolution forward propagation primitive without bias.
Definition: dnnl.hpp:4002
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a resampling forward propagation primitive.
Definition: dnnl.hpp:9163
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7951
@ dnnl_query_binary_d
binary descriptor
Definition: dnnl_types.h:1922
@ dnnl_lbr_gru
GRU cell with linear before reset.
Definition: dnnl_types.h:777
@ not_required
Queried element is not required for given primitive.
dnnl_status_t DNNL_API dnnl_lbr_gru_backward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags)
Initializes a descriptor for LBR GRU backward propagation primitive.
primitive_desc()=default
Default constructor. Produces an empty object.
@ backward_weights
Backward weights propagation.
@ dst_md
destination memory desc
@ dnnl_forward
Forward data propagation (alias for dnnl_forward_training).
Definition: dnnl_types.h:650
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:9183
@ dnnl_f32
32-bit/single-precision floating point.
Definition: dnnl_types.h:70
@ batch_normalization_d
batch normalization descriptor
@ dnnl_acbdef
permuted 6D tensor
Definition: dnnl_types.h:189
normalization_flags
Flags for normalization primitives.
Definition: dnnl.hpp:547
Inner product backward propagation primitive.
Definition: dnnl.hpp:6530
@ dnnl_use_global_stats
Use global statistics.
Definition: dnnl_types.h:801
stream(const engine &engine, flags flags=flags::default_flags)
Constructs a stream for the specified engine and with behavior controlled by the specified flags.
Definition: dnnl.hpp:1416
@ binary_d
binary descriptor
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:4849
matmul(const primitive_desc &pd)
Constructs a matmul primitive.
Definition: dnnl.hpp:9025
@ dnnl_lrn_across_channels
Local response normalization (LRN) across multiple channels.
Definition: dnnl_types.h:761
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:5970
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a batch normalization forward propagation primitive from a C AP...
Definition: dnnl.hpp:5789
@ dnnl_concat
A (out-of-place) concat primitive.
Definition: dnnl_types.h:671
Inner product forward propagation primitive.
Definition: dnnl.hpp:6390
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:4244
@ dnnl_query_diff_dst_md
destination grad. memory desc
Definition: dnnl_types.h:1934
@ dnnl_format_kind_undef
Undefined memory format kind, used for empty memory descriptors.
Definition: dnnl_types.h:82
Logsoftmax backward propagation primitive.
Definition: dnnl.hpp:5561
@ dnnl_aBcdef16b
6D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:297
@ dnnl_layer_normalization
A layer normalization primitive.
Definition: dnnl_types.h:689
@ workspace_md
workspace memory desc
Primitive descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:8095
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4070
dnnl_status_t DNNL_API dnnl_set_max_cpu_isa(dnnl_cpu_isa_t isa)
Sets the maximal ISA DNNL can dispatch to on the CPU.
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:8610
dnnl_data_type_t data_type
Data type of the tensor elements.
Definition: dnnl_types.h:997
dnnl_status_t DNNL_API dnnl_convolution_backward_weights_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a convolution weights gradient primitive.
@ iterator_ends
Primitive iterator passed over last primitive descriptor.
desc(const memory::desc &src_desc, const memory::desc &diff_weights_desc, const memory::desc &diff_dst_desc)
Constructs a descriptor for an inner product descriptor weights update primitive without bias.
Definition: dnnl.hpp:6692
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:7333
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a LBR GRU backward propagation primitive from a C API primitive...
Definition: dnnl.hpp:8546
@ src_md
source memory desc
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a deconvolution weights gradient primitive from a C API primiti...
Definition: dnnl.hpp:4498
@ convolution_direct
Direct convolution.
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4247
primitive_desc(const desc &desc, const engine &engine, const shuffle_forward::primitive_desc &hint_fwd_pd, const primitive_attr &attr=primitive_attr(), bool allow_empty=false)
Constructs a primitive descriptor for a shuffle backward propagation primitive.
Definition: dnnl.hpp:8766
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for an LSTM forward propagation primitive from a C API primitive de...
Definition: dnnl.hpp:7489
convolution_forward()=default
Default constructor. Produces an empty object.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:4633
@ eltwise_logistic
Elementwise: logistic.
@ dnnl_cpu_isa_all
Any ISA (no restrictions)
Definition: dnnl_types.h:2022
dnnl_status_t DNNL_API dnnl_reorder_primitive_desc_create(dnnl_primitive_desc_t *reorder_primitive_desc, const dnnl_memory_desc_t *src_desc, dnnl_engine_t src_engine, const dnnl_memory_desc_t *dst_desc, dnnl_engine_t dst_engine, const_dnnl_primitive_attr_t attr)
Creates a primitive descriptor for a reorder primitive.
deconvolution_backward_data()=default
Default constructor. Produces an empty object.
@ dnnl_query_op_d
op descriptor
Definition: dnnl_types.h:1909
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:7463
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7289
dnnl_status_t DNNL_API dnnl_softmax_backward_desc_init(dnnl_softmax_desc_t *softmax_desc, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, int softmax_axis)
Initializes a descriptor for softmax backward propagation primitive.
primitive_desc()=default
Default constructor. Produces an empty object.
void set_scales(int arg, int mask, const std::vector< float > &scales)
Sets scaling factors for primitive operations for a given memory argument.
Definition: dnnl.hpp:1067
Primitive descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:3296
@ dnnl_out_of_memory
The operation failed due to an out-of-memory condition.
Definition: dnnl_types.h:43
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:6833
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition: dnnl_types.h:871
dnnl_status_t DNNL_API dnnl_memory_get_memory_desc(const_dnnl_memory_t memory, const dnnl_memory_desc_t **memory_desc)
Returns the memory descriptor for a memory object.
dnnl_status_t DNNL_API dnnl_vanilla_rnn_backward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, const dnnl_alg_kind_t activation, const dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, const dnnl_memory_desc_t *diff_src_layer_desc, const dnnl_memory_desc_t *diff_src_iter_desc, const dnnl_memory_desc_t *diff_weights_layer_desc, const dnnl_memory_desc_t *diff_weights_iter_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_layer_desc, const dnnl_memory_desc_t *diff_dst_iter_desc, unsigned flags, float alpha, float beta)
Initializes a descriptor for vanilla RNN backward propagation primitive.
lbr_gru_backward()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_deconvolution_backward_weights_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a deconvolution weights gradient primitive.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8177
vanilla_rnn_forward()=default
Default constructor. Produces an empty object.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5113
@ eltwise_tanh
Elementwise: hyperbolic tangent non-linearity (tanh)
dnnl_status_t DNNL_API dnnl_resampling_backward_desc_init(dnnl_resampling_desc_t *resampling_desc, dnnl_alg_kind_t alg_kind, const float *factors, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *diff_dst_desc)
Initializes a descriptor for resampling backward propagation primitive.
@ dnnl_abcd
plain 4D tensor
Definition: dnnl_types.h:180
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:8869
dnnl_status_t DNNL_API dnnl_primitive_get_primitive_desc(const_dnnl_primitive_t primitive, const_dnnl_primitive_desc_t *primitive_desc)
Retrieves a constant reference to the primitive descriptor of a given primitive.
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7294
Descriptor for a layer normalization backward propagation primitive.
Definition: dnnl.hpp:6198
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8161
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const convolution_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:3502
@ dnnl_u8
8-bit unsigned integer.
Definition: dnnl_types.h:76
@ dnnl_query_workspace_md
workspace memory desc
Definition: dnnl_types.h:1935
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7495
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:9017
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5220
@ dnnl_format_tag_last
Just a sentinel, not real memory format tag.
Definition: dnnl_types.h:351
handle()=default
Constructs an empty handle object.
primitive_desc()=default
Default constructor. Produces an empty object.
resampling_forward(const primitive_desc &pd)
Constructs a resampling forward propagation primitive.
Definition: dnnl.hpp:9192
desc(prop_kind prop_kind, const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &bias_desc, const memory::desc &dst_desc)
Constructs a descriptor for an inner product forward propagation primitive with bias.
Definition: dnnl.hpp:6417
@ dnnl_query_deconvolution_d
deconvolution descriptor
Definition: dnnl_types.h:1911
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a LBR GRU forward propagation primitive.
Definition: dnnl.hpp:8313
@ dnnl_logsoftmax
A logsoftmax primitive.
Definition: dnnl_types.h:699
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a convolution forward propagation primitive from a C API primit...
Definition: dnnl.hpp:3337
@ dnnl_format_tag_any
Undefined memory format tag.
Definition: dnnl_types.h:169
@ dnnl_deconvolution_direct
Direct deconvolution.
Definition: dnnl_types.h:716
desc(prop_kind prop_kind, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, rnn_flags flags=rnn_flags::undef)
Constructs a descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:7878
memory::desc dst_iter_c_desc() const
Returns destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:6853
primitive_desc(const desc &desc, const engine &engine, const deconvolution_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a deconvolution backward propagation primitive.
Definition: dnnl.hpp:4203
desc(prop_kind prop_kind, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, rnn_flags flags=rnn_flags::undef)
Constructs a descriptor for LBR GRU forward propagation primitive.
Definition: dnnl.hpp:8276
handle(T t, bool weak=false)
Constructs a handle wrapper object from a C API handle.
Definition: dnnl.hpp:162
int DNNL_API dnnl_memory_desc_equal(const dnnl_memory_desc_t *lhs, const dnnl_memory_desc_t *rhs)
Compares two memory descriptors.
@ dnnl_reorder
A reorder primitive.
Definition: dnnl_types.h:667
Primitive descriptor for a matmul primitive.
Definition: dnnl.hpp:8965
Primitive descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:5748
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:9012
dnnl_status_t DNNL_API dnnl_deconvolution_backward_data_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a deconvolution backward propagation primitive.
A descriptor of a Local Response Normalization (LRN) operation.
Definition: dnnl_types.h:1248
desc(algorithm algorithm, const memory::desc &diff_data_desc, const memory::desc &data_desc, float alpha=0, float beta=0)
Constructs a descriptor for an elementwise backward propagation primitive.
Definition: dnnl.hpp:5152
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &data_desc, float alpha=0, float beta=0)
Constructs a descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5053
@ dnnl_stream_default_flags
Default stream configuration.
Definition: dnnl_types.h:1957
@ avx512_mic
Intel(R) Advanced Vector Extensions 512 subset for Intel(R) Xeon Phi(TM) Processors x200 Series.
A descriptor of a shuffle operation.
Definition: dnnl_types.h:1114
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &bias_desc, const memory::desc &dst_desc, const memory::dims &strides, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a convolution forward propagation primitive with bias.
Definition: dnnl.hpp:3127
memory::desc src_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7738
Primitive descriptor for a batch normalization backward propagation primitive.
Definition: dnnl.hpp:5893
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5548
Primitive descriptor for a concat primitive.
Definition: dnnl.hpp:2806
gru_backward()=default
Default constructor. Produces an empty object.
@ dnnl_backward_data
Backward data propagation.
Definition: dnnl_types.h:654
@ use_scale_shift
Use scale and shift parameters.
softmax_backward()=default
Default constructor. Produces an empty object.
@ dnnl_acdeb
permuted 5D tensor
Definition: dnnl_types.h:191
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a matmul primitive.
Definition: dnnl.hpp:8991
Structure containing version information as per Semantic Versioning
Definition: dnnl_types.h:1990
desc(prop_kind prop_kind, algorithm activation, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, rnn_flags flags=rnn_flags::undef, float alpha=0.0f, float beta=0.0f)
Constructs a descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7002
A descriptor of a Batch Normalization operation.
Definition: dnnl_types.h:1279
@ memory_consumption_s64
memory consumption (bytes)
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:2490
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:2484
Layer normalization backward propagation primitive.
Definition: dnnl.hpp:6196
desc(prop_kind prop_kind, const memory::desc &diff_data_desc, const memory::desc &data_desc, float epsilon, normalization_flags flags)
Constructs a batch normalization descriptor for backward propagation.
Definition: dnnl.hpp:5879
@ library
The library manages the scratchpad allocation according to the policy specified by the DNNL_ENABLE_CO...
resampling_forward()=default
Default constructor. Produces an empty object.
Primitive descriptor GRU forward propagation primitive.
Definition: dnnl.hpp:7901
@ backward_bias
Backward bias propagation.
dnnl_status_t DNNL_API dnnl_set_verbose(int level)
Configures verbose output to stdout.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a logsoftmax backward propagation primitive from a C API primit...
Definition: dnnl.hpp:5644
@ avx512_core
Intel(R) Advanced Vector Extensions 512 for Intel(R) Xeon(R) Processor Scalable Family and Intel(R) C...
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:7353
@ eltwise_swish
Elementwise: x*sigmoid(a*x)
softmax_forward()=default
Default constructor. Produces an empty object.
A descriptor of a element-wise operation.
Definition: dnnl_types.h:1136
desc(algorithm algorithm, const memory::desc &diff_src_desc, const memory::desc &weights_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:3400
dnnl_status_t DNNL_API dnnl_eltwise_forward_desc_init(dnnl_eltwise_desc_t *eltwise_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *data_desc, float alpha, float beta)
Initializes a descriptor for eltwise forward propagation primitive.
memory::desc diff_dst_desc(int idx) const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:2446
primitive_desc_base(dnnl_primitive_desc_t pd, dnnl::primitive::kind prim_kind, dnnl::prop_kind prop_kind)
Constructs a primitive descriptor base object from a clone of a C API primitive descriptor after veri...
Definition: dnnl.hpp:2588
@ dnnl_aBcd16b
4D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:230
@ lrn_within_channel
LRN within a single channel.
@ dnnl_resampling_nearest
Nearest Neighbor Resampling Method.
Definition: dnnl_types.h:783
layer_normalization_backward()=default
Default constructor. Produces an empty object.
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:6849
primitive_desc(const_dnnl_op_desc_t desc, const primitive_attr *attr, const engine &engine, const_dnnl_primitive_desc_t hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor.
Definition: dnnl.hpp:3035
@ user
A user shall query and provide the scratchpad memory to primitives This mode is thread-safe as long a...
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6155
@ dnnl_rnn
A rnn primitive.
Definition: dnnl_types.h:693
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7100
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:3789
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:3794
status set_jit_profiling_flags(unsigned flags)
Sets library profiling flags.
Definition: dnnl.hpp:9364
@ dnnl_query_num_of_outputs_s32
number of outputs expected
Definition: dnnl_types.h:1889
memory::desc src1_desc() const
Returns the memory descriptor for source #1.
Definition: dnnl.hpp:8888
Pooling forward propagation primitive.
Definition: dnnl.hpp:4768
@ dnnl_cpu_isa_sse41
Intel(R) SSE4.1.
Definition: dnnl_types.h:2025
status sgemm(char transa, char transb, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const float *A, dnnl_dim_t lda, const float *B, dnnl_dim_t ldb, float beta, float *C, dnnl_dim_t ldc)
Performs single-precision matrix-matrix multiply.
Definition: dnnl.hpp:9411
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:4610
memory::dim query_s64(query what) const
Returns a memory::dim value (same as int64_t).
Definition: dnnl.hpp:2369
status
Status values returned by the library functions.
Definition: dnnl.hpp:9331
Descriptor for a LBR GRU backward propagation primitive.
Definition: dnnl.hpp:8392
dnnl_status_t DNNL_API dnnl_memory_get_engine(const_dnnl_memory_t memory, dnnl_engine_t *engine)
Returns the engine of a memory object.
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6342
@ dnnl_abdec
permuted 5D tensor
Definition: dnnl_types.h:186
@ dnnl_cpu_isa_avx2
Intel(R) Advanced Vector Extensions 2.
Definition: dnnl_types.h:2031
@ dnnl_cpu_isa_avx512_core_vnni
Intel(R) Advanced Vector Extensions 512 with Intel(R) DL Boost Support for Intel(R) Xeon(R) Processor...
Definition: dnnl_types.h:2048
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const deconvolution_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a deconvolution backward propagation primitive.
Definition: dnnl.hpp:4223
Convolution backward propagation primitive.
Definition: dnnl.hpp:3368
int ndims
Number of dimensions.
Definition: dnnl_types.h:979
desc(prop_kind prop_kind, const memory::desc &data_desc, float epsilon, normalization_flags flags)
Constructs a descriptor for layer normalization forward propagation primitive.
Definition: dnnl.hpp:6088
@ dnnl_aBc8b
3D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:221
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:6843
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const convolution_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a convolution weights gradient primitive.
Definition: dnnl.hpp:3768
T get(bool allow_empty=false) const
Returns the underlying C API handle.
Definition: dnnl.hpp:178
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:2466
primitive_desc()=default
Default constructor. Produces an empty object.
A descriptor of a Layer Normalization operation.
Definition: dnnl_types.h:1312
Primitive descriptor for a reorder primitive.
Definition: dnnl.hpp:2670
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:8784
Elementwise binary operator primitive.
Definition: dnnl.hpp:8810
Descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:4648
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:4079
desc(algorithm algorithm, const memory::desc &src_desc, const memory::desc &diff_weights_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a convolution weights gradient primitive without bias.
Definition: dnnl.hpp:3617
desc(algorithm algorithm, const memory::desc &src0, const memory::desc &src1, const memory::desc &dst)
Constructs a descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:8830
Descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:6532
@ dnnl_not_required
Queried element is not required for given primitive.
Definition: dnnl_types.h:53
@ dnnl_eltwise_clip
Eltwise: clip.
Definition: dnnl_types.h:751
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
size_t DNNL_API dnnl_engine_get_count(dnnl_engine_kind_t kind)
Returns the number of engines of a particular kind.
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:4834
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8577
dnnl_status_t DNNL_API dnnl_engine_create(dnnl_engine_t *engine, dnnl_engine_kind_t kind, size_t index)
Creates an engine.
DNNL exception class.
Definition: dnnl.hpp:87
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6158
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:3326
primitive_desc(const desc &desc, const engine &engine, const softmax_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:5394
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
@ dnnl_pooling_avg_include_padding
Average pooling include padding.
Definition: dnnl_types.h:755
@ avx512_core_bf16
Intel(R) Advanced Vector Extensions 512 with Intel(R) DL Boost and Bfloat16 Support for Intel(R) Xeon...
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6164
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:8192
memory::data_type data_type() const
Returns the data type of the memory descriptor.
Definition: dnnl.hpp:2149
dnnl_status_t DNNL_API dnnl_set_jit_profiling_jitdumpdir(const char *dir)
Sets JIT dump output path.
void append_eltwise(float scale, algorithm algorithm, float alpha, float beta)
Appends an elementwise post-op.
Definition: dnnl.hpp:884
desc(const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &bias_desc, const memory::desc &dst_desc)
Constructs a descriptor for a matmul primitive.
Definition: dnnl.hpp:8955
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &bias_desc, const memory::desc &dst_desc, const memory::dims &strides, const memory::dims &dilates, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a dilated convolution forward propagation primitive with bias.
Definition: dnnl.hpp:3225
dnnl_dim_t dim
Integer type for representing dimension sizes and indices.
Definition: dnnl.hpp:1555
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a vanilla RNN forward propagation primitive from a C API primit...
Definition: dnnl.hpp:7068
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:6768
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7761
dnnl_status_t DNNL_API dnnl_primitive_desc_iterator_destroy(dnnl_primitive_desc_iterator_t iterator)
Destroys a primitive descriptor iterator.
Primitive descriptor for a deconvolution weights gradient primitive.
Definition: dnnl.hpp:4450
@ dnnl_deconvolution
A deconvolution primitive.
Definition: dnnl_types.h:677
dnnl_status_t DNNL_API dnnl_inner_product_backward_data_desc_init(dnnl_inner_product_desc_t *ip_desc, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc)
Initializes descriptor for inner product backward propagation.
void get_output_scales(int &mask, std::vector< float > &scales) const
Returns output scaling factors correspondence mask and values.
Definition: dnnl.hpp:964
@ dnnl_aBcde4b
5D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:274
dnnl_status_t DNNL_API dnnl_memory_map_data(const_dnnl_memory_t memory, void **mapped_ptr)
Maps a memory object and returns a pointer to host-side buffer with a copy of its contents.
@ forward
Forward data propagation, alias for dnnl::prop_kind::forward_training.
desc(prop_kind prop_kind, const memory::desc &data_desc, int axis, int group_size)
Constructs a descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:8660
@ eltwise_relu
Elementwise: ReLU.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6339
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_backward_weights_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated deconvolution weights gradient primitive.
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:7799
Pooling backward propagation primitive.
Definition: dnnl.hpp:4885
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:4241
@ dnnl_stream_out_of_order
Out-of-order execution.
Definition: dnnl_types.h:1955
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6511
@ resampling_linear
Linear (Bilinear, Trilinear) resampling method.
A base class for descriptors of all primitives that have an operation descriptor and that support ite...
Definition: dnnl.hpp:3008
lstm_backward(const primitive_desc &pd)
Constructs an LSTM backward propagation primitive.
Definition: dnnl.hpp:7825
@ use_global_stats
Use global statistics.
dnnl_status_t DNNL_API dnnl_batch_normalization_backward_desc_init(dnnl_batch_normalization_desc_t *bnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags)
Initializes a descriptor for a batch normalization backward propagation primitive.
dnnl_status_t DNNL_API dnnl_lbr_gru_forward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, unsigned flags)
Initializes a descriptor for LBR GRU forward propagation primitive.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:8891
void reset(T t, bool weak=false)
Resets the handle wrapper objects to wrap a new C API handle.
Definition: dnnl.hpp:169
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5332
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5508
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:8600
@ dnnl_convolution
A convolution primitive.
Definition: dnnl_types.h:675
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:7348
flags
Stream flags. Can be combined using the bitwise OR operator.
Definition: dnnl.hpp:1395
desc(prop_kind prop_kind, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &src_iter_c_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &bias_desc, const memory::desc &dst_layer_desc, const memory::desc &dst_iter_desc, const memory::desc &dst_iter_c_desc, const memory::desc &diff_src_layer_desc, const memory::desc &diff_src_iter_desc, const memory::desc &diff_src_iter_c_desc, const memory::desc &diff_weights_layer_desc, const memory::desc &diff_weights_iter_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_layer_desc, const memory::desc &diff_dst_iter_desc, const memory::desc &diff_dst_iter_c_desc, rnn_flags flags=rnn_flags::undef)
Constructs an LSTM descriptor for backward propagation using prop_kind, direction,...
Definition: dnnl.hpp:7636
static size_t get_count(kind kind)
Returns the number of engines of a certain kind.
Definition: dnnl.hpp:1273
memory::desc diff_src_iter_c_desc() const
Returns diff source recurrent cell state memory descriptor.
Definition: dnnl.hpp:6867
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const eltwise_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an elementwise backward propagation primitive.
Definition: dnnl.hpp:5202
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5978
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const pooling_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:4969
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for an LSTM backward propagation primitive from a C API primitive d...
Definition: dnnl.hpp:7725
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a pooling backward propagation primitive from a C API primitive...
Definition: dnnl.hpp:4982
void append_sum(float scale=1.)
Appends an accumulation (sum) post-op.
Definition: dnnl.hpp:855
desc(const memory::desc &diff_data_desc, int axis, int group_size)
Constructs a descriptor for a shuffle backward propagation primitive.
Definition: dnnl.hpp:8739
dnnl_status_t DNNL_API dnnl_inner_product_backward_weights_desc_init(dnnl_inner_product_desc_t *ip_desc, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc)
Initializes descriptor for inner product weights gradient primitive.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:4745
resampling_backward()=default
Default constructor. Produces an empty object.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:5223
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:6354
@ bidirectional_sum
Bidirectional execution of RNN primitive with summation of the results.
An opaque structure for primitive descriptor attributes.
memory::desc diff_bias_desc() const
Returns the diff bias memory descriptor.
Definition: dnnl.hpp:6771
@ deconvolution_winograd
Winograd deconvolution.
@ unidirectional_right2left
Unidirectional execution of RNN primitive from right to left.
@ dnnl_lrn
An LRN primitive.
Definition: dnnl_types.h:685
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:7343
dnnl_status_t DNNL_API dnnl_primitive_attr_get_scales(dnnl_primitive_attr_t attr, int arg, dnnl_dim_t *count, int *mask, const float **scales)
Returns primitive attributes scaling factors correspondence mask and values for a given memory argume...
@ eltwise_exp
Elementwise: exponent.
@ dnnl_query_src_md
source memory desc
Definition: dnnl_types.h:1929
dnnl_status_t DNNL_API dnnl_primitive_attr_set_rnn_data_qparams(dnnl_primitive_attr_t attr, const float scale, const float shift)
Set quantization scale and shift parameters for RNN data tensors.
rnn_primitive_desc_base()=default
Default constructor. Produces an empty object.
@ convolution
A convolution primitive.
dnnl_status_t DNNL_API dnnl_primitive_attr_get_post_ops(const_dnnl_primitive_attr_t attr, const_dnnl_post_ops_t *post_ops)
Returns primitive attributes post-ops.
primitive_desc(const desc &desc, const engine &engine, const layer_normalization_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a layer normalization backward propagation primitive.
Definition: dnnl.hpp:6299
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:8595
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:8187
memory::desc diff_dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5659
primitive_attr(dnnl_primitive_attr_t attr)
Creates primitive attributes from a C API dnnl_primitive_attr_t handle.
Definition: dnnl.hpp:934
pooling_backward(const primitive_desc &pd)
Constructs a pooling backward propagation primitive.
Definition: dnnl.hpp:5002
Descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:8642
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:8704
desc(algorithm algorithm, const memory::desc &diff_src_desc, const memory::desc &weights_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a deconvolution backward propagation primitive.
Definition: dnnl.hpp:4122
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:2884
dnnl_scratchpad_mode_t
Scratchpad mode.
Definition: dnnl_types.h:1608
Primitive attributes.
Definition: dnnl.hpp:918
softmax_forward(const primitive_desc &pd)
Constructs a softmax forward propagation primitive.
Definition: dnnl.hpp:5341
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8580
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6514
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8556
desc(algorithm algorithm, std::vector< float > factors, const memory::desc &diff_src_desc, const memory::desc &diff_dst_desc)
Constructs a descriptor for resampling backward propagation primitive.
Definition: dnnl.hpp:9238
@ dnnl_data_type_undef
Undefined data type, used for empty memory descriptors.
Definition: dnnl_types.h:64
shuffle_backward(const primitive_desc &pd)
Constructs a shuffle backward propagation primitive.
Definition: dnnl.hpp:8796
Primitive descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:6565
@ dnnl_query_engine
execution engine
Definition: dnnl_types.h:1885
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_backward_data_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated deconvolution backward propagation primitive.
@ dnnl_query_softmax_d
softmax descriptor
Definition: dnnl_types.h:1914
A descriptor of resampling operation.
Definition: dnnl_types.h:1524
@ dnnl_invalid_arguments
The operation failed because of incorrect function arguments.
Definition: dnnl_types.h:45
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8375
Descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:3371
primitive_desc()=default
Default constructor. Produces an empty object.
Descriptor for a shuffle primitive backward propagation primitive.
Definition: dnnl.hpp:8723
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5329
@ softmax_d
softmax descriptor
@ dnnl_cpu
CPU engine.
Definition: dnnl_types.h:1558
Memory object.
Definition: dnnl.hpp:1553
desc(algorithm algorithm, const memory::desc &src_desc, const memory::desc &diff_weights_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &dilates, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a dilated convolution weights gradient primitive without bias.
Definition: dnnl.hpp:3712
An opaque structure for a chain of post operations.
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:6895
void get_scales(int arg, int &mask, std::vector< float > &scales) const
Returns scaling factors correspondence mask and values for a given memory argument.
Definition: dnnl.hpp:1037
@ dnnl_query_undef
no query
Definition: dnnl_types.h:1883
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:7914
@ undef
Undefined RNN flags.
eltwise_forward()=default
Default constructor. Produces an empty object.
@ dnnl_eltwise_swish
Eltwise: swish.
Definition: dnnl_types.h:747
static void wrap_c_api(dnnl_status_t status, const char *message)
A convenience function for wrapping calls to C API functions.
Definition: dnnl.hpp:106
eltwise_backward(const primitive_desc &pd)
Constructs an eltwise backward propagation primitive.
Definition: dnnl.hpp:5235
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const inner_product_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:6602
memory::desc diff_weights_desc(int idx) const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:2455
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7756
@ undef
Undefined propagation kind.
inner_product_forward()=default
Default constructor. Produces an empty object.
primitive_desc(const desc &desc, const engine &engine, const convolution_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:3482
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:5973
dnnl_status_t DNNL_API dnnl_dilated_convolution_backward_weights_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated convolution weights gradient primitive.
@ eltwise_linear
Elementwise: linear.
status set_verbose(int level)
Configures verbose output to stdout.
Definition: dnnl.hpp:9349
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4037
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5799
Primitive descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:6461
DNNL C API handle wrapper class.
Definition: dnnl.hpp:129
pooling_backward()=default
Default constructor. Produces an empty object.
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:5296
memory::desc src_desc(int idx) const
Returns a source memory descriptor.
Definition: dnnl.hpp:2410
@ convolution_auto
Convolution algorithm (either direct or Winograd) is chosen just in time.
dnnl_status_t DNNL_API dnnl_primitive_destroy(dnnl_primitive_t primitive)
Destroys a primitive.
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7508
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for an inner product weights update primitive from a C API primitiv...
Definition: dnnl.hpp:6755
Descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:5696
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a binary primitive from a C API primitive descriptor that must ...
Definition: dnnl.hpp:8878
dnnl_status_t DNNL_API dnnl_memory_create(dnnl_memory_t *memory, const dnnl_memory_desc_t *memory_desc, dnnl_engine_t engine, void *handle)
Creates a memory object.
dnnl_status_t DNNL_API dnnl_pooling_forward_desc_init(dnnl_pooling_desc_t *pool_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t kernel, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for pooling forward propagation primitive.
dnnl_status_t DNNL_API dnnl_logsoftmax_backward_desc_init(dnnl_logsoftmax_desc_t *logsoftmax_desc, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, int logsoftmax_axis)
Initializes a descriptor for logsoftmax backward propagation primitive.
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7297
inner_product_backward_data()=default
Default constructor. Produces an empty object.
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8559
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:6815
convolution_backward_data(const primitive_desc &pd)
Constructs a convolution backward propagation primitive.
Definition: dnnl.hpp:3535
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const inner_product_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for an inner product weights update primitive.
Definition: dnnl.hpp:6742
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:5959
dnnl_status_t DNNL_API dnnl_shuffle_forward_desc_init(dnnl_shuffle_desc_t *shuffle_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, int axis, dnnl_dim_t group_size)
Initializes a descriptor for shuffle forward propagation primitive.
LBR GRU forward propagation primitive.
Definition: dnnl.hpp:8227
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:9305
batch_normalization_backward(const primitive_desc &pd)
Constructs a batch normalization backward propagation primitive.
Definition: dnnl.hpp:5987
desc(algorithm algorithm, const memory::desc &src_desc, const memory::desc &diff_weights_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a convolution weights gradient primitive with bias.
Definition: dnnl.hpp:3573
Memory descriptor.
Definition: dnnl_types.h:977
@ dnnl_backward_bias
Backward bias propagation.
Definition: dnnl_types.h:658
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7087
memory::desc src_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7503
@ dnnl_matmul
A matrix multiplication primitive.
Definition: dnnl_types.h:701
void set_output_scales(int mask, const std::vector< float > &scales)
Sets output scaling factors correspondence mask and values.
Definition: dnnl.hpp:1020
convolution_backward_weights(const primitive_desc &pd)
Constructs a convolution weights gradient primitive.
Definition: dnnl.hpp:3811
logsoftmax_forward(const primitive_desc &pd)
Constructs a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5557
bool operator!=(const handle &other) const
Inequality operator.
Definition: dnnl.hpp:213
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:3355
dnnl_cpu_isa_t
CPU instruction set flags.
Definition: dnnl_types.h:2020
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:6517
bool operator!=(const desc &other) const
An inequality operator.
Definition: dnnl.hpp:2176
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const layer_normalization_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a layer normalization backward propagation primitive.
Definition: dnnl.hpp:6319
Descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:4887
Primitive descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:8671
batch_normalization_forward()=default
Default constructor. Produces an empty object.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:4076
Descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:6947
dnnl_status_t DNNL_API dnnl_lrn_forward_desc_init(dnnl_lrn_desc_t *lrn_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *data_desc, dnnl_dim_t local_size, float alpha, float beta, float k)
Initializes a descriptor for LRN forward propagation primitive.
dnnl_binary_desc_t data
Underlying C operation descriptor.
Definition: dnnl.hpp:8814
@ dnnl_nChw4c
4D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcd4b
Definition: dnnl_types.h:473
@ scratchpad_engine
scratchpad engine
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:7774
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8569
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6760
void get_params_eltwise(int index, float &scale, algorithm &algorithm, float &alpha, float &beta) const
Returns parameters of an elementwise post-up.
Definition: dnnl.hpp:898
dnnl_status_t DNNL_API dnnl_engine_destroy(dnnl_engine_t engine)
Destroys an engine.
void reset_with_clone(const_dnnl_primitive_desc_t pd)
Resets the value of the handle to a clone of a C API primitive descriptor.
Definition: dnnl.hpp:2553
@ dnnl_bacd
permuted 4D tensor
Definition: dnnl_types.h:194
@ dnnl_format_kind_any
Unspecified format kind.
Definition: dnnl_types.h:85
int DNNL_API dnnl_post_ops_len(const_dnnl_post_ops_t post_ops)
Returns the length of post-ops.
Primitive descriptor for a layer normalization backward propagation primitive.
Definition: dnnl.hpp:6282
memory::desc scratchpad_desc() const
Returns the scratchpad memory descriptor.
Definition: dnnl.hpp:2511
dnnl_status_t DNNL_API dnnl_batch_normalization_forward_desc_init(dnnl_batch_normalization_desc_t *bnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags)
Initializes a descriptor for a batch normalization forward propagation primitive.
@ dnnl_nChw16c
4D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcd16b
Definition: dnnl_types.h:470
Primitive descriptor for a shuffle backward propagation primitive.
Definition: dnnl.hpp:8748
dnnl_status_t DNNL_API dnnl_shuffle_backward_desc_init(dnnl_shuffle_desc_t *shuffle_desc, const dnnl_memory_desc_t *diff_data_desc, int axis, dnnl_dim_t group_size)
Initializes a descriptor for shuffle backward propagation primitive.
Primitive descriptor for a deconvolution backward propagation primitive.
Definition: dnnl.hpp:4186
void get_params_sum(int index, float &scale) const
Returns the parameters of an accumulation (sum) post-op.
Definition: dnnl.hpp:864
@ dnnl_query_eltwise_d
eltwise descriptor
Definition: dnnl_types.h:1913
handle< T, traits > & operator=(const handle< T, traits > &)=default
Assignment operator.
memory::desc diff_bias_desc() const
Returns the diff bias memory descriptor.
Definition: dnnl.hpp:3800
@ pooling_max
Max pooling.
Descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:8812
Descriptor for a deconvolution weights gradient primitive.
Definition: dnnl.hpp:4262
memory::desc src_desc(int idx=0) const
Returns a source memory descriptor.
Definition: dnnl.hpp:2881
@ dnnl_cba
permuted 3D tensor
Definition: dnnl_types.h:198
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:6839
dnnl_status_t DNNL_API dnnl_lrn_backward_desc_init(dnnl_lrn_desc_t *lrn_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, dnnl_dim_t local_size, float alpha, float beta, float k)
Initializes a descriptor for LRN backward propagation primitive.
A class that provides the destructor for a DNNL C API handle.
Definition: dnnl.hpp:113
memory::desc weights_desc(int idx) const
Returns a weights memory descriptor.
Definition: dnnl.hpp:2428
primitive_desc(const desc &desc, const engine &engine, const gru_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:8111
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:8585
@ dnnl_query_num_of_inputs_s32
number of inputs expected
Definition: dnnl_types.h:1888
@ invalid_arguments
The operation failed because of incorrect function arguments.
std::vector< dim > dims
Vector of dimensions.
Definition: dnnl.hpp:1558
Primitive descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:5377
Deconvolution backward propagation primitive.
Definition: dnnl.hpp:4092
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5805
@ dnnl_acbde
permuted 5D tensor
Definition: dnnl_types.h:188
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:7804
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &dst_desc, const memory::dims &strides, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a deconvolution forward propagation primitive without bias.
Definition: dnnl.hpp:3905
dnnl_status_t DNNL_API dnnl_post_ops_get_params_sum(const_dnnl_post_ops_t post_ops, int index, float *scale)
Returns the parameters of an accumulation (sum) post-op.
dnnl_status_t DNNL_API dnnl_primitive_attr_set_scratchpad_mode(dnnl_primitive_attr_t attr, dnnl_scratchpad_mode_t mode)
Sets primitive attributes scratchpad mode.
const post_ops get_post_ops() const
Returns post-ops previously set via set_post_ops().
Definition: dnnl.hpp:1130
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7074
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7967
A memory descriptor.
Definition: dnnl.hpp:2052
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:3346
Base class for all computational primitives.
Definition: dnnl.hpp:255
dnnl_alg_kind_t
Kinds of algorithms.
Definition: dnnl_types.h:707
@ dnnl_deconvolution_winograd
Winograd deconvolution.
Definition: dnnl_types.h:718
@ dnnl_cpu_isa_avx512_mic
Intel(R) Advanced Vector Extensions 512 subset for Intel(R) Xeon Phi(TM) Processors x200 Series.
Definition: dnnl_types.h:2035
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:4595
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5524
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6345
batch_normalization_backward()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_memory_desc_init_by_strides(dnnl_memory_desc_t *memory_desc, int ndims, const dnnl_dims_t dims, dnnl_data_type_t data_type, const dnnl_dims_t strides)
Initializes a memory descriptor using dimensions and strides.
@ dnnl_success
The operation was successful.
Definition: dnnl_types.h:41
engine get_engine() const
Returns the associated engine.
Definition: dnnl.hpp:2217
format_kind
Memory format kind.
Definition: dnnl.hpp:1590
@ dnnl_eltwise_exp
Eltwise: exponent.
Definition: dnnl_types.h:740
@ dnnl_abcdef
plain 6D tensor
Definition: dnnl_types.h:182
convolution_forward(const primitive_desc &pd)
Constructs a convolution forward propagation primitive.
Definition: dnnl.hpp:3364
bool operator==(const desc &other) const
An equality operator.
Definition: dnnl.hpp:2168
Shuffle forward propagation primitive.
Definition: dnnl.hpp:8640
@ logsoftmax_d
logsoftmax descriptor
lbr_gru_forward(const primitive_desc &pd)
Constructs an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:8386
dnnl_status_t DNNL_API dnnl_primitive_attr_set_zero_points(dnnl_primitive_attr_t attr, int arg, dnnl_dim_t count, int mask, const int32_t *zero_points)
Sets primitive attributes zero points for primitive operations for a given memory argument.
matmul()=default
Default constructor. Produces an empty object.
lbr_gru_forward()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_primitive_create(dnnl_primitive_t *primitive, const_dnnl_primitive_desc_t primitive_desc)
Creates a primitive.
primitive_desc()=default
Default constructor. Produces an empty object.
Descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:3092
desc(prop_kind prop_kind, algorithm algorithm, const std::vector< float > &factors, const memory::desc &src_desc)
Constructs a descriptor for a resampling forward propagation primitive using source memory descriptor...
Definition: dnnl.hpp:9090
desc(const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &dst_desc)
Constructs a descriptor for a matmul primitive.
Definition: dnnl.hpp:8933
bool is_zero() const
Checks whether the memory descriptor is zero (empty).
Definition: dnnl.hpp:2162
rnn_primitive_desc_base(dnnl_primitive_desc_t pd, dnnl::prop_kind prop_kind, dnnl::algorithm cell_kind)
Constructs an RNN primitive descriptor base from a C API primitive descriptor while checking that it ...
Definition: dnnl.hpp:6809
@ dnnl_bidirectional_sum
Bidirectional execution of RNN primitive with summation of the results.
Definition: dnnl_types.h:1399
lstm_forward(const primitive_desc &pd)
Constructs an LSTM forward propagation primitive.
Definition: dnnl.hpp:7545
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:7794
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7518
@ dnnl_eltwise_linear
Eltwise: linear.
Definition: dnnl_types.h:732
@ dnnl_nCw16c
3D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBc16b
Definition: dnnl_types.h:479
DNNL namespace.
Definition: dnnl.hpp:77
@ dnnl_vanilla_gru
GRU cell.
Definition: dnnl_types.h:769
@ logsoftmax
A logsoftmax primitive.
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8364
@ shuffle_d
shuffle descriptor
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:5312
@ dnnl_abc
plain 3D tensor
Definition: dnnl_types.h:179
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:9007
Descriptor for a convolution weights gradient primitive.
Definition: dnnl.hpp:3541
@ impl_info_str
implementation name
Descriptor for a deconvolution backward propagation primitive.
Definition: dnnl.hpp:4094
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8367
A descriptor of a binary operation.
Definition: dnnl_types.h:1477
desc submemory_desc(const memory::dims &dims, const memory::dims &offsets) const
Constructs a memory descriptor for a region inside an area described by this memory descriptor.
Definition: dnnl.hpp:2117
pooling_forward()=default
Default constructor. Produces an empty object.
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8564
engine get_dst_engine() const
Returns the engine on which the destination memory is allocated.
Definition: dnnl.hpp:2740
@ batch_normalization
A batch normalization primitive.
dnnl_status_t DNNL_API dnnl_primitive_attr_clone(dnnl_primitive_attr_t *attr, const_dnnl_primitive_attr_t existing_attr)
Clones primitive attributes.
primitive_desc()=default
Default constructor. Produces an empty object.
void * get_data_handle() const
Returns the underlying memory buffer.
Definition: dnnl.hpp:2227
@ dnnl_convolution_direct
Direct convolution.
Definition: dnnl_types.h:710
dnnl_primitive_kind_t DNNL_API dnnl_post_ops_get_kind(const_dnnl_post_ops_t post_ops, int index)
Returns the kind of a post-op entry.
sum(const primitive_desc &pd)
Constructs a sum primitive.
Definition: dnnl.hpp:2998
concat(const primitive_desc &pd)
Constructs a concatenation primitive.
Definition: dnnl.hpp:2892
@ dnnl_query_diff_src_md
source gradient memory desc
Definition: dnnl_types.h:1930
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7057
@ eltwise_gelu
Elementwise: gelu.
Vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:6945
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8551
@ eltwise_square
Elementwise: square.
cl_command_queue get_ocl_command_queue() const
Returns the underlying OpenCL queue object.
Definition: dnnl.hpp:1438
vanilla_rnn_backward(const primitive_desc &pd)
Constructs a vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7364
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:8787
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &dst_desc, const memory::dims &strides, const memory::dims &dilates, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a dilated convolution forward propagation primitive without bias.
Definition: dnnl.hpp:3275
deconvolution_forward(const primitive_desc &pd)
Constructs a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4088
const version_t * version()
Returns library version information.
Definition: dnnl.hpp:9354
@ dnnl_forward_scoring
Forward data propagation (alias for dnnl_forward_inference).
Definition: dnnl_types.h:648
binary()=default
Default constructor. Produces an empty object.
@ dnnl_aBcde8b
5D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:284
reorder(const primitive_desc &pd)
Constructs a reorder primitive.
Definition: dnnl.hpp:2756
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a matmul primitive.
Definition: dnnl.hpp:8977
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for an inner product forward propagation primitive from a C API pri...
Definition: dnnl.hpp:6502
desc(const memory::desc &diff_src_desc, const memory::desc &weights_desc, const memory::desc &diff_dst_desc)
Constructs a descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:6552
dnnl_status_t DNNL_API dnnl_deconvolution_forward_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a deconvolution forward propagation primitive.
primitive::kind kind(int index) const
Returns the primitive kind of post-op at entry with a certain index.
Definition: dnnl.hpp:826
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8351
algorithm
Kinds of algorithms.
Definition: dnnl.hpp:454
Primitive descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:3465
memory::desc dst_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7764
@ dnnl_prop_kind_undef
Undefined propagation type.
Definition: dnnl_types.h:639
dnnl_status_t DNNL_API dnnl_resampling_forward_desc_init(dnnl_resampling_desc_t *resampling_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const float *factors, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *dst_desc)
Initializes a descriptor for a resampling forward propagation primitive.
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:5953
primitive_desc()=default
Default constructor. Produces an empty object.
kind get_kind() const
Returns the kind of the primitive.
Definition: dnnl.hpp:360
dnnl_status_t DNNL_API dnnl_matmul_desc_init(dnnl_matmul_desc_t *matmul_desc, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc)
Initializes a matrix multiplication descriptor.
memory::desc diff_bias_desc() const
Returns the diff bias memory descriptor.
Definition: dnnl.hpp:4514
@ dnnl_blocked
A tensor in a generic format described by the stride and blocking values in each dimension.
Definition: dnnl_types.h:89
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:8590
dnnl_status_t DNNL_API dnnl_memory_desc_init_by_tag(dnnl_memory_desc_t *memory_desc, int ndims, const dnnl_dims_t dims, dnnl_data_type_t data_type, dnnl_format_tag_t tag)
Initializes a memory descriptor using dimensions and memory format tag.
@ dnnl_query_primitive_kind
primitive kind
Definition: dnnl_types.h:1886
@ dnnl_unidirectional_left2right
Unidirectional execution of RNN primitive from left to right.
Definition: dnnl_types.h:1391
@ time_estimate_f64
runtime estimation (seconds), unimplemented
primitive_desc(const desc &desc, const engine &engine, const logsoftmax_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:5611
dnnl_primitive_desc_t DNNL_API dnnl_primitive_desc_iterator_fetch(const_dnnl_primitive_desc_iterator_t iterator)
Fetches the current primitive descriptor from a primitive descriptor iterator.
Descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:4770
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for reorder primitive from a C API primitive descriptor which must ...
Definition: dnnl.hpp:2729
Primitive descriptor for eltwise backward propagation.
Definition: dnnl.hpp:5165
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &src_desc, const memory::desc &dst_desc)
Constructs a descriptor for a resampling forward propagation primitive using source and destination m...
Definition: dnnl.hpp:9067
Descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5463
desc(prop_kind prop_kind, algorithm algorithm, const std::vector< float > &factors, const memory::desc &src_desc, const memory::desc &dst_desc)
Constructs a descriptor for a resampling forward propagation primitive.
Definition: dnnl.hpp:9122
@ dnnl_eltwise_elu
Eltwise: parametric exponential linear unit (elu)
Definition: dnnl_types.h:724
memory::desc src0_desc() const
Returns the memory descriptor for source #0.
Definition: dnnl.hpp:8885
@ in_order
In-order execution.
T * map_data() const
Maps the data of the memory.
Definition: dnnl.hpp:2263
@ avx512_mic_4ops
Intel(R) Advanced Vector Extensions 512 subset for Intel(R) Xeon Phi(TM) Processors 7235,...
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:3526
@ out_of_memory
The operation failed due to an out-of-memory condition.
primitive_desc()=default
Default constructor. Produces an empty object.
batch_normalization_forward(const primitive_desc &pd)
Constructs a batch normalization forward propagation primitive.
Definition: dnnl.hpp:5841
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:7779
primitive_desc()=default
Default constructor. Produces an empty object.
shuffle_forward(const primitive_desc &pd)
Constructs a shuffle forward propagation primitive.
Definition: dnnl.hpp:8716
dnnl_status_t DNNL_API dnnl_dilated_convolution_backward_data_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated convolution backward propagation primitive.
memory::desc src_desc(int idx=0) const
Returns a source memory descriptor.
Definition: dnnl.hpp:2987
dnnl_status_t DNNL_API dnnl_layer_normalization_forward_desc_init(dnnl_layer_normalization_desc_t *lnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, const dnnl_memory_desc_t *stat_desc, float epsilon, unsigned flags)
Initializes a descriptor for layer normalization forward propagation primitive.
@ dnnl_nCw4c
3D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBc4b
Definition: dnnl_types.h:482
scratchpad_mode get_scratchpad_mode() const
Returns the scratchpad mode.
Definition: dnnl.hpp:938
dnnl_status_t DNNL_API dnnl_primitive_attr_set_rnn_weights_qparams(dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask, const float *scales)
Sets quantization scaling factors for RNN weights tensors.
desc(algorithm algorithm, const memory::desc &src_desc, const memory::desc &diff_weights_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a deconvolution weights gradient primitive with bias.
Definition: dnnl.hpp:4293
dnnl_status_t DNNL_API dnnl_primitive_attr_set_post_ops(dnnl_primitive_attr_t attr, const_dnnl_post_ops_t post_ops)
Sets primitive attributes post-ops.
desc()
Constructs a zero (empty) memory descriptor.
Definition: dnnl.hpp:2059
@ out_of_order
Out-of-order execution.
convolution_backward_weights()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_primitive_desc_destroy(dnnl_primitive_desc_t primitive_desc)
Destroys a primitive descriptor.
desc(algorithm algorithm, const memory::desc &diff_src_desc, const memory::desc &weights_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &dilates, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for dilated convolution backward propagation primitive.
Definition: dnnl.hpp:3444
@ dnnl_vanilla_lstm
LSTM cell.
Definition: dnnl_types.h:767
@ dnnl_any_engine
An unspecified engine.
Definition: dnnl_types.h:1556
lrn_backward()=default
Default constructor. Produces an empty object.
Base class for primitive descriptors for RNN primitives.
Definition: dnnl.hpp:6796
primitive_attr()
Constructs default (empty) primitive attributes.
Definition: dnnl.hpp:922
desc(algorithm algorithm, const memory::desc &diff_src_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &kernel, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for pooling backward propagation primitive.
Definition: dnnl.hpp:4915
@ dnnl_nCdhw4c
5D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcde4b
Definition: dnnl_types.h:464
Primitive descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:4686
@ dnnl_resampling
A resampling primitive.
Definition: dnnl_types.h:703
LSTM forward propagation primitive.
Definition: dnnl.hpp:7368
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for an inner product backward propagation primitive from a C API pr...
Definition: dnnl.hpp:6615
primitive_desc_base(dnnl_primitive_desc_t pd, dnnl::primitive::kind prim_kind)
Constructs a primitive descriptor base object from a clone of a C API primitive descriptor after veri...
Definition: dnnl.hpp:2573
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6115
@ matmul_d
matmul descriptor
@ dnnl_cpu_isa_avx
Intel(R) Advanced Vector Extensions.
Definition: dnnl_types.h:2028
@ dnnl_bca
permuted 3D tensor
Definition: dnnl_types.h:195
engine get_engine() const
Returns the engine of the primitive descriptor.
Definition: dnnl.hpp:2356
@ diff_weights_md
weights grad. memory desc
dnnl_prop_kind_t
Kinds of propagation.
Definition: dnnl_types.h:636
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8148
const char * impl_info_str() const
Returns implementation name.
Definition: dnnl.hpp:2359
@ dnnl_query_scratchpad_md
scratchpad memory desc
Definition: dnnl_types.h:1936
@ forward_scoring
Forward data propagation, alias for dnnl::prop_kind::forward_inference.
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7513
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:5802
memory::desc query_md(query what, int idx=0) const
Returns a memory descriptor.
Definition: dnnl.hpp:2390
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const logsoftmax_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:5631
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:5965
dnnl_status_t DNNL_API dnnl_dilated_convolution_forward_desc_init(dnnl_convolution_desc_t *conv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated convolution forward propagation primitive.
desc(algorithm algorithm, const memory::desc &diff_src_desc, const memory::desc &diff_dst_desc)
Constructs a descriptor for a resampling backward propagation primitive using source and destination ...
Definition: dnnl.hpp:9215
@ dnnl_eltwise_gelu
Eltwise: gelu.
Definition: dnnl_types.h:745
desc(algorithm algorithm, const memory::desc &src_desc, const memory::desc &diff_weights_desc, const memory::desc &diff_bias_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &dilates, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a dilated convolution weights gradient primitive with bias.
Definition: dnnl.hpp:3664
primitive_desc(const desc &desc, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7041
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:4073
dnnl_status_t DNNL_API dnnl_primitive_attr_get_output_scales(const_dnnl_primitive_attr_t attr, dnnl_dim_t *count, int *mask, const float **scales)
Returns primitive attributes output scaling factors correspondence mask and values.
@ dnnl_query_weights_md
weights memory descriptor desc
Definition: dnnl_types.h:1931
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6367
@ backward_data
Backward data propagation.
@ default_flags
Default stream configuration.
deconvolution_backward_weights(const primitive_desc &pd)
Constructs a deconvolution weights gradient primitive.
Definition: dnnl.hpp:4525
Base class for all primitive descriptors.
Definition: dnnl.hpp:2349
Descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:5347
reorder()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
const dnnl_memory_desc_t DNNL_API * dnnl_primitive_desc_query_md(const_dnnl_primitive_desc_t primitive_desc, dnnl_query_t what, int index)
Queries primitive descriptor for a memory descriptor.
dnnl_status_t DNNL_API dnnl_gemm_u8s8s32(char transa, char transb, char offsetc, dnnl_dim_t M, dnnl_dim_t N, dnnl_dim_t K, float alpha, const uint8_t *A, dnnl_dim_t lda, uint8_t ao, const int8_t *B, dnnl_dim_t ldb, int8_t bo, float beta, int32_t *C, dnnl_dim_t ldc, const int32_t *co)
Performs integer matrix-matrix multiply on 8-bit unsigned matrix A, 8-bit signed matrix B,...
@ dnnl_query_batch_normalization_d
batch normalization descriptor
Definition: dnnl_types.h:1917
dnnl_status_t DNNL_API dnnl_post_ops_create(dnnl_post_ops_t *post_ops)
Creates empty post-ops sequence.
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const resampling_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a resampling backward propagation primitive.
Definition: dnnl.hpp:9284
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:9180
desc(const memory::dims &dims, data_type data_type, format_tag format_tag)
Constructs a memory descriptor.
Definition: dnnl.hpp:2072
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a convolution backward propagation primitive from a C API primi...
Definition: dnnl.hpp:3515
Descriptor for an LSTM backward propagation primitive.
Definition: dnnl.hpp:7551
inner_product_backward_weights()=default
Default constructor. Produces an empty object.
status set_jit_dump(int enable)
Configures dumping of JIT-generated code.
Definition: dnnl.hpp:9359
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8174
memory::desc diff_dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5438
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7095
Deconvolution forward propagation primitive.
Definition: dnnl.hpp:3825
Local response normalization (LRN) backward propagation primitive.
Definition: dnnl.hpp:4646
@ eltwise
An element-wise primitive.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5545
primitive_desc()=default
Default constructor. Produces an empty object.
gru_forward()=default
Default constructor. Produces an empty object.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:5435
const typedef void * const_dnnl_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: dnnl_types.h:1049
Descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:5251
shuffle_backward()=default
Default constructor. Produces an empty object.
@ dnnl_undefined_primitive
Undefined primitive.
Definition: dnnl_types.h:665
memory::desc diff_src_iter_c_desc() const
Returns diff source recurrent cell state memory descriptor.
Definition: dnnl.hpp:7784
Primitive descriptor for a RNN backward propagation primitive.
Definition: dnnl.hpp:7234
Out-of-place summation (sum) primitive.
Definition: dnnl.hpp:2906
Primitive descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5494
dnnl_status_t DNNL_API dnnl_vanilla_rnn_forward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, const dnnl_alg_kind_t activation, const dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, unsigned flags, float alpha, float beta)
Initializes a descriptor for vanilla RNN forward propagation primitive.
@ deconvolution
A deconvolution primitive.
@ unidirectional
Alias for dnnl::rnn_direction::unidirectional_left2right.
layer_normalization_forward()=default
Default constructor. Produces an empty object.
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, const batch_normalization_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a batch normalization backward propagation primitive.
Definition: dnnl.hpp:5930
@ dnnl_eltwise_soft_relu
Eltwise: soft_relu.
Definition: dnnl_types.h:736
primitive_desc(const engine &src_engine, const memory::desc &src_md, const engine &dst_engine, const memory::desc &dst_md, const primitive_attr &attr=primitive_attr())
Constructs a primitive descriptor for reorder primitive.
Definition: dnnl.hpp:2691
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8153
Primitive descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7027
lrn_forward()=default
Default constructor. Produces an empty object.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a pooling forward propagation primitive from a C API primitive ...
Definition: dnnl.hpp:4860
#define DNNL_ARG_FROM
A special mnemonic for reorder source argument.
Definition: dnnl_types.h:1696
@ dnnl_unidirectional_right2left
Unidirectional execution of RNN primitive from right to left.
Definition: dnnl_types.h:1393
@ dnnl_aBcd8b
4D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:248
gru_backward(const primitive_desc &pd)
Constructs a GRU backward propagation primitive.
Definition: dnnl.hpp:8223
@ pooling_avg_include_padding
Average pooling include padding.
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4511
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6149
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:7929
@ dnnl_ab
plain 2D tensor
Definition: dnnl_types.h:178
Primitive descriptor for a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:5594
@ dnnl_query_scratchpad_engine
(scratch) memory, additional to all inputs and outputs memory (bytes)
Definition: dnnl_types.h:1897
void set_rnn_weights_qparams(int mask, const std::vector< float > &scales)
Sets quantization scaling factors for RNN weights tensors.
Definition: dnnl.hpp:1218
@ dnnl_runtime_error
Primitive or engine failed on execution.
Definition: dnnl_types.h:51
@ deconvolution_d
deconvolution descriptor
dnnl_status_t DNNL_API dnnl_post_ops_get_params_eltwise(const_dnnl_post_ops_t post_ops, int index, float *scale, dnnl_alg_kind_t *alg_kind, float *alpha, float *beta)
Returns the parameters of an elementwise post-up.
Descriptor for a resampling backward propagation primitive.
Definition: dnnl.hpp:9198
GRU backward propagation primitive.
Definition: dnnl.hpp:7990
@ dnnl_query_exec_arg_md
memory desc of an execute argument
Definition: dnnl_types.h:1937
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7753
desc(prop_kind prop_kind, algorithm algorithm, const memory::desc &src_desc, const memory::desc &weights_desc, const memory::desc &bias_desc, const memory::desc &dst_desc, const memory::dims &strides, const memory::dims &dilates, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for a dilated deconvolution forward propagation primitive with bias.
Definition: dnnl.hpp:3954
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7735
primitive_desc(const desc &desc, const primitive_attr &attr, const engine &engine, bool allow_empty=false)
Constructs a primitive descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6131
Descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:3827
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a batch normalization backward propagation primitive from a C A...
Definition: dnnl.hpp:5943
@ primitive_kind
primitive kind
@ dnnl_pooling_avg_exclude_padding
Average pooling exclude padding.
Definition: dnnl_types.h:757
@ dnnl_binary_add
Binary add.
Definition: dnnl_types.h:779
dnnl_status_t DNNL_API dnnl_set_jit_dump(int enable)
Configures dumping of JIT-generated code.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for an eltwise forward propagation primitive from a C API primitive...
Definition: dnnl.hpp:5107
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7302
dnnl_status_t DNNL_API dnnl_binary_desc_init(dnnl_binary_desc_t *binary_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src0_desc, const dnnl_memory_desc_t *src1_desc, const dnnl_memory_desc_t *dst_desc)
Initializes a descriptor for a binary primitive.