Performance library for Deep Learning
1.8.0
Go to the documentation of this file.
23 #include "dnnl_config.h"
32 #include <unordered_map>
36 #if DNNL_CPU_THREADING_RUNTIME == DNNL_RUNTIME_THREADPOOL
37 #include "dnnl_threadpool_iface.hpp"
40 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
49 #ifndef DNNL_ENABLE_EXCEPTIONS
50 #if __cpp_exceptions || __EXCEPTIONS \
51 || (defined(_MSC_VER) && !defined(__clang__))
52 #define DNNL_ENABLE_EXCEPTIONS 1
54 #define DNNL_ENABLE_EXCEPTIONS 0
58 #if defined(__GNUC__) || defined(__clang__)
59 #define DNNL_TRAP() __builtin_trap()
60 #elif defined(__INTEL_COMPILER) || defined(_MSC_VER)
61 #define DNNL_TRAP() __debugbreak()
63 #error "unknown compiler"
66 #if DNNL_ENABLE_EXCEPTIONS
67 #define DNNL_THROW_ERROR(status, msg) throw error(status, msg)
70 #define DNNL_THROW_ERROR(status, msg) \
91 struct error :
public std::exception {
103 const char *
what() const noexcept
override {
return message; }
116 template <
typename T>
117 void validate_container_size(
const T &v,
const char *error_message,
118 int min_size = 1,
int max_size = -1) {
119 const int size = (int)v.size();
120 if (size < min_size || (max_size >= 0 && size > max_size))
126 template <
typename T>
142 template <
typename T,
typename traits = handle_traits<T>>
146 std::shared_ptr<typename std::remove_pointer<T>::type> data_ {0};
149 bool operator==(
const T other)
const {
return other == data_.get(); }
150 bool operator!=(
const T other)
const {
return !(*
this == other); }
183 void reset(T t,
bool weak =
false) {
184 data_.reset(t, weak ? &dummy_destructor : traits::destructor);
192 T
get(
bool allow_empty =
false)
const {
193 T result = data_.get();
194 if (allow_empty ==
false && result ==
nullptr)
204 explicit operator T()
const {
return get(
true); }
209 explicit operator bool()
const {
return get(
true) !=
nullptr; }
218 return other.data_.get() == data_.get();
264 struct primitive_desc;
364 const std::unordered_map<int, memory> &args)
const;
378 "could not get a primitive descriptor from a primitive");
389 "could not get a primitive kind from a primitive descriptor");
479 undef = dnnl_alg_kind_undef,
677 #define DNNL_DEFINE_BITMASK_OPS(enum_name) \
678 inline enum_name operator|(enum_name lhs, enum_name rhs) { \
679 return static_cast<enum_name>( \
680 static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); \
683 inline enum_name operator&(enum_name lhs, enum_name rhs) { \
684 return static_cast<enum_name>( \
685 static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); \
688 inline enum_name operator^(enum_name lhs, enum_name rhs) { \
689 return static_cast<enum_name>( \
690 static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); \
693 inline enum_name &operator|=(enum_name &lhs, enum_name rhs) { \
694 lhs = static_cast<enum_name>( \
695 static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); \
699 inline enum_name &operator&=(enum_name &lhs, enum_name rhs) { \
700 lhs = static_cast<enum_name>( \
701 static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); \
705 inline enum_name &operator^=(enum_name &lhs, enum_name rhs) { \
706 lhs = static_cast<enum_name>( \
707 static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); \
711 inline enum_name operator~(enum_name rhs) { \
712 return static_cast<enum_name>(~static_cast<unsigned>(rhs)); \
913 "could not create an engine");
917 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
918 engine(
kind akind, cl_device_id device, cl_context context) {
928 "could not create an engine");
942 "could not get an engine from a primitive_desc");
943 reset(c_engine,
true);
951 "could not get kind of an engine");
955 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
959 cl_context context =
nullptr;
961 "could not get an OpenCL context from an engine");
968 cl_device_id device =
nullptr;
970 "could not get an OpenCL device from an engine");
980 template <
typename primitive_desc>
990 template <
typename primitive_desc>
995 "could not get an engine from a primitive_desc");
996 return engine(c_engine,
true);
1047 "could not create stream attributes");
1051 #if DNNL_CPU_THREADING_RUNTIME == DNNL_RUNTIME_THREADPOOL
1061 "could not set stream threadpool attribute");
1072 "could not set stream threadpool attribute");
1111 "could not create a stream");
1115 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
1116 stream(
const engine &aengine, cl_command_queue queue) {
1123 "could not create a stream");
1132 "could not get an engine from a stream object");
1133 return engine(c_engine,
true);
1136 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
1140 cl_command_queue queue =
nullptr;
1142 "could not get an OpenCL command queue from a stream");
1243 template <
typename T>
1245 validate_container_size(
1538 AB16b16a = dnnl_AB16b16a,
1539 AB16b32a = dnnl_AB16b32a,
1540 AB16b64a = dnnl_AB16b64a,
1541 AB8b16a2b = dnnl_AB8b16a2b,
1542 AB8b32a2b = dnnl_AB8b32a2b,
1543 AB8b64a2b = dnnl_AB8b64a2b,
1544 AB4b16a4b = dnnl_AB4b16a4b,
1545 AB4b32a4b = dnnl_AB4b32a4b,
1546 AB4b64a4b = dnnl_AB4b64a4b,
1547 AB16b16a4b = dnnl_AB16b16a4b,
1548 Abc16a = dnnl_Abc16a,
1549 ABc16a16b = dnnl_ABc16a16b,
1550 ABc4a4b = dnnl_ABc4a4b,
1553 ABc16b16a = dnnl_ABc16b16a,
1554 ABc16b32a = dnnl_ABc16b32a,
1555 ABc16b64a = dnnl_ABc16b64a,
1558 ABc4b16a4b = dnnl_ABc4b16a4b,
1559 ABc4b32a4b = dnnl_ABc4b32a4b,
1560 ABc4b64a4b = dnnl_ABc4b64a4b,
1561 ABc2b8a4b = dnnl_ABc2b8a4b,
1562 ABc16b16a4b = dnnl_ABc16b16a4b,
1563 ABc16b16a2b = dnnl_ABc16b16a2b,
1564 ABc4b4a = dnnl_ABc4b4a,
1565 ABc8a16b2a = dnnl_ABc8a16b2a,
1566 ABc8a8b = dnnl_ABc8a8b,
1567 ABc8a4b = dnnl_ABc8a4b,
1569 ABc8b16a2b = dnnl_ABc8b16a2b,
1570 ABc8b32a2b = dnnl_ABc8b32a2b,
1571 ABc8b64a2b = dnnl_ABc8b64a2b,
1572 ABc8b8a = dnnl_ABc8b8a,
1573 Abcd8a = dnnl_Abcd8a,
1574 Abcd16a = dnnl_Abcd16a,
1575 Abcd32a = dnnl_Abcd32a,
1576 ABcd16a16b = dnnl_ABcd16a16b,
1579 ABcd16b16a = dnnl_ABcd16b16a,
1580 ABcd16b32a = dnnl_ABcd16b32a,
1581 ABcd16b64a = dnnl_ABcd16b64a,
1582 aBCd16b16c = dnnl_aBCd16b16c,
1583 aBCd16c16b = dnnl_aBCd16c16b,
1584 Abcd4a = dnnl_Abcd4a,
1586 ABcd4b16a4b = dnnl_ABcd4b16a4b,
1587 ABcd4b32a4b = dnnl_ABcd4b32a4b,
1588 ABcd4b64a4b = dnnl_ABcd4b64a4b,
1589 ABcd2b8a4b = dnnl_ABcd2b8a4b,
1590 ABcd4b4a = dnnl_ABcd4b4a,
1591 ABcd4a4b = dnnl_ABcd4a4b,
1592 aBCd4c16b4c = dnnl_aBCd4c16b4c,
1593 aBCd2c8b4c = dnnl_aBCd2c8b4c,
1594 ABcd16b16a4b = dnnl_ABcd16b16a4b,
1595 ABcd16b16a2b = dnnl_ABcd16b16a2b,
1596 aBCd16c16b4c = dnnl_aBCd16c16b4c,
1597 aBCd16c16b2c = dnnl_aBCd16c16b2c,
1598 aBCd4c4b = dnnl_aBCd4c4b,
1599 aBCd4b4c = dnnl_aBCd4b4c,
1600 ABcd8a16b2a = dnnl_ABcd8a16b2a,
1601 ABcd8a8b = dnnl_ABcd8a8b,
1602 ABcd8a4b = dnnl_ABcd8a4b,
1605 ABcd8b16a2b = dnnl_ABcd8b16a2b,
1606 ABcd8b32a2b = dnnl_ABcd8b32a2b,
1607 ABcd8b64a2b = dnnl_ABcd8b64a2b,
1608 aBCd8b16c2b = dnnl_aBCd8b16c2b,
1611 aBCd8b8c = dnnl_aBCd8b8c,
1612 aBCd8b4c = dnnl_aBCd8b4c,
1613 aBCd8c16b2c = dnnl_aBCd8c16b2c,
1614 aBCd8c8b = dnnl_aBCd8c8b,
1615 Abcde16a = dnnl_Abcde16a,
1616 Abcde32a = dnnl_Abcde32a,
1617 ABcde16a16b = dnnl_ABcde16a16b,
1620 ABcde16b16a = dnnl_ABcde16b16a,
1621 ABcde16b32a = dnnl_ABcde16b32a,
1622 ABcde16b64a = dnnl_ABcde16b64a,
1623 aBCde16b16c = dnnl_aBCde16b16c,
1624 aBCde16c16b = dnnl_aBCde16c16b,
1625 aBCde2c8b4c = dnnl_aBCde2c8b4c,
1626 Abcde4a = dnnl_Abcde4a,
1628 ABcde4b4a = dnnl_ABcde4b4a,
1629 ABcde4a4b = dnnl_ABcde4a4b,
1630 aBCde4b4c = dnnl_aBCde4b4c,
1631 aBCde4c16b4c = dnnl_aBCde4c16b4c,
1632 aBCde16c16b4c = dnnl_aBCde16c16b4c,
1633 aBCde16c16b2c = dnnl_aBCde16c16b2c,
1634 aBCde4c4b = dnnl_aBCde4c4b,
1635 Abcde8a = dnnl_Abcde8a,
1636 ABcde8a8b = dnnl_ABcde8a8b,
1637 ABcde8a4b = dnnl_ABcde8a4b,
1639 ABcde8b16a2b = dnnl_ABcde8b16a2b,
1640 ABcde8b32a2b = dnnl_ABcde8b32a2b,
1641 ABcde8b64a2b = dnnl_ABcde8b64a2b,
1643 ABcde4b32a4b = dnnl_ABcde4b32a4b,
1644 ABcde4b64a4b = dnnl_ABcde4b64a4b,
1645 ABcde16b16a4b = dnnl_ABcde16b16a4b,
1647 aBCde8b16c2b = dnnl_aBCde8b16c2b,
1648 ABcde8b8a = dnnl_ABcde8b8a,
1649 aBCde8b8c = dnnl_aBCde8b8c,
1650 aBCde8b4c = dnnl_aBCde8b4c,
1651 ABcd4a8b8a4b = dnnl_ABcd4a8b8a4b,
1652 ABcd2a8b8a2b = dnnl_ABcd2a8b8a2b,
1653 aBCde4b8c8b4c = dnnl_aBCde4b8c8b4c,
1654 aBCde2b8c8b2c = dnnl_aBCde2b8c8b2c,
1655 aBCde8c16b2c = dnnl_aBCde8c16b2c,
1656 aBCde8c8b = dnnl_aBCde8c8b,
1658 aBCdef16b16c = dnnl_aBCdef16b16c,
1659 aBCdef16c16b = dnnl_aBCdef16c16b,
1662 aBCdef4c4b = dnnl_aBCdef4c4b,
1663 aBCdef4b4c = dnnl_aBCdef4b4c,
1664 aBCdef8b8c = dnnl_aBCdef8b8c,
1665 aBCdef8b4c = dnnl_aBCdef8b4c,
1666 aBCdef8c16b2c = dnnl_aBCdef8c16b2c,
1667 aBCdef4c16b4c = dnnl_aBCdef4c16b4c,
1668 aBCdef8c8b = dnnl_aBCdef8c8b,
1669 aBdc16b = dnnl_aBdc16b,
1670 aBdc4b = dnnl_aBdc4b,
1671 aBdc8b = dnnl_aBdc8b,
1672 aBdec16b = dnnl_aBdec16b,
1673 aBdec4b = dnnl_aBdec4b,
1674 aBdec8b = dnnl_aBdec8b,
1675 aBdefc16b = dnnl_aBdefc16b,
1676 aCBdef16c16b = dnnl_aCBdef16c16b,
1677 aCBdef16b16c = dnnl_aCBdef16b16c,
1678 aBdefc4b = dnnl_aBdefc4b,
1679 aBdefc8b = dnnl_aBdefc8b,
1680 Acb16a = dnnl_Acb16a,
1683 aCBd16b16c = dnnl_aCBd16b16c,
1684 aCBd16c16b = dnnl_aCBd16c16b,
1685 aCBde16b16c = dnnl_aCBde16b16c,
1686 aCBde16c16b = dnnl_aCBde16c16b,
1687 Acdb16a = dnnl_Acdb16a,
1688 Acdb4a = dnnl_Acdb4a,
1689 Acdb8a = dnnl_Acdb8a,
1690 Acdeb16a = dnnl_Acdeb16a,
1691 Acdeb4a = dnnl_Acdeb4a,
1692 Acdeb8a = dnnl_Acdeb8a,
1693 BAc16a16b = dnnl_BAc16a16b,
1694 BAc16b16a = dnnl_BAc16b16a,
1695 BAcd16a16b = dnnl_BAcd16a16b,
1696 BAcd16b16a = dnnl_BAcd16b16a,
1697 ABcd32a32b = dnnl_ABcd32a32b,
1698 BAcde16b16a = dnnl_BAcde16b16a,
1699 BAcde16a16b = dnnl_BAcde16a16b,
1700 aBdec32b = dnnl_aBdec32b,
1701 Abcdef16a = dnnl_Abcdef16a,
1702 Abcdef32a = dnnl_Abcdef32a,
1703 Acdb32a = dnnl_Acdb32a,
1707 aBCd2c4b2c = dnnl_aBCd2c4b2c,
1708 aBCde2c4b2c = dnnl_aBCde2c4b2c,
1709 aBCdef2c4b2c = dnnl_aBCdef2c4b2c,
1710 aBCd4b8c2b = dnnl_aBCd4b8c2b,
1711 aBCde4b8c2b = dnnl_aBCde4b8c2b,
1712 aBCdef4b8c2b = dnnl_aBCdef4b8c2b,
1713 aBCd4c8b2c = dnnl_aBCd4c8b2c,
1714 aBCde4c8b2c = dnnl_aBCde4c8b2c,
1715 aBCdef4c8b2c = dnnl_aBCdef4c8b2c,
1716 AB32a32b8a4b = dnnl_AB32a32b8a4b,
1717 AB32a32b8a2b = dnnl_AB32a32b8a2b,
1718 AB8a4b = dnnl_AB8a4b,
1719 AB8a2b = dnnl_AB8a2b,
1720 abDc32d = dnnl_abDc32d,
1721 abDC32d4c = dnnl_abDC32d4c,
1722 abdEc32e = dnnl_abdEc32e,
1723 abdEC32e2c = dnnl_abdEC32e2c,
1724 abdEC32e4c = dnnl_abdEC32e4c,
1737 NCw16n16c = dnnl_NCw16n16c,
1738 NChw16n16c = dnnl_NChw16n16c,
1739 NCdhw16n16c = dnnl_NCdhw16n16c,
1740 NCdhw32n32c = dnnl_NCdhw32n32c,
1741 NChw32n32c = dnnl_NChw32n32c,
1742 IOhw16i16o = dnnl_IOhw16i16o,
1743 OI16i16o = dnnl_OI16i16o,
1744 OI16i32o = dnnl_OI16i32o,
1745 OI16i64o = dnnl_OI16i64o,
1746 OI8i16o2i = dnnl_OI8i16o2i,
1747 OI8i32o2i = dnnl_OI8i32o2i,
1748 OI8i64o2i = dnnl_OI8i64o2i,
1749 OI4i16o4i = dnnl_OI4i16o4i,
1750 OI4i32o4i = dnnl_OI4i32o4i,
1751 OI4i64o4i = dnnl_OI4i64o4i,
1752 OI16i16o4i = dnnl_OI16i16o4i,
1753 Ohwi32o = dnnl_Ohwi32o,
1754 IOdhw16i16o = dnnl_IOdhw16i16o,
1755 gIOhw16i16o = dnnl_gIOhw16i16o,
1756 gOhwi32o = dnnl_gOhwi32o,
1757 Goidhw16g = dnnl_Goidhw16g,
1758 IOw16o16i = dnnl_IOw16o16i,
1759 OIw16i16o = dnnl_OIw16i16o,
1760 OIw16i32o = dnnl_OIw16i32o,
1761 OIw16i64o = dnnl_OIw16i64o,
1762 IOw16i16o = dnnl_IOw16i16o,
1763 gIOw16i16o = dnnl_gIOw16i16o,
1764 OIw16o16i = dnnl_OIw16o16i,
1765 Oiw16o = dnnl_Oiw16o,
1766 OIw4i16o4i = dnnl_OIw4i16o4i,
1767 OIw4i32o4i = dnnl_OIw4i32o4i,
1768 OIw4i64o4i = dnnl_OIw4i64o4i,
1769 OIw16i16o4i = dnnl_OIw16i16o4i,
1770 OIw2i8o4i = dnnl_OIw2i8o4i,
1771 OIw4i4o = dnnl_OIw4i4o,
1772 OIw4o4i = dnnl_OIw4o4i,
1774 OIw8i16o2i = dnnl_OIw8i16o2i,
1775 OIw8i32o2i = dnnl_OIw8i32o2i,
1776 OIw8i64o2i = dnnl_OIw8i64o2i,
1777 OIw8i8o = dnnl_OIw8i8o,
1778 OIw8o16i2o = dnnl_OIw8o16i2o,
1779 OIw8o8i = dnnl_OIw8o8i,
1780 OIw8o4i = dnnl_OIw8o4i,
1781 Owi16o = dnnl_Owi16o,
1782 OwI16o2i = dnnl_OwI16o2i,
1785 IOhw16o16i = dnnl_IOhw16o16i,
1786 Ohwi16o = dnnl_Ohwi16o,
1787 OhwI16o2i = dnnl_OhwI16o2i,
1788 Ohwi4o = dnnl_Ohwi4o,
1789 Ohwi8o = dnnl_Ohwi8o,
1790 OIhw16i16o = dnnl_OIhw16i16o,
1791 OIhw16i32o = dnnl_OIhw16i32o,
1792 OIhw16i64o = dnnl_OIhw16i64o,
1793 OIhw16o16i = dnnl_OIhw16o16i,
1794 Oihw16o = dnnl_Oihw16o,
1795 OIhw4i16o4i = dnnl_OIhw4i16o4i,
1796 OIhw4i32o4i = dnnl_OIhw4i32o4i,
1797 OIhw4i64o4i = dnnl_OIhw4i64o4i,
1798 OIhw4i4o = dnnl_OIhw4i4o,
1799 OIhw4o4i = dnnl_OIhw4o4i,
1800 Oihw4o = dnnl_Oihw4o,
1801 OIhw8i16o2i = dnnl_OIhw8i16o2i,
1802 OIhw8i32o2i = dnnl_OIhw8i32o2i,
1803 OIhw8i64o2i = dnnl_OIhw8i64o2i,
1804 OIhw8i8o = dnnl_OIhw8i8o,
1805 OIhw8o16i2o = dnnl_OIhw8o16i2o,
1806 OIhw8o8i = dnnl_OIhw8o8i,
1807 OIhw8o4i = dnnl_OIhw8o4i,
1808 OIhw2i8o4i = dnnl_OIhw2i8o4i,
1809 IOdhw16o16i = dnnl_IOdhw16o16i,
1810 Odhwi16o = dnnl_Odhwi16o,
1811 OdhwI16o2i = dnnl_OdhwI16o2i,
1812 Odhwi4o = dnnl_Odhwi4o,
1813 Odhwi8o = dnnl_Odhwi8o,
1814 OIdhw16i16o = dnnl_OIdhw16i16o,
1815 OIdhw16i32o = dnnl_OIdhw16i32o,
1816 OIdhw16i64o = dnnl_OIdhw16i64o,
1817 OIdhw16o16i = dnnl_OIdhw16o16i,
1818 Oidhw16o = dnnl_Oidhw16o,
1819 OIdhw4i4o = dnnl_OIdhw4i4o,
1820 OIdhw4o4i = dnnl_OIdhw4o4i,
1821 Oidhw4o = dnnl_Oidhw4o,
1822 OIdhw8i16o2i = dnnl_OIdhw8i16o2i,
1823 OIdhw8i32o2i = dnnl_OIdhw8i32o2i,
1824 OIdhw8i64o2i = dnnl_OIdhw8i64o2i,
1825 OIdhw4i16o4i = dnnl_OIdhw4i16o4i,
1826 OIdhw16i16o4i = dnnl_OIdhw16i16o4i,
1827 OIdhw4i32o4i = dnnl_OIdhw4i32o4i,
1828 OIdhw4i64o4i = dnnl_OIdhw4i64o4i,
1829 OIdhw2i8o4i = dnnl_OIdhw2i8o4i,
1830 OIdhw8i8o = dnnl_OIdhw8i8o,
1831 OIdhw8o8i = dnnl_OIdhw8o8i,
1832 OIdhw8o4i = dnnl_OIdhw8o4i,
1833 gIOw16o16i = dnnl_gIOw16o16i,
1834 gOIw16i16o = dnnl_gOIw16i16o,
1835 gOIw16o16i = dnnl_gOIw16o16i,
1836 gOiw16o = dnnl_gOiw16o,
1837 gOIw4i16o4i = dnnl_gOIw4i16o4i,
1838 gOIw2i8o4i = dnnl_gOIw2i8o4i,
1839 gOIw4i4o = dnnl_gOIw4i4o,
1840 gOIw4o4i = dnnl_gOIw4o4i,
1841 gOiw4o = dnnl_gOiw4o,
1842 gOIw8i16o2i = dnnl_gOIw8i16o2i,
1843 gOIw8i8o = dnnl_gOIw8i8o,
1844 gOIw8o16i2o = dnnl_gOIw8o16i2o,
1845 gOIw8o8i = dnnl_gOIw8o8i,
1846 gOIw8o4i = dnnl_gOIw8o4i,
1847 gOwi16o = dnnl_gOwi16o,
1848 gOwI16o2i = dnnl_gOwI16o2i,
1849 gOwi4o = dnnl_gOwi4o,
1850 gOwi8o = dnnl_gOwi8o,
1851 Goiw8g = dnnl_Goiw8g,
1852 Goiw16g = dnnl_Goiw16g,
1853 gIOhw16o16i = dnnl_gIOhw16o16i,
1854 gOhwi16o = dnnl_gOhwi16o,
1855 gOhwI16o2i = dnnl_gOhwI16o2i,
1856 gOhwi4o = dnnl_gOhwi4o,
1857 gOhwi8o = dnnl_gOhwi8o,
1858 Goihw16g = dnnl_Goihw16g,
1859 gOIhw16i16o = dnnl_gOIhw16i16o,
1860 gOIhw16o16i = dnnl_gOIhw16o16i,
1861 gOihw16o = dnnl_gOihw16o,
1862 gOIhw4i16o4i = dnnl_gOIhw4i16o4i,
1863 gOIhw2i8o4i = dnnl_gOIhw2i8o4i,
1864 gOIhw4i4o = dnnl_gOIhw4i4o,
1865 gOIhw4o4i = dnnl_gOIhw4o4i,
1866 gOihw4o = dnnl_gOihw4o,
1867 Goihw8g = dnnl_Goihw8g,
1868 gOIhw8i16o2i = dnnl_gOIhw8i16o2i,
1869 gOIhw8i8o = dnnl_gOIhw8i8o,
1870 gOIhw8o16i2o = dnnl_gOIhw8o16i2o,
1871 OIw4o8i8o4i = dnnl_OIw4o8i8o4i,
1872 OIdhw4o8i8o4i = dnnl_OIdhw4o8i8o4i,
1873 OIhw4o8i8o4i = dnnl_OIhw4o8i8o4i,
1874 OIhw2o8i8o2i = dnnl_OIhw2o8i8o2i,
1875 gOIw4o8i8o4i = dnnl_gOIw4o8i8o4i,
1876 gOIdhw4o8i8o4i = dnnl_gOIdhw4o8i8o4i,
1877 gOIhw4o8i8o4i = dnnl_gOIhw4o8i8o4i,
1878 gOIhw2o8i8o2i = dnnl_gOIhw2o8i8o2i,
1879 OIhw16i16o4i = dnnl_OIhw16i16o4i,
1880 OIhw16i16o2i = dnnl_OIhw16i16o2i,
1881 gOIhw16i16o4i = dnnl_gOIhw16i16o4i,
1882 gOIhw16i16o2i = dnnl_gOIhw16i16o2i,
1883 gOIhw8o8i = dnnl_gOIhw8o8i,
1884 gOIhw8o4i = dnnl_gOIhw8o4i,
1885 gIOdhw16i16o = dnnl_gIOdhw16i16o,
1886 gIOdhw16o16i = dnnl_gIOdhw16o16i,
1887 gOdhwi16o = dnnl_gOdhwi16o,
1888 gOdhwI16o2i = dnnl_gOdhwI16o2i,
1889 gOdhwi4o = dnnl_gOdhwi4o,
1890 gOdhwi8o = dnnl_gOdhwi8o,
1891 gOIdhw16i16o = dnnl_gOIdhw16i16o,
1892 gOIdhw16o16i = dnnl_gOIdhw16o16i,
1893 gOidhw16o = dnnl_gOidhw16o,
1894 gOIdhw4i4o = dnnl_gOIdhw4i4o,
1895 gOIdhw4o4i = dnnl_gOIdhw4o4i,
1896 gOidhw4o = dnnl_gOidhw4o,
1897 gOIdhw8i16o2i = dnnl_gOIdhw8i16o2i,
1898 gOIdhw4i16o4i = dnnl_gOIdhw4i16o4i,
1899 gOIdhw2i8o4i = dnnl_gOIdhw2i8o4i,
1900 gOIdhw8i8o = dnnl_gOIdhw8i8o,
1901 gOIdhw8o8i = dnnl_gOIdhw8o8i,
1902 gOIdhw8o4i = dnnl_gOIdhw8o4i,
1903 gOIw2i4o2i = dnnl_gOIw2i4o2i,
1904 gOIhw2i4o2i = dnnl_gOIhw2i4o2i,
1905 gOIdhw2i4o2i = dnnl_gOIdhw2i4o2i,
1906 gOIw2o4i2o = dnnl_gOIw2o4i2o,
1907 gOIhw2o4i2o = dnnl_gOIhw2o4i2o,
1908 gOIdhw2o4i2o = dnnl_gOIdhw2o4i2o,
1909 gOIw4i8o2i = dnnl_gOIw4i8o2i,
1910 gOIhw4i8o2i = dnnl_gOIhw4i8o2i,
1911 gOIdhw4i8o2i = dnnl_gOIdhw4i8o2i,
1912 gOIw4o8i2o = dnnl_gOIw4o8i2o,
1913 gOIhw4o8i2o = dnnl_gOIhw4o8i2o,
1914 gOIdhw4o8i2o = dnnl_gOIdhw4o8i2o,
1916 ldOI32o4i = abDC32d4c,
1917 ldgOi32o = abdEc32e,
1918 ldgOI32o2i = abdEC32e2c,
1919 ldgOI32o4i = abdEC32e4c,
1948 bool allow_empty =
false)
1950 validate_dims(adims);
1952 (
int)adims.size(), adims.data(),
convert_to_c(adata_type),
1956 "could not construct a memory descriptor using a "
1976 bool allow_empty =
false)
1978 validate_dims(adims);
1979 if (!strides.empty()) validate_dims(strides, (
int)adims.size());
1981 (
int)adims.size(), adims.data(),
convert_to_c(adata_type),
1982 strides.empty() ?
nullptr : &strides[0]);
1985 "could not construct a memory descriptor using "
2006 bool allow_empty =
false)
const {
2007 validate_dims(adims, data.
ndims);
2008 validate_dims(offsets, data.
ndims);
2011 &sub_md, &data, adims.data(), offsets.data());
2014 return desc(sub_md);
2062 if (data.
ndims) validate_dims(adims, 1);
2065 &out_md, &data, (
int)adims.size(), adims.data());
2068 status,
"could not reshape a memory descriptor");
2069 return desc(out_md);
2110 bool allow_empty =
false)
const {
2111 validate_dims(permutation, data.
ndims);
2114 &out_md, &data, permutation.data());
2117 "could not permute axes of a memory descriptor");
2118 return desc(out_md);
2163 explicit operator bool()
const {
return data.
ndims != 0; }
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");
2265 "could not set native handle of a memory object");
2281 "could not set native handle of a memory object");
2305 template <
typename T =
void>
2309 "could not map memory object data");
2310 return static_cast<T *
>(mapped_ptr);
2325 "could not unmap memory object data");
2328 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL
2329 cl_mem get_ocl_mem_object()
const {
2333 "could not get OpenCL buffer object from a memory object");
2346 "could not set OpenCL buffer object from a memory object");
2429 "post-ops index is out of range");
2466 "could not append a sum post-op");
2469 memory::convert_to_c(data_type)),
2470 "could not append a sum post-op");
2479 "could not get parameters of a sum post-op");
2491 get(), index, &scale, &c_data_type),
2492 "could not get parameters of a sum post-op");
2510 float scale,
algorithm aalgorithm,
float alpha,
float beta) {
2513 "could not append an elementwise post-op");
2524 float &alpha,
float &beta)
const {
2527 get(), index, &scale, &c_alg, &alpha, &beta),
2528 "could not get parameters of an elementwise post-op");
2562 int mask,
const std::vector<float> &scales) {
2565 memory::convert_to_c(weights_data_type),
2566 memory::convert_to_c(bias_data_type),
2567 memory::convert_to_c(dst_data_type),
2568 scales.size(), mask, &scales[0]),
2569 "could not append depthwise post-op");
2588 int &mask, std::vector<float> &scales)
const {
2595 const float *c_scales;
2597 &c_weights_data_type, &c_bias_data_type,
2598 &c_dst_data_type, &count, &c_mask, &c_scales),
2599 "could not get parameters of depthwise post-op");
2604 scales.resize(count);
2608 scales[c] = c_scales[c];
2647 int mask,
const std::vector<float> &scales) {
2650 memory::convert_to_c(weights_data_type),
2651 memory::convert_to_c(bias_data_type),
2652 memory::convert_to_c(dst_data_type),
2653 scales.size(), mask, &scales[0]),
2654 "could not append depthwise post-op");
2673 int &mask, std::vector<float> &scales)
const {
2680 const float *c_scales;
2682 &c_weights_data_type, &c_bias_data_type,
2683 &c_dst_data_type, &count, &c_mask, &c_scales),
2684 "could not get parameters of depthwise post-op");
2689 scales.resize(count);
2693 scales[c] = c_scales[c];
2714 "could not append a binary post-op");
2728 "could not get parameters of a binary post-op");
2730 src1_desc.
data = *data;
2753 "could not create primitive attribute");
2770 "could not get scratchpad mode primitive attribute");
2780 "could not set scratchpad mode primitive attribute");
2795 const float *c_scales;
2797 get(), &count, &c_mask, &c_scales),
2798 "could not get output scales primitive attribute");
2799 scales.resize(count);
2803 scales[c] = c_scales[c];
2852 "could not set output scales primitive attribute");
2866 void get_scales(
int arg,
int &mask, std::vector<float> &scales)
const {
2869 const float *c_scales;
2871 get(), arg, &count, &c_mask, &c_scales),
2872 "could not get scales primitive attributes");
2873 scales.resize(count);
2877 scales[c] = c_scales[c];
2896 void set_scales(
int arg,
int mask,
const std::vector<float> &scales) {
2899 (
dnnl_dim_t)scales.size(), mask, scales.data()),
2900 "could not set scales primitive attribute");
2914 int arg,
int &mask, std::vector<int32_t> &zero_points)
const {
2917 const int32_t *c_zero_points;
2919 get(), arg, &count, &c_mask, &c_zero_points),
2920 "could not get zero points primitive attribute");
2921 zero_points.resize(count);
2925 zero_points[c] = c_zero_points[c];
2949 int arg,
int mask,
const std::vector<int32_t> &zero_points) {
2952 zero_points.data()),
2953 "could not set zero points primitive attribute");
2963 "could not get post-ops primitive attribute");
2978 "could not set post-ops primitive attribute");
3017 "could not set RNN data quantization parameters primitive "
3031 float c_scale, c_shift;
3033 get(), &c_scale, &c_shift),
3034 "could not set RNN data quantization parameters primitive "
3068 (
int)scales.size(), mask, scales.data()),
3069 "could not set RNN weights quantization parameters primitive "
3095 const float *c_scales;
3097 get(), &count, &c_mask, &c_scales),
3098 "could not get primitive RNN weights quantization "
3099 "parameters attributes");
3100 scales.resize(count);
3104 scales[c] = c_scales[c];
3134 int mask,
const std::vector<float> &scales) {
3137 get(), (
int)scales.size(), mask, scales.data()),
3138 "could not set primitive RNN weights projection quantization "
3139 "parameters attributes");
3162 int &mask, std::vector<float> &scales) {
3165 const float *c_scales;
3168 get(), &count, &c_mask, &c_scales),
3169 "could not get primitive RNN weights projection quantization "
3170 "parameters attributes");
3171 scales.resize(count);
3175 scales[c] = c_scales[c];
3201 "could not retrieve implementation info string from a "
3202 "primitive descriptor");
3231 std::vector<query> valid_q {query::src_md, query::diff_src_md,
3232 query::weights_md, query::diff_weights_md, query::dst_md,
3233 query::diff_dst_md, query::workspace_md, query::scratchpad_md,
3235 if (!std::any_of(valid_q.cbegin(), valid_q.cend(),
3236 [=](
query q) { return what == q; }))
3238 "memory descriptor query is invalid");
3251 return query_md(query::src_md, idx);
3260 return query_md(query::dst_md, idx);
3269 return query_md(query::weights_md, idx);
3278 return query_md(query::diff_src_md, idx);
3287 return query_md(query::diff_dst_md, idx);
3296 return query_md(query::diff_weights_md, idx);
3343 return query_md(query::workspace_md, 0);
3352 return query_md(query::scratchpad_md, 0);
3362 "could not retrieve scratchpad engine from a primitive "
3364 return engine(c_engine,
true);
3372 "could not get attributes from a primitive descriptor");
3375 "could not clone primitive attributes");
3385 "could not get primitive kind from a primitive descriptor");
3396 "could not clone a primitive descriptor");
3449 if (pd ==
nullptr)
return;
3462 rc,
"could not get primitive kind from a primitive descriptor");
3463 if (pd_kind != c_prim_kind)
3465 "primitive descriptor operation kind mismatch");
3475 "could not get propagation kind from the primitive "
3481 && (pd_prop_kind == c_prop_kind1
3482 || pd_prop_kind == c_prop_kind2))) {
3489 "primitive descriptor propagation kind mismatch");
3535 bool allow_empty =
false) {
3539 dst_engine.
get(), attr.get());
3542 "could not create a primitive descriptor for a reorder "
3560 bool allow_empty =
false) {
3569 "could not create a primitive descriptor for a reorder "
3584 return engine::query(*
this, dnnl::query::reorder_src_engine);
3590 return engine::query(*
this, dnnl::query::reorder_dst_engine);
3643 const std::vector<memory::desc> &mems) {
3644 std::vector<dnnl_memory_desc_t> c_mems;
3645 c_mems.reserve(mems.size());
3646 for (
const auto &s : mems)
3647 c_mems.push_back(s.data);
3672 const std::vector<memory::desc> &srcs,
const engine &aengine,
3679 (
int)c_srcs.size(), concat_dimension, c_srcs.data(),
3680 attr.get(), aengine.
get()),
3681 "could not create a primitive descriptor for a concat "
3699 const std::vector<memory::desc> &srcs,
const engine &aengine,
3706 (
int)c_api_srcs.size(), concat_dimension,
3707 c_api_srcs.data(), attr.get(), aengine.
get()),
3708 "could not create a primitive descriptor for a concat "
3763 const std::vector<float> &scales,
3764 const std::vector<memory::desc> &srcs,
const engine &aengine,
3766 validate_container_size(scales,
3767 "counts of scales and sources are not equal",
3768 (
int)srcs.size(), (
int)srcs.size());
3775 (
int)c_api_srcs.size(), scales.data(),
3776 c_api_srcs.data(), attr.get(), aengine.
get()),
3777 "could not create a primitive descriptor for a sum "
3793 const std::vector<memory::desc> &srcs,
const engine &aengine,
3795 validate_container_size(scales,
3796 "counts of scales and sources are not equal",
3797 (
int)srcs.size(), (
int)srcs.size());
3803 (
int)c_api_srcs.size(), scales.data(),
3804 c_api_srcs.data(), attr.get(), aengine.
get()),
3805 "could not create a primitive descriptor for a sum "
3868 bool allow_empty =
false)
3869 : allow_empty_(allow_empty) {
3872 desc, attr ? attr->
get() :
nullptr, aengine.
get(), hint_fwd_pd);
3875 status,
"could not create a primitive descriptor iterator");
3876 pd_iterator.reset(iterator);
3889 status,
"could not advance a primitive descriptor iterator");
3895 bool allow_empty_ =
false;
3899 pd_iterator.
get(allow_empty_));
3902 "could not fetch a primitive descriptor from a primitive "
3903 "descriptor iterator");
3969 &strides[0], &padding_l[0], &padding_r[0]),
3970 "could not create a descriptor for a convolution forward "
3971 "propagation primitive");
4013 &weights_desc.
data,
nullptr, &dst_desc.
data,
4014 &strides[0], &padding_l[0], &padding_r[0]),
4015 "could not create a descriptor for a convolution forward "
4016 "propagation primitive");
4063 &weights_desc.
data, &bias_desc.
data,
4064 &dst_desc.
data, &strides[0], &dilates[0],
4065 &padding_l[0], &padding_r[0]),
4066 "could not create a descriptor for a dilated convolution "
4067 "forward propagation primitive");
4112 &weights_desc.
data,
nullptr,
4113 &dst_desc.
data, &strides[0], &dilates[0],
4114 &padding_l[0], &padding_r[0]),
4115 "could not create a descriptor for a dilated convolution "
4116 "forward propagation primitive");
4136 bool allow_empty =
false)
4138 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
4152 const engine &aengine,
bool allow_empty =
false)
4154 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
4234 &weights_desc.
data, &diff_dst_desc.
data,
4235 &strides[0], &padding_l[0], &padding_r[0]),
4236 "could not create a descriptor for a convolution backward "
4237 "propagation primitive");
4279 &weights_desc.
data, &diff_dst_desc.
data,
4280 &strides[0], &dilates[0], &padding_l[0],
4282 "could not create a descriptor for a dilated convolution "
4283 "backward propagation primitive");
4307 bool allow_empty =
false)
4309 hint_fwd_pd.
get(), allow_empty) {}
4328 bool allow_empty =
false)
4330 hint_fwd_pd.
get(), allow_empty) {}
4405 &diff_weights_desc.
data, &diff_bias_desc.
data,
4406 &diff_dst_desc.
data, &strides[0], &padding_l[0],
4408 "could not create a descriptor for a convolution weights "
4409 "update primitive");
4446 &diff_weights_desc.
data,
nullptr,
4447 &diff_dst_desc.
data, &strides[0],
4448 &padding_l[0], &padding_r[0]),
4449 "could not create a descriptor for a convolution weights "
4450 "update primitive");
4495 &diff_weights_desc.
data, &diff_bias_desc.
data,
4496 &diff_dst_desc.
data, &strides[0], &dilates[0],
4497 &padding_l[0], &padding_r[0]),
4498 "could not create a descriptor for a dilated convolution "
4499 "weights gradient primitive");
4541 &diff_weights_desc.
data,
nullptr,
4542 &diff_dst_desc.
data, &strides[0], &dilates[0],
4543 &padding_l[0], &padding_r[0]),
4544 "could not create a descriptor for a dilated convolution "
4545 "weights gradient primitive");
4568 bool allow_empty =
false)
4570 hint_fwd_pd.
get(), allow_empty) {}
4588 bool allow_empty =
false)
4590 hint_fwd_pd.
get(), allow_empty) {}
4689 &strides[0], &padding_l[0], &padding_r[0]),
4690 "could not create a descriptor for a deconvolution forward "
4691 "propagation primitive");
4732 &weights_desc.
data,
nullptr, &dst_desc.
data,
4733 &strides[0], &padding_l[0], &padding_r[0]),
4734 "could not create a descriptor for a deconvolution forward "
4735 "propagation primitive");
4781 &weights_desc.
data, &bias_desc.
data,
4782 &dst_desc.
data, &strides[0], &dilates[0],
4783 &padding_l[0], &padding_r[0]),
4784 "could not create a descriptor for a dilated deconvolution "
4785 "forward propagation primitive");
4829 &weights_desc.
data,
nullptr,
4830 &dst_desc.
data, &strides[0], &dilates[0],
4831 &padding_l[0], &padding_r[0]),
4832 "could not create a descriptor for a dilated deconvolution "
4833 "forward propagation primitive");
4853 bool allow_empty =
false)
4855 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
4869 const engine &aengine,
bool allow_empty =
false)
4871 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
4946 &weights_desc.
data, &diff_dst_desc.
data,
4947 &strides[0], &padding_l[0], &padding_r[0]),
4948 "could not create a descriptor for a deconvolution "
4949 "backward propagation primitive");
4990 &weights_desc.
data, &diff_dst_desc.
data,
4991 &strides[0], &dilates[0], &padding_l[0],
4993 "could not create a descriptor for a dilated deconvolution "
4994 "backward propagation primitive");
5018 bool allow_empty =
false)
5020 hint_fwd_pd.
get(), allow_empty) {}
5039 bool allow_empty =
false)
5041 hint_fwd_pd.
get(), allow_empty) {}
5115 &diff_weights_desc.
data, &diff_bias_desc.
data,
5116 &diff_dst_desc.
data, &strides[0], &padding_l[0],
5118 "could not create a descriptor for a deconvolution weights "
5119 "update primitive");
5155 &src_desc.
data, &diff_weights_desc.
data,
5156 nullptr, &diff_dst_desc.
data, &strides[0],
5157 &padding_l[0], &padding_r[0]),
5158 "could not create a descriptor for a deconvolution weights "
5159 "update primitive");
5203 &diff_weights_desc.
data, &diff_bias_desc.
data,
5204 &diff_dst_desc.
data, &strides[0], &dilates[0],
5205 &padding_l[0], &padding_r[0]),
5206 "could not create a descriptor for a dilated deconvolution "
5207 "weights gradient primitive");
5248 &diff_weights_desc.
data,
nullptr,
5249 &diff_dst_desc.
data, &strides[0], &dilates[0],
5250 &padding_l[0], &padding_r[0]),
5251 "could not create a descriptor for a dilated deconvolution "
5252 "weights gradient primitive");
5276 bool allow_empty =
false)
5278 hint_fwd_pd.
get(), allow_empty) {}
5297 bool allow_empty =
false)
5299 hint_fwd_pd.
get(), allow_empty) {}
5369 float alpha,
float beta,
float k = 1.f) {
5373 local_size, alpha, beta, k),
5374 "could not create a descriptor for a lrn forward "
5375 "propagation primitive");
5394 bool allow_empty =
false)
5396 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5409 const engine &aengine,
bool allow_empty =
false)
5411 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
5463 float alpha,
float beta,
float k = 1.f) {
5466 &diff_data_desc.
data, &data_desc.
data, local_size,
5468 "could not create a descriptor for a lrn backward "
5469 "propagation primitive");
5492 bool allow_empty =
false)
5494 hint_fwd_pd.
get(), allow_empty) {}
5512 bool allow_empty =
false)
5514 hint_fwd_pd.
get(), allow_empty) {}
5596 &dst_desc.
data, &strides[0], &kernel[0],
5597 &padding_l[0], &padding_r[0]),
5598 "could not create a descriptor for a pooling forward "
5599 "propagation primitive");
5618 bool allow_empty =
false)
5620 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5633 const engine &aengine,
bool allow_empty =
false)
5635 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
5705 &diff_dst_desc.
data, &strides[0], &kernel[0],
5706 &padding_l[0], &padding_r[0]),
5707 "could not create a descriptor for a pooling backward "
5708 "propagation primitive");
5731 bool allow_empty =
false)
5733 hint_fwd_pd.
get(), allow_empty) {}
5751 bool allow_empty =
false)
5753 hint_fwd_pd.
get(), allow_empty) {}
5831 &data_desc.
data, alpha, beta),
5832 "could not create a descriptor for an eltwise forward "
5833 "propagation primitive");
5853 bool allow_empty =
false)
5855 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5869 const engine &aengine,
bool allow_empty =
false)
5871 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
5923 &diff_data_desc.
data, &data_desc.
data, alpha, beta),
5924 "could not create a descriptor for an eltwise backward "
5925 "propagation primitive");
5949 bool allow_empty =
false)
5951 hint_fwd_pd.
get(), allow_empty) {}
5970 bool allow_empty =
false)
5972 hint_fwd_pd.
get(), allow_empty) {}
6034 &data_desc.
data, softmax_axis),
6035 "could not create a descriptor for a softmax forward "
6036 "propagation primitive");
6056 bool allow_empty =
false)
6058 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6072 const engine &aengine,
bool allow_empty =
false)
6074 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6123 &data_desc.
data, softmax_axis),
6124 "could not create a descriptor for a softmax backward "
6125 "propagation primitive");
6149 bool allow_empty =
false)
6151 hint_fwd_pd.
get(), allow_empty) {}
6170 bool allow_empty =
false)
6172 hint_fwd_pd.
get(), allow_empty) {}
6231 int logsoftmax_axis) {
6234 &data_desc.
data, logsoftmax_axis),
6235 "could not create a descriptor for a logsoftmax forward "
6236 "propagation primitive");
6256 bool allow_empty =
false)
6258 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6272 const engine &aengine,
bool allow_empty =
false)
6274 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6324 int logsoftmax_axis) {
6326 &diff_data_desc.
data, &data_desc.
data,
6328 "could not create a descriptor for a logsoftmax backward "
6329 "propagation primitive");
6353 bool allow_empty =
false)
6355 hint_fwd_pd.
get(), allow_empty) {}
6374 bool allow_empty =
false)
6376 hint_fwd_pd.
get(), allow_empty) {}
6459 "could not create a descriptor for a batch normalization "
6460 "forward propagation primitive");
6481 bool allow_empty =
false)
6483 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6497 const engine &aengine,
bool allow_empty =
false)
6499 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6544 "could not retrieve a descriptor from a primitive "
6545 "descriptor for batch normalization forward propagation "
6585 &diff_data_desc.
data, &data_desc.
data,
6587 "could not create a descriptor for a batch normalization "
6588 "backward propagation primitive");
6613 bool allow_empty =
false)
6615 hint_fwd_pd.
get(), allow_empty) {}
6634 bool allow_empty =
false)
6636 hint_fwd_pd.
get(), allow_empty) {}
6739 "could not create a descriptor for a layer normalization "
6740 "forward propagation primitive");
6759 "could not create a descriptor for a layer normalization "
6760 "forward propagation primitive");
6781 bool allow_empty =
false)
6783 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6797 const engine &aengine,
bool allow_empty =
false)
6799 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6842 "could not retrieve a descriptor from a primitive "
6843 "descriptor for layer normalization forward propagation "
6885 &diff_data_desc.
data, &data_desc.
data,
6887 "could not create a descriptor for a batch normalization "
6888 "backward propagation primitive");
6908 &diff_data_desc.
data, &data_desc.
data,
6910 "could not create a descriptor for a batch normalization "
6911 "backward propagation primitive");
6936 bool allow_empty =
false)
6938 hint_fwd_pd.
get(), allow_empty) {}
6957 bool allow_empty =
false)
6959 hint_fwd_pd.
get(), allow_empty) {}
7049 &src_desc.
data, &weights_desc.
data,
7051 "could not create a descriptor for an inner product "
7052 "forward propagation primitive");
7074 &weights_desc.
data,
nullptr, &dst_desc.
data),
7075 "could not create a descriptor for an inner product "
7076 "forward propagation primitive");
7096 bool allow_empty =
false)
7098 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
7112 const engine &aengine,
bool allow_empty =
false)
7114 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
7169 &diff_src_desc.
data, &weights_desc.
data,
7170 &diff_dst_desc.
data),
7171 "could not create a descriptor for an inner product "
7172 "backward propagation primitive");
7197 bool allow_empty =
false)
7199 hint_fwd_pd.
get(), allow_empty) {}
7218 bool allow_empty =
false)
7220 hint_fwd_pd.
get(), allow_empty) {}
7274 &src_desc.
data, &diff_weights_desc.
data,
7275 &diff_bias_desc.
data, &diff_dst_desc.
data),
7276 "could not create a descriptor for an inner product "
7277 "weights gradient primitive");
7295 &src_desc.
data, &diff_weights_desc.
data,
nullptr,
7296 &diff_dst_desc.
data),
7297 "could not create a descriptor for an inner product "
7298 "weights gradient primitive");
7322 bool allow_empty =
false)
7324 hint_fwd_pd.
get(), allow_empty) {}
7343 bool allow_empty =
false)
7345 hint_fwd_pd.
get(), allow_empty) {}
7395 using primitive_desc::primitive_desc;
7579 "could not retrieve a descriptor from a primitive descriptor "
7580 "for an RNN primitive");
7593 "mismatch between expected and provided descriptors for an "
7655 float beta = 0.0f) {
7661 &src_iter_desc.
data, &weights_layer_desc.
data,
7662 &weights_iter_desc.
data, &bias_desc.
data,
7663 &dst_layer_desc.
data, &dst_iter_desc.
data,
7665 "could not create a descriptor for a vanilla RNN forward "
7666 "propagation primitive");
7686 bool allow_empty =
false)
7688 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
7702 const engine &aengine,
bool allow_empty =
false)
7704 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
7835 float beta = 0.0f) {
7841 &src_iter_desc.
data, &weights_layer_desc.
data,
7842 &weights_iter_desc.
data, &bias_desc.
data,
7843 &dst_layer_desc.
data, &dst_iter_desc.
data,
7844 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
7845 &diff_weights_layer_desc.
data,
7846 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
7847 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
7849 "could not create a descriptor for a vanilla RNN backward "
7850 "propagation primitive");
7874 bool allow_empty =
false)
7876 hint_fwd_pd.
get(), allow_empty) {}
7895 bool allow_empty =
false)
7897 hint_fwd_pd.
get(), allow_empty) {}
8059 &src_iter_desc.
data, &src_iter_c_desc.
data,
8060 &weights_layer_desc.
data, &weights_iter_desc.
data,
8061 &weights_peephole_desc.
data,
8062 &weights_projection_desc.
data, &bias_desc.
data,
8063 &dst_layer_desc.
data, &dst_iter_desc.
data,
8065 "could not create a descriptor for an LSTM forward "
8066 "propagation primitive");
8126 &src_iter_desc.
data, &src_iter_c_desc.
data,
8127 &weights_layer_desc.
data, &weights_iter_desc.
data,
8128 &weights_peephole_desc.
data, &bias_desc.
data,
8129 &dst_layer_desc.
data, &dst_iter_desc.
data,
8131 "could not create a descriptor for an LSTM forward "
8132 "propagation primitive");
8186 &src_iter_desc.
data, &src_iter_c_desc.
data,
8187 &weights_layer_desc.
data, &weights_iter_desc.
data,
8188 &bias_desc.
data, &dst_layer_desc.
data,
8189 &dst_iter_desc.
data, &dst_iter_c_desc.
data,
8191 "could not create a descriptor for an LSTM forward "
8192 "propagation primitive");
8211 bool allow_empty =
false)
8213 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
8226 const engine &aengine,
bool allow_empty =
false)
8228 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
8414 &src_iter_desc.
data, &src_iter_c_desc.
data,
8415 &weights_layer_desc.
data, &weights_iter_desc.
data,
8416 &weights_peephole_desc.
data,
8417 &weights_projection_desc.
data, &bias_desc.
data,
8418 &dst_layer_desc.
data, &dst_iter_desc.
data,
8419 &dst_iter_c_desc.
data, &diff_src_layer_desc.
data,
8420 &diff_src_iter_desc.
data,
8421 &diff_src_iter_c_desc.
data,
8422 &diff_weights_layer_desc.
data,
8423 &diff_weights_iter_desc.
data,
8424 &diff_weights_peephole_desc.
data,
8425 &diff_weights_projection_desc.
data,
8426 &diff_bias_desc.
data, &diff_dst_layer_desc.
data,
8427 &diff_dst_iter_desc.
data,
8428 &diff_dst_iter_c_desc.
data,
8430 "could not create a descriptor for an LSTM backward "
8431 "propagation primitive");
8524 &src_iter_desc.
data, &src_iter_c_desc.
data,
8525 &weights_layer_desc.
data, &weights_iter_desc.
data,
8526 &weights_peephole_desc.
data, &bias_desc.
data,
8527 &dst_layer_desc.
data, &dst_iter_desc.
data,
8528 &dst_iter_c_desc.
data, &diff_src_layer_desc.
data,
8529 &diff_src_iter_desc.
data,
8530 &diff_src_iter_c_desc.
data,
8531 &diff_weights_layer_desc.
data,
8532 &diff_weights_iter_desc.
data,
8533 &diff_weights_peephole_desc.
data,
8534 &diff_bias_desc.
data, &diff_dst_layer_desc.
data,
8535 &diff_dst_iter_desc.
data,
8536 &diff_dst_iter_c_desc.
data,
8538 "could not create a descriptor for an LSTM backward "
8539 "propagation primitive");
8621 &src_iter_desc.
data, &src_iter_c_desc.
data,
8622 &weights_layer_desc.
data, &weights_iter_desc.
data,
8623 &bias_desc.
data, &dst_layer_desc.
data,
8624 &dst_iter_desc.
data, &dst_iter_c_desc.
data,
8625 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
8626 &diff_src_iter_c_desc.
data,
8627 &diff_weights_layer_desc.
data,
8628 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
8629 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
8630 &diff_dst_iter_c_desc.
data,
8632 "could not create a descriptor for an LSTM backward "
8633 "propagation primitive");
8656 bool allow_empty =
false)
8658 hint_fwd_pd.
get(), allow_empty) {}
8676 bool allow_empty =
false)
8678 hint_fwd_pd.
get(), allow_empty) {}
8860 &src_iter_desc.
data, &weights_layer_desc.
data,
8861 &weights_iter_desc.
data, &bias_desc.
data,
8862 &dst_layer_desc.
data, &dst_iter_desc.
data,
8864 "could not create a descriptor for a GRU forward "
8865 "propagation primitive");
8884 bool allow_empty =
false)
8886 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
8899 const engine &aengine,
bool allow_empty =
false)
8901 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9028 &src_iter_desc.
data, &weights_layer_desc.
data,
9029 &weights_iter_desc.
data, &bias_desc.
data,
9030 &dst_layer_desc.
data, &dst_iter_desc.
data,
9031 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
9032 &diff_weights_layer_desc.
data,
9033 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
9034 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
9036 "could not create a descriptor for a GRU backward "
9037 "propagation primitive");
9060 bool allow_empty =
false)
9062 hint_fwd_pd.
get(), allow_empty) {}
9080 bool allow_empty =
false)
9082 hint_fwd_pd.
get(), allow_empty) {}
9225 &src_iter_desc.
data, &weights_layer_desc.
data,
9226 &weights_iter_desc.
data, &bias_desc.
data,
9227 &dst_layer_desc.
data, &dst_iter_desc.
data,
9229 "could not create a descriptor for an LBR GRU forward "
9230 "propagation primitive");
9250 bool allow_empty =
false)
9252 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
9266 const engine &aengine,
bool allow_empty =
false)
9268 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9396 &src_iter_desc.
data, &weights_layer_desc.
data,
9397 &weights_iter_desc.
data, &bias_desc.
data,
9398 &dst_layer_desc.
data, &dst_iter_desc.
data,
9399 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
9400 &diff_weights_layer_desc.
data,
9401 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
9402 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
9404 "could not create a descriptor for an LBR GRU backward "
9405 "propagation primitive");
9429 bool allow_empty =
false)
9431 hint_fwd_pd.
get(), allow_empty) {}
9450 bool allow_empty =
false)
9452 hint_fwd_pd.
get(), allow_empty) {}
9572 &data_desc.
data, axis, group_size),
9573 "could not create a descriptor for a shuffle forward "
9574 "propagation primitive");
9596 bool allow_empty =
false)
9598 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9643 &diff_data_desc.
data, axis, group_size),
9644 "could not create a descriptor for a shuffle backward "
9645 "propagation primitive");
9671 bool allow_empty =
false)
9673 hint_fwd_pd.
get(), allow_empty) {}
9733 "could not create a descriptor for a binary operation "
9753 bool allow_empty =
false)
9755 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
9768 const engine &aengine,
bool allow_empty =
false)
9770 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9828 &weights_desc.
data,
nullptr, &dst_desc.
data),
9829 "could not create a descriptor for a matmul primitive");
9841 &weights_desc.
data, &bias_desc.
data,
9843 "could not create a descriptor for a matmul primitive");
9861 bool allow_empty =
false)
9863 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
9875 const engine &aengine,
bool allow_empty =
false)
9877 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9891 return query_md(query::weights_md, 0);
9896 return query_md(query::weights_md, 1);
9950 "could not create a resampling forward descriptor");
9965 const std::vector<float> &factors,
9971 &src_desc.
data,
nullptr),
9972 "could not create a resampling forward descriptor");
9992 const std::vector<float> &factors,
const memory::desc &src_desc,
9994 if (!factors.empty())
10000 "could not create a resampling forward descriptor");
10020 bool allow_empty =
false)
10022 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
10036 const engine &aengine,
bool allow_empty =
false)
10038 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
10085 &diff_src_desc.
data, &diff_dst_desc.
data),
10086 "could not create a resampling backward data descriptor");
10101 if (!factors.empty())
10105 &diff_src_desc.
data, &diff_dst_desc.
data),
10106 "could not create a resampling backward data descriptor");
10130 bool allow_empty =
false)
10132 hint_fwd_pd.
get(), allow_empty) {}
10151 bool allow_empty =
false)
10153 hint_fwd_pd.
get(), allow_empty) {}
10239 &dst_desc.
data, &strides[0], &kernel[0],
10240 &dilation[0], &padding_l[0], &padding_r[0]),
10241 "could not create a descriptor for a pooling forward "
10242 "propagation primitive");
10262 bool allow_empty =
false)
10264 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
10278 const engine &aengine,
bool allow_empty =
false)
10280 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
10355 &diff_dst_desc.
data, &strides[0], &kernel[0],
10356 &dilation[0], &padding_l[0], &padding_r[0]),
10357 "could not create a descriptor for a pooling backward "
10358 "propagation primitive");
10383 bool allow_empty =
false)
10385 hint_fwd_pd.
get(), allow_empty) {}
10404 bool allow_empty =
false)
10406 hint_fwd_pd.
get(), allow_empty) {}
10454 dnnl_prelu_desc_t data;
10468 &data_desc.
data, &weight_desc.
data),
10469 "could not create a descriptor for a prelu forward "
10470 "propagation primitive");
10490 bool allow_empty =
false)
10492 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
10506 const engine &aengine,
bool allow_empty =
false)
10508 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
10541 dnnl_prelu_desc_t data;
10556 &weight_desc.
data, &diff_data_desc.
data,
10557 &diff_weights_desc.
data),
10558 "could not create a descriptor for a prelu backward "
10559 "propagation primitive");
10583 bool allow_empty =
false)
10585 hint_fwd_pd.
get(), allow_empty) {}
10604 bool allow_empty =
false)
10606 hint_fwd_pd.
get(), allow_empty) {}
10678 &src_desc.
data, &dst_desc.
data, p, eps),
10679 "could not create a reduction descriptor");
10697 bool allow_empty =
false)
10699 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
10711 const engine &aengine,
bool allow_empty =
false)
10713 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
10821 return static_cast<status>(
10843 "could not get primitive cache capacity");
10850 "could not set primitive cache capacity");
10867 transa, transb, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc));
10874 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co) {
10876 K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co));
10883 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co) {
10885 K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co));
10888 #if DNNL_CPU_RUNTIME == DNNL_RUNTIME_THREADPOOL
10894 return static_cast<status>(dnnl_sgemm_tp(
10895 transa, transb, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc, tp));
10901 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co,
10903 return static_cast<status>(dnnl_gemm_u8s8s32_tp(transa, transb, offsetc, M,
10904 N, K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co, tp));
10911 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co,
10913 return static_cast<status>(dnnl_gemm_s8s8s32_tp(transa, transb, offsetc, M,
10914 N, K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co, tp));
10926 "could not create a primitive");
10932 inline void primitive::execute(
const stream &astream,
10933 const std::unordered_map<int, memory> &args)
const {
10934 std::vector<dnnl_exec_arg_t> c_args;
10935 c_args.reserve(args.size());
10936 for (
const auto &a : args)
10937 c_args.push_back({a.first, a.second.get(
true)});
10940 (
int)c_args.size(), c_args.data()),
10941 "could not execute a primitive");
10946 #undef DNNL_DEFINE_BITMASK_OPS
primitive_desc(const desc &adesc, const engine &aengine, 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:7195
@ dnnl_query_time_estimate_f64
runtime estimation (seconds)
Definition: dnnl_types.h:2355
@ dnnl_query_reorder_dst_engine
destination engine
Definition: dnnl_types.h:2367
void set_data_handle(void *handle) const
Sets the underlying memory buffer.
Definition: dnnl.hpp:2278
dnnl_status_t DNNL_API dnnl_memory_set_ocl_mem_object(dnnl_memory_t memory, cl_mem mem_object)
Sets OpenCL memory object associated with a memory object.
handle(handle< T, traits > &&)=default
Move constructor.
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:7944
primitive(const primitive_desc &pd)
Constructs a primitive from a primitive descriptor.
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:10880
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:10068
deconvolution_backward_data(const primitive_desc &pd)
Constructs a deconvolution backward propagation primitive.
Definition: dnnl.hpp:5069
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:10625
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:394
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc src_desc(int idx=0) const
Returns a source memory descriptor.
Definition: dnnl.hpp:9780
@ dnnl_scratchpad_mode_library
The library manages the scratchpad allocation according to the policy specified by the DNNL_ENABLE_CO...
Definition: dnnl_types.h:2050
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:4174
void set_rnn_data_qparams(float scale, float shift)
Sets quantization scale and shift parameters for RNN data tensors.
Definition: dnnl.hpp:3014
layer_normalization_forward(const primitive_desc &pd)
Constructs a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6857
logsoftmax_backward()=default
Default constructor. Produces an empty object.
desc(prop_kind aprop_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:7819
Descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:7991
struct dnnl_stream_attr * dnnl_stream_attr_t
An execution stream attributes handle.
Definition: dnnl_types.h:2441
@ 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:7553
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:7433
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:6200
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6185
Primitive descriptor for prelu backward propagation.
Definition: dnnl.hpp:10564
Descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:10317
vanilla_rnn_backward()=default
Default constructor. Produces an empty object.
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8933
@ dnnl_s32
32-bit signed integer.
Definition: dnnl_types.h:72
@ success
The operation was successful.
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:4879
prelu_forward(const primitive_desc &pd)
Constructs a prelu forward propagation primitive.
Definition: dnnl.hpp:10534
@ dnnl_eltwise_round
Eltwise: round.
Definition: dnnl_types.h:993
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5428
Primitive descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:9739
rnn_direction
A direction of RNN primitive execution.
Definition: dnnl.hpp:719
primitive_desc()=default
Default constructor. Produces an empty object.
@ dnnl_eltwise_relu_use_dst_for_bwd
Eltwise: ReLU (dst for backward)
Definition: dnnl_types.h:997
convolution_backward_data()=default
Default constructor. Produces an empty object.
void execute(const stream &astream, const std::unordered_map< int, memory > &args) const
Executes computations specified by the primitive in a specified stream.
@ all
Any ISA (excepting those listed as initial support)
Descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:8812
size_t get_size() const
Returns size of the memory descriptor in bytes.
Definition: dnnl.hpp:2139
Reorder primitive.
Definition: dnnl.hpp:3507
@ dnnl_query_pooling_d
pooling descriptor
Definition: dnnl_types.h:2379
Shuffle backward propagation primitive.
Definition: dnnl.hpp:9628
Descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:7027
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7928
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:9276
@ dnnl_ABcde2b8a4b
5D tensor blocked by 1st dimension with block size 8
Definition: dnnl_types.h:330
memory::desc diff_dst_iter_c_desc() const
Returns diff destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:8795
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6997
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7936
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:9159
const char * what() const noexcept override
Returns the explanatory string.
Definition: dnnl.hpp:103
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:9144
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.
void get_params_dw_k3s2p1(int index, memory::data_type &weights_data_type, memory::data_type &bias_data_type, memory::data_type &dst_data_type, int &mask, std::vector< float > &scales) const
Returns the parameters of an depthwise post-op with stride 2.
Definition: dnnl.hpp:2671
const_dnnl_primitive_desc_t get_primitive_desc() const
Returns the C API primitive descriptor of the underlying C API primitive.
Definition: dnnl.hpp:375
Primitive descriptor for an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9235
Convolution weights gradient primitive.
Definition: dnnl.hpp:4362
@ dnnl_reduction_mul
Reduction using mul.
Definition: dnnl_types.h:1059
An execution stream.
Definition: dnnl.hpp:1079
desc(const dnnl_memory_desc_t &data)
Constructs a memory descriptor from a C API data structure.
Definition: dnnl.hpp:1992
void get_params_dw_k3s1p1(int index, memory::data_type &weights_data_type, memory::data_type &bias_data_type, memory::data_type &dst_data_type, int &mask, std::vector< float > &scales) const
Returns the parameters of an depthwise post-op with stride 1.
Definition: dnnl.hpp:2586
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4852
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:4721
primitive_desc(const desc &adesc, const engine &aengine, 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:4566
primitive_desc(const desc &adesc, const engine &aengine, 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:6147
@ dnnl_aBCde2b4c2b
5D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:382
desc(prop_kind aprop_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:7044
@ dnnl_query_memory_consumption_s64
memory consumption – extra
Definition: dnnl_types.h:2356
@ dnnl_s8
8-bit signed integer.
Definition: dnnl_types.h:74
prop_kind
Propagation kind.
Definition: dnnl.hpp:442
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5652
int len() const
Returns the number of post-ops entries.
Definition: dnnl.hpp:2422
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:9883
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.
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:9752
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:913
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
An opaque structure to describe a memory.
@ dnnl_decab
permuted 5D tensor
Definition: dnnl_types.h:212
Softmax backward propagation primitive.
Definition: dnnl.hpp:6104
Primitive descriptor for a reduction primitive.
Definition: dnnl.hpp:10684
primitive_desc()=default
Default constructor. Produces an empty object.
An opaque structure to describe a primitive descriptor iterator.
pooling_v2_backward(const primitive_desc &pd)
Constructs a pooling v2 (dilated pooling) backward propagation primitive.
Definition: dnnl.hpp:10436
@ dnnl_batch_normalization
A batch normalization primitive.
Definition: dnnl_types.h:909
Vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7762
rnn_primitive_desc_base(dnnl_primitive_desc_t pd, dnnl::prop_kind aprop_kind, dnnl::algorithm cell_kind)
Constructs an RNN primitive descriptor base from a C API primitive descriptor while checking that it ...
Definition: dnnl.hpp:7407
@ dnnl_query_logsoftmax_d
logsoftmax descriptor
Definition: dnnl_types.h:2388
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:10871
Descriptor for a vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7764
memory::desc diff_src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5527
LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9326
#define DNNL_ARG_DST_ITER_C
A special mnemonic for LSTM output recurrent cell state vector.
Definition: dnnl_types.h:2156
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:9887
Primitive descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:8197
lrn_backward(const primitive_desc &pd)
Constructs an LRN backward propagation primitive.
Definition: dnnl.hpp:5542
@ dnnl_abcdefghji
permuted 10D tensor
Definition: dnnl_types.h:219
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:4100
#define DNNL_ARG_WEIGHTS_ITER
A special mnemonic for RNN weights applied to the recurrent input.
Definition: dnnl_types.h:2174
primitive_desc(const desc &adesc, const engine &aengine, 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:5947
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:937
desc(prop_kind aprop_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:7068
dnnl_cpu_isa_t DNNL_API dnnl_get_effective_cpu_isa(void)
Gets the maximal ISA the library can dispatch to on the CPU.
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:7493
@ dnnl_query_reorder_src_engine
source engine
Definition: dnnl_types.h:2366
engine get_src_engine() const
Returns the engine on which the source memory is allocated.
Definition: dnnl.hpp:3583
memory(const desc &md, const engine &aengine)
Constructs a memory object.
Definition: dnnl.hpp:2205
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8923
#define DNNL_ARG_WEIGHTS_PROJECTION
A special mnemonic for RNN weights applied to the projection weights.
Definition: dnnl_types.h:2186
An execution engine.
Definition: dnnl.hpp:876
desc(prop_kind aprop_kind, const memory::desc &data_desc, float epsilon, normalization_flags flags)
Constructs a batch normalization descriptor for forward propagation.
Definition: dnnl.hpp:6453
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:3814
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5769
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:5980
inner_product_forward(const primitive_desc &pd)
Constructs an inner product forward propagation primitive.
Definition: dnnl.hpp:7146
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:2913
dnnl_status_t DNNL_API dnnl_memory_get_ocl_mem_object(const_dnnl_memory_t memory, cl_mem *mem_object)
Returns an OpenCL memory object associated with a memory object.
@ dnnl_softmax
A softmax primitive.
Definition: dnnl_types.h:903
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:5049
@ dnnl_normalization_flags_none
Use no normalization flags.
Definition: dnnl_types.h:1082
Local response normalization (LRN) forward propagation primitive.
Definition: dnnl.hpp:5349
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:7361
Descriptor for an elementwise backward propagation primitive.
Definition: dnnl.hpp:5903
dnnl_status_t DNNL_API dnnl_post_ops_get_params_dw_k3s2p1(const_dnnl_post_ops_t post_ops, int index, dnnl_data_type_t *weights_data_type, dnnl_data_type_t *bias_data_type, dnnl_data_type_t *dst_data_type, dnnl_dim_t *count, int *mask, const float **scales)
Returns the parameters of an depthwise post-op with stride 2.
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:10161
@ dnnl_query_rnn_d
rnn descriptor
Definition: dnnl_types.h:2385
#define DNNL_ARG_TO
A special mnemonic for reorder destination argument.
Definition: dnnl_types.h:2142
desc(prop_kind aprop_kind, algorithm aalgorithm, const memory::desc &src_desc, const memory::desc &dst_desc, const memory::dims &strides, const memory::dims &kernel, const memory::dims &dilation, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for pooling v2 (dilated pooling) forward propagation primitive.
Definition: dnnl.hpp:10225
#define DNNL_MAX_NDIMS
Maximum number of dimensions a tensor can have.
Definition: dnnl_types.h:1133
@ dnnl_scratchpad_mode_user
The user manages the scratchpad allocation by querying and providing the scratchpad memory to primiti...
Definition: dnnl_types.h:2055
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:8760
kind
Kinds of primitives supported by the library.
Definition: dnnl.hpp:278
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8915
post_ops()
Constructs an empty sequence of post-ops.
Definition: dnnl.hpp:2414
status set_jit_profiling_jitdumpdir(const std::string &dir)
Sets JIT dump output path.
Definition: dnnl.hpp:10789
Primitive descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:5713
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:9103
@ dnnl_defcab
permuted 6D tensor
Definition: dnnl_types.h:213
@ dnnl_abcdefghijlk
permuted 12D tensor
Definition: dnnl_types.h:221
@ dnnl_abcdefghijk
plain 11D tensor
Definition: dnnl_types.h:188
@ dnnl_aBcde16b
5D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:332
layer_normalization_backward(const primitive_desc &pd)
Constructs a layer normalization backward propagation primitive.
Definition: dnnl.hpp:7011
dnnl_memory_desc_t data
The underlying C API data structure.
Definition: dnnl.hpp:1926
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8283
Descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:8961
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9249
primitive_desc(const memory &src, const memory &dst, const primitive_attr &attr=primitive_attr(), bool allow_empty=false)
Constructs a primitive descriptor for reorder primitive.
Definition: dnnl.hpp:3558
An opaque structure to describe an engine.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6983
primitive_desc()=default
Default constructor. Produces an empty object.
eltwise_forward(const primitive_desc &pd)
Constructs an eltwise forward propagation primitive.
Definition: dnnl.hpp:5897
Reduction.
Definition: dnnl.hpp:10649
logsoftmax_forward()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_post_ops_get_params_binary(const_dnnl_post_ops_t post_ops, int index, dnnl_alg_kind_t *alg_kind, const dnnl_memory_desc_t **src1_desc)
Returns the parameters of a binary post-op.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7747
const dnnl_version_t DNNL_API * dnnl_version()
Returns library version information.
Descriptor for resampling forward propagation.
Definition: dnnl.hpp:9926
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5991
stream & wait()
Waits for all primitives executing in the stream to finish.
Definition: dnnl.hpp:1149
@ dnnl_eltwise_relu
Eltwise: ReLU.
Definition: dnnl_types.h:952
@ dnnl_acb
permuted 3D tensor
Definition: dnnl_types.h:196
A descriptor of a matrix multiplication operation.
Definition: dnnl_types.h:1893
@ shuffle
A shuffle primitive.
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8928
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.
memory::desc diff_weights_peephole_desc() const
Returns diff weights peephole memory descriptor.
Definition: dnnl.hpp:7517
@ dnnl_eltwise_abs
Eltwise: abs.
Definition: dnnl_types.h:960
primitive_desc()=default
Default constructor. Produces an empty object.
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:6180
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:4343
void append_sum(float scale=1.f, memory::data_type data_type=memory::data_type::undef)
Appends an accumulation (sum) post-op.
Definition: dnnl.hpp:2462
@ none
Use no normalization flags.
dnnl_normalization_flags_t
Flags for normalization primitives.
Definition: dnnl_types.h:1073
pooling_v2_forward()=default
Default constructor. Produces an empty object.
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:8790
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:9486
@ dnnl_eltwise_sqrt_use_dst_for_bwd
Eltwise: square root (dst for backward)
Definition: dnnl_types.h:1003
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a resampling forward propagation primitive.
Definition: dnnl.hpp:10019
memory::desc diff_src_desc(int idx) const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:3277
Elementwise unary operation backward propagation primitive.
Definition: dnnl.hpp:5901
desc(prop_kind aprop_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 &weights_peephole_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_weights_peephole_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 (with or without peephole) descriptor for backward propagation using prop_kind,...
Definition: dnnl.hpp:8498
@ dnnl_shuffle
A shuffle primitive.
Definition: dnnl_types.h:891
@ dnnl_query_shuffle_d
shuffle descriptor
Definition: dnnl_types.h:2376
desc permute_axes(const std::vector< int > &permutation, bool allow_empty=false) const
Constructs a memory descriptor by permuting axes in an existing one.
Definition: dnnl.hpp:2109
Matrix multiplication (matmul) primitive.
Definition: dnnl.hpp:9814
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:10166
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8709
desc()=default
Default constructor. Produces an empty object.
memory::desc weights_peephole_desc() const
Returns weights peephole memory descriptor.
Definition: dnnl.hpp:7445
A descriptor of a convolution operation.
Definition: dnnl_types.h:1366
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:4346
primitive_desc(const desc &adesc, const engine &aengine, 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:4305
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4168
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:7505
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6651
dnnl_primitive_kind_t
Kinds of primitives.
Definition: dnnl_types.h:885
primitive_desc(const desc &adesc, const engine &aengine, const prelu_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a PReLU backward propagation primitive.
Definition: dnnl.hpp:10581
Elementwise unary operation forward propagation primitive.
Definition: dnnl.hpp:5808
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5772
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:4325
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a PReLU forward propagation primitive.
Definition: dnnl.hpp:10489
@ dnnl_abdfce
permuted 6D tensor
Definition: dnnl_types.h:195
dnnl_status_t DNNL_API dnnl_memory_desc_permute_axes(dnnl_memory_desc_t *out_memory_desc, const dnnl_memory_desc_t *in_memory_desc, const int *permutation)
Initializes a memory descriptor by permuting axes in an existing one.
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:5315
dnnl_rnn_flags_t
Flags for RNN cell.
Definition: dnnl_types.h:1763
@ dnnl_pooling_max
Max pooling.
Definition: dnnl_types.h:1011
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:2418
dnnl_query_t
Primitive descriptor query specification.
Definition: dnnl_types.h:2346
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:6282
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:10046
void append_dw_k3s2p1(memory::data_type weights_data_type, memory::data_type bias_data_type, memory::data_type dst_data_type, int mask, const std::vector< float > &scales)
Appends a depthwise post-op convolution with stride 2.
Definition: dnnl.hpp:2645
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
desc submemory_desc(const dims &adims, const dims &offsets, bool allow_empty=false) const
Constructs a memory descriptor for a region inside an area described by this memory descriptor.
Definition: dnnl.hpp:2005
void set_threadpool(threadpool_iface *threadpool)
Sets the threadpool attribute.
Definition: dnnl.hpp:1059
rnn_flags
RNN cell flags.
Definition: dnnl.hpp:665
A descriptor for an RNN operation.
Definition: dnnl_types.h:1785
@ dnnl_bcdea
permuted 5D tensor
Definition: dnnl_types.h:207
dnnl_rnn_direction_t
A direction of RNN primitive execution.
Definition: dnnl_types.h:1769
desc()=default
Default constructor. Produces an empty object.
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8247
cpu_isa
CPU instruction set flags.
Definition: dnnl.hpp:10794
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6271
@ dnnl_sum
A sum primitive.
Definition: dnnl_types.h:895
static size_t get_count(kind akind)
Returns the number of engines of a certain kind.
Definition: dnnl.hpp:900
void set_data_handle(void *handle, const stream &astream) const
Sets the underlying memory buffer.
Definition: dnnl.hpp:2262
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:4598
Descriptor for a matmul primitive.
Definition: dnnl.hpp:9816
inner_product_backward_weights(const primitive_desc &pd)
Constructs an inner product weights gradient primitive.
Definition: dnnl.hpp:7380
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8944
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:9606
Primitive descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:5380
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:9681
@ dnnl_backward_weights
Backward weights propagation.
Definition: dnnl_types.h:878
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_desc(int idx) const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3259
@ dnnl_a
plain 1D tensor
Definition: dnnl_types.h:177
bool next_impl()
Advances the primitive iterator to the next implementation.
Definition: dnnl.hpp:3884
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:9529
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6817
A descriptor of an inner product operation.
Definition: dnnl_types.h:1729
void set_ocl_mem_object(cl_mem mem_object)
Sets the OpenCL memory object mem_object associated with the memory.
Definition: dnnl.hpp:2344
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8278
Primitive descriptor for an inner product weights gradient primitive.
Definition: dnnl.hpp:7303
dnnl_status_t DNNL_API dnnl_post_ops_append_dw_k3s2p1(dnnl_post_ops_t post_ops, dnnl_data_type_t weights_data_type, dnnl_data_type_t bias_data_type, dnnl_data_type_t dst_data_type, dnnl_dim_t count, int mask, const float *scales)
Appends a depthwise post-op convolution with stride 2.
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:6807
@ dnnl_gpu
GPU engine.
Definition: dnnl_types.h:1985
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 object and writes back any changes made to the previously mapped memory buffer.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5655
Logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6214
desc(prop_kind aprop_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:9008
desc(prop_kind aprop_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 &weights_peephole_desc, const memory::desc &weights_projection_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_weights_peephole_desc, const memory::desc &diff_weights_projection_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 (with or without peephole and with or without projection) descriptor for backward ...
Definition: dnnl.hpp:8386
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:9129
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3821
desc(algorithm aalgorithm, const 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:10098
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:7533
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:9991
Descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5810
memory::dims dims() const
Returns dimensions of the memory descriptor.
Definition: dnnl.hpp:2125
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:7905
LSTM backward propagation primitive.
Definition: dnnl.hpp:8306
Descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6718
deconvolution_backward_weights()=default
Default constructor. Produces an empty object.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5888
@ dnnl_query_diff_weights_md
weights grad. memory desc
Definition: dnnl_types.h:2399
primitive_desc(const desc &adesc, const engine &aengine, 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:10128
gru_forward(const primitive_desc &pd)
Constructs a GRU forward propagation primitive.
Definition: dnnl.hpp:8955
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:6967
Descriptor for reduction.
Definition: dnnl.hpp:10651
@ dnnl_query_prop_kind
propagation kind
Definition: dnnl_types.h:2369
@ dnnl_abced
permuted 5D tensor
Definition: dnnl_types.h:214
@ dnnl_eltwise_logistic
Eltwise: logistic.
Definition: dnnl_types.h:970
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:9295
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8704
pooling_forward(const primitive_desc &pd)
Constructs a pooling forward propagation primitive.
Definition: dnnl.hpp:5664
@ dnnl_eltwise
An element-wise primitive.
Definition: dnnl_types.h:901
GRU forward propagation primitive.
Definition: dnnl.hpp:8810
kind
Kinds of engines.
Definition: dnnl.hpp:881
@ dnnl_aBc16b
3D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:230
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:9519
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:6663
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7726
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:8909
desc(prop_kind aprop_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 &weights_peephole_desc, const memory::desc &weights_projection_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 (with or without peephole and with or without projection) forward...
Definition: dnnl.hpp:8042
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8691
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6531
Descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:10196
inner_product_backward_data(const primitive_desc &pd)
Constructs an inner product backward propagation primitive.
Definition: dnnl.hpp:7248
@ dnnl_convolution_auto
Convolution algorithm(either direct or Winograd) is chosen just in time.
Definition: dnnl_types.h:946
binary(const primitive_desc &pd)
Constructs an elementwise binary operation primitive.
Definition: dnnl.hpp:9798
@ dnnl_cdba
permuted 4D tensor
Definition: dnnl_types.h:209
@ dnnl_eltwise_sqrt
Eltwise: square root.
Definition: dnnl_types.h:962
@ dnnl_cpu_isa_avx512_core
Intel AVX-512 subset for Intel Xeon Scalable processor family and Intel Core processor family.
Definition: dnnl_types.h:2523
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:9282
@ dnnl_reduction_norm_lp_power_p_max
Reduction using lp norm without final pth-root.
Definition: dnnl_types.h:1067
lstm_backward()=default
Default constructor. Produces an empty object.
bool operator==(const handle< T, traits > &other) const
Equality operator.
Definition: dnnl.hpp:217
reduction(const primitive_desc &pd)
Constructs a reduction primitive.
Definition: dnnl.hpp:10734
stream()=default
Constructs an empty stream.
@ dnnl_eltwise_bounded_relu
Eltwise: bounded_relu.
Definition: dnnl_types.h:966
lbr_gru_backward(const primitive_desc &pd)
Constructs an LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9540
static void validate_dims(const std::vector< T > &v, int min_size=0)
Helper function that validates that an std::vector of dimensions can be safely converted to the C API...
Definition: dnnl.hpp:1244
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:4002
desc(algorithm aalgorithm, const memory::desc &src0, const memory::desc &src1, const memory::desc &dst)
Constructs a descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:9728
status set_max_cpu_isa(cpu_isa isa)
Sets the maximal ISA the library can dispatch to on the CPU.
Definition: dnnl.hpp:10820
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1788
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6393
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6496
@ dnnl_eltwise_clip_v2
Eltwise: clip version 2.
Definition: dnnl_types.h:987
desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for an LSTM backward propagation primitive.
Definition: dnnl.hpp:8638
@ pooling
A pooling primitive.
Primitive descriptor for a pooling v2 (dilated pooling) backward propagation primitive.
Definition: dnnl.hpp:10364
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:7239
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 an LSTM backward propagation primitive.
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_attr get_primitive_attr() const
Returns the primitive attributes.
Definition: dnnl.hpp:3369
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:9113
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:3717
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:5393
primitive_desc(const desc &adesc, const engine &aengine, 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:9427
@ dnnl_forward_inference
Forward data propagation (inference mode).
Definition: dnnl_types.h:868
dnnl_status_t DNNL_API dnnl_pooling_v2_backward_desc_init(dnnl_pooling_v2_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 dilation, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for pooling v2 (pooling with dilation support) backward propagation primitiv...
desc(algorithm aalgorithm, 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:4936
@ dnnl_query_impl_info_str
for creating scratchpad memory
Definition: dnnl_types.h:2364
@ dnnl_query_dst_md
destination memory desc
Definition: dnnl_types.h:2400
@ dnnl_query_resampling_d
resampling descriptor
Definition: dnnl_types.h:2390
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:7485
void set_scratchpad_mode(scratchpad_mode mode)
Sets scratchpad mode.
Definition: dnnl.hpp:2777
scratchpad_mode
Scratchpad mode.
Definition: dnnl.hpp:408
memory::desc diff_src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5766
@ dnnl_query_inner_product_d
inner product descriptor
Definition: dnnl_types.h:2384
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7723
#define DNNL_ARG_DIFF_WEIGHTS_LAYER
A special mnemonic for diff of RNN weights applied to the layer input.
Definition: dnnl_types.h:2254
@ dnnl_rnn_flags_undef
Undefined RNN flags.
Definition: dnnl_types.h:1765
@ dnnl_nCdhw16c
5D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcde16b
Definition: dnnl_types.h:595
@ dnnl_query_convolution_d
convolution descriptor
Definition: dnnl_types.h:2374
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:9154
Primitive descriptor for a resampling forward propagation primitive.
Definition: dnnl.hpp:10005
desc(prop_kind aprop_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:8847
@ dnnl_cpu_isa_avx512_core_amx
Intel AVX-512, Intel DL Boost and bfloat16 support and Intel AMX with 8-bit integer and bfloat16 supp...
Definition: dnnl_types.h:2538
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6527
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5425
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:3357
#define DNNL_ARG_DIFF_WEIGHTS_PEEPHOLE
A special mnemonic for diff of RNN weights applied to the peephole weights.
Definition: dnnl_types.h:2266
@ dnnl_aBCdef2c8b4c
6D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:389
dnnl_status_t DNNL_API dnnl_lstm_backward_desc_init_v2(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 *weights_peephole_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_weights_peephole_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 an LSTM (with or without peephole) backward propagation primitive.
memory::desc diff_weights_projection_desc() const
Returns diff weights projection memory descriptor.
Definition: dnnl.hpp:8775
sum()=default
Default constructor. Produces an empty object.
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:7949
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7939
lrn_forward(const primitive_desc &pd)
Constructs an LRN forward propagation primitive.
Definition: dnnl.hpp:5440
primitive_desc()=default
Default constructor. Produces an empty object.
@ dnnl_bcda
permuted 4D tensor
Definition: dnnl_types.h:206
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:6631
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7736
dnnl_status_t DNNL_API dnnl_stream_create_v2(dnnl_stream_t *stream, dnnl_engine_t engine, unsigned flags, const_dnnl_stream_attr_t attr)
Creates an execution stream.
Primitive descriptor for a sum primitive.
Definition: dnnl.hpp:3748
desc(prop_kind aprop_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:8171
deconvolution_forward()=default
Default constructor. Produces an empty object.
@ dnnl_eltwise_gelu_tanh
Eltwise: gelu.
Definition: dnnl_types.h:977
dnnl_status_t DNNL_API dnnl_engine_create_ocl(dnnl_engine_t *engine, dnnl_engine_kind_t kind, cl_device_id device, cl_context context)
Creates an engine associated with an OpenCL device and an OpenCL context.
@ dnnl_bidirectional_concat
Bidirectional execution of RNN primitive with concatenation of the results.
Definition: dnnl_types.h:1776
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:3614
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3312
A descriptor of a pooling operation.
Definition: dnnl_types.h:1528
Layer normalization forward propagation primitive.
Definition: dnnl.hpp:6716
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4603
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5312
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:2948
#define DNNL_ARG_DIFF_DST_ITER_C
A special mnemonic for gradient (diff) of RNN input recurrent cell state vector.
Definition: dnnl_types.h:2242
A container for stream attributes.
Definition: dnnl.hpp:1034
desc(prop_kind aprop_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:6903
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(), bool allow_empty=false)
Constructs a primitive descriptor for reorder primitive.
Definition: dnnl.hpp:3532
kind get_kind() const
Returns the kind of the engine.
Definition: dnnl.hpp:948
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7931
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:4151
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:4051
@ dnnl_aBcd32b
4D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:280
dnnl_data_type_t
Data type specification.
Definition: dnnl_types.h:62
@ dnnl_ba
permuted 2D tensor
Definition: dnnl_types.h:201
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:7268
@ dnnl_lrn_within_channel
LRN within a single channel.
Definition: dnnl_types.h:1021
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:10111
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:3336
void set_post_ops(const post_ops ops)
Sets post-ops.
Definition: dnnl.hpp:2976
@ dnnl_reduction_norm_lp_sum
Reduction using lp norm.
Definition: dnnl_types.h:1065
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.
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a pooling v2 (dilated pooling) forward propagation primitive.
Definition: dnnl.hpp:10277
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:9090
dnnl_status_t DNNL_API dnnl_lstm_backward_desc_init_v3(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 *weights_peephole_desc, const dnnl_memory_desc_t *weights_projection_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_weights_peephole_desc, const dnnl_memory_desc_t *diff_weights_projection_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 an LSTM (with or without peephole and with or with out recurrent project...
@ dnnl_binary_mul
Binary mul.
Definition: dnnl_types.h:1039
desc(algorithm aalgorithm, const memory::desc &diff_src_desc, const memory::desc &diff_dst_desc, const memory::dims &strides, const memory::dims &kernel, const memory::dims &dilation, const memory::dims &padding_l, const memory::dims &padding_r)
Constructs a descriptor for pooling v2 (dilated pooling) backward propagation primitive.
Definition: dnnl.hpp:10343
void append_dw_k3s1p1(memory::data_type weights_data_type, memory::data_type bias_data_type, memory::data_type dst_data_type, int mask, const std::vector< float > &scales)
Appends a depthwise post-op convolution with stride 1.
Definition: dnnl.hpp:2560
Primitive descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5838
dnnl::primitive::kind get_kind() const
Returns the kind of the primitive descriptor.
Definition: dnnl.hpp:3381
@ 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
@ dnnl_binary_min
Binary min.
Definition: dnnl_types.h:1043
dnnl_status_t DNNL_API dnnl_post_ops_get_params_sum_v2(const_dnnl_post_ops_t post_ops, int index, float *scale, dnnl_data_type_t *data_type)
Returns the parameters of an accumulation (sum) post-op with a data type parameter.
@ 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.
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 descriptor for a PReLU forward propagation primitive.
Definition: dnnl.hpp:10475
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:9964
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:1108
@ dnnl_eltwise_log
Eltwise: natural logarithm.
Definition: dnnl_types.h:983
Primitive descriptor for an LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9410
Descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:5351
Primitive descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:6041
@ dnnl_query_layer_normalization_d
layer normalization descriptor
Definition: dnnl_types.h:2383
desc(prop_kind aprop_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:7646
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5530
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:5419
desc(algorithm aalgorithm, 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:4978
prelu_backward()=default
Default constructor. Produces an empty object.
Pooling v2 (dilated pooling) forward propagation primitive.
Definition: dnnl.hpp:10194
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:7111
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3597
primitive_desc()=default
Default constructor. Produces an empty object.
int get_primitive_cache_capacity()
Returns the number of primitives that can be held in the primitive cache at the same time.
Definition: dnnl.hpp:10840
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:3594
Post-ops.
Definition: dnnl.hpp:2410
@ dnnl_ABcd8b8a
4D tensor blocked by 1st and 2nd dimension with block size 8
Definition: dnnl_types.h:311
cl_device_id get_ocl_device() const
Returns the OpenCL device associated with the engine.
Definition: dnnl.hpp:967
@ dnnl_resampling_linear
Linear Resampling Method.
Definition: dnnl_types.h:1051
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:7233
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:3318
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:9149
lstm_forward()=default
Default constructor. Produces an empty object.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:3342
Primitive descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6766
@ dnnl_forward_training
Forward data propagation (training mode).
Definition: dnnl_types.h:864
query
Primitive descriptor query specification.
Definition: dnnl.hpp:752
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8941
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.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a reduction primitive from a C API primitive descriptor that mu...
Definition: dnnl.hpp:10719
@ dnnl_bac
permuted 3D tensor
Definition: dnnl_types.h:202
@ dnnl_eltwise_square
Eltwise: square.
Definition: dnnl_types.h:958
@ dnnl_fuse_norm_relu
Fuse with ReLU.
Definition: dnnl_types.h:1121
@ dnnl_bacde
permuted 5D tensor
Definition: dnnl_types.h:204
#define DNNL_ARG_DIFF_WEIGHTS_ITER
A special mnemonic for diff of RNN weights applied to the recurrent input.
Definition: dnnl_types.h:2260
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 AVX-512 subset for Intel Xeon Phi processors 7235, 7285, 7295 Series.
Definition: dnnl_types.h:2519
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:9290
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a prelu backward propagation primitive from a C API primitive d...
Definition: dnnl.hpp:10614
logsoftmax_backward(const primitive_desc &pd)
Constructs a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:6408
Deconvolution weights gradient primitive.
Definition: dnnl.hpp:5073
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:9308
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:7128
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:6119
dnnl_status_t DNNL_API dnnl_stream_destroy(dnnl_stream_t stream)
Destroys an execution stream.
#define DNNL_ARG_DIFF_BIAS
Gradient (diff) of the bias tensor argument.
Definition: dnnl_types.h:2275
dnnl_status_t DNNL_API dnnl_primitive_attr_destroy(dnnl_primitive_attr_t attr)
Destroys primitive attributes.
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.
primitive_desc(const desc &adesc, const engine &aengine, 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:8654
#define DNNL_ARG_WEIGHTS_PEEPHOLE
A special mnemonic for RNN weights applied to the peephole weights.
Definition: dnnl_types.h:2180
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7421
Tensor concatenation (concat) primitive.
Definition: dnnl.hpp:3653
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,...
@ 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:6310
@ dnnl_convolution_winograd
Winograd convolution.
Definition: dnnl_types.h:944
Convolution forward propagation primitive.
Definition: dnnl.hpp:3921
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6396
Descriptor for a batch normalization backward propagation primitive.
Definition: dnnl.hpp:6565
@ dnnl_ABcde4b16a4b
5D tensor blocked by 1st dimension with block size 16
Definition: dnnl_types.h:325
@ dnnl_nChw8c
4D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcd8b
Definition: dnnl_types.h:613
Batch normalization forward propagation primitive.
Definition: dnnl.hpp:6434
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:1979
@ dnnl_binary
A binary primitive.
Definition: dnnl_types.h:919
@ dnnl_cdeba
permuted 5D tensor
Definition: dnnl_types.h:211
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:7959
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6994
@ dnnl_eltwise_tanh
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition: dnnl_types.h:954
error(dnnl_status_t status, const char *message)
Constructs an instance of an exception class.
Definition: dnnl.hpp:99
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:9116
@ dnnl_aBc4b
3D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:238
memory::desc diff_src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10420
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5649
primitive_desc()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_stream_attr_create(dnnl_stream_attr_t *attr, dnnl_engine_kind_t kind)
Creates execution stream attributes for a stream that runs on an engine of a particular kind.
@ dnnl_abcde
plain 5D tensor
Definition: dnnl_types.h:182
@ dnnl_nCw8c
3D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBc8b
Definition: dnnl_types.h:625
desc(prop_kind aprop_kind, const memory::desc &data_desc, float epsilon, normalization_flags flags)
Constructs a descriptor for layer normalization forward propagation primitive.
Definition: dnnl.hpp:6753
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:7254
dnnl_dims_t dims
Dimensions in the following order:
Definition: dnnl_types.h:1294
@ dnnl_stream_default_order
Default order execution.
Definition: dnnl_types.h:2421
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:6014
@ dnnl_pooling
A pooling primitive.
Definition: dnnl_types.h:905
Batch normalization backward propagation primitive.
Definition: dnnl.hpp:6563
@ dnnl_acdb
permuted 4D tensor
Definition: dnnl_types.h:199
@ dnnl_query_lrn_d
lrn descriptor
Definition: dnnl_types.h:2381
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:874
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6514
dnnl_status_t DNNL_API dnnl_reduction_desc_init(dnnl_reduction_desc_t *desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *dst_desc, float p, float eps)
Initializes a descriptor for a reduction primitive.
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:7236
A descriptor of a Softmax operation.
Definition: dnnl_types.h:1498
@ undef
Undefined algorithm.
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6796
@ dnnl_eltwise_clip_v2_use_dst_for_bwd
Eltwise: clip version 2 (dst for backward)
Definition: dnnl_types.h:1009
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:9447
@ dnnl_cpu_isa_avx512_core_bf16
Intel AVX-512, Intel DL Boost and bfloat16 support for Intel Xeon Scalable processor family and Intel...
Definition: dnnl_types.h:2533
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:5585
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:7758
@ dnnl_iterator_ends
Primitive iterator passed over last primitive descriptor.
Definition: dnnl_types.h:49
@ default_order
Default order execution.
@ dnnl_abcdefghi
plain 9D tensor
Definition: dnnl_types.h:186
desc(algorithm aalgorithm, 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:5694
data_type
Data type specification.
Definition: dnnl.hpp:1250
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:9077
primitive_desc(const desc &adesc, const engine &aengine, 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:5016
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:5522
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:5509
Descriptor for an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9176
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:958
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7685
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_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a prelu forward propagation primitive from a C API primitive de...
Definition: dnnl.hpp:10516
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:8673
Primitive descriptor for a convolution weights gradient primitive.
Definition: dnnl.hpp:4550
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10619
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6657
memory::desc weights_peephole_desc() const
Returns weights peephole memory descriptor.
Definition: dnnl.hpp:8265
desc(prop_kind aprop_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:9376
dnnl_status_t DNNL_API dnnl_stream_wait(dnnl_stream_t stream)
Waits for all primitives in the execution stream to finish computations.
dnnl_status_t DNNL_API dnnl_memory_set_data_handle_v2(dnnl_memory_t memory, void *handle, dnnl_stream_t stream)
Sets the underlying memory buffer.
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:7511
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:6323
@ dnnl_abcdefghijkl
plain 12D tensor
Definition: dnnl_types.h:189
#define DNNL_ARG_SRC_ITER_C
A special mnemonic for RNN input recurrent cell state vector.
Definition: dnnl_types.h:2133
Primitive descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:5604
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:981
@ dnnl_nCdhw8c
5D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcde8b
Definition: dnnl_types.h:601
@ dnnl_pooling_avg
Average pooling (alias for dnnl_pooling_avg_exclude_padding)
Definition: dnnl_types.h:1017
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:6082
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:6954
@ dnnl_vanilla_rnn
RNN cell.
Definition: dnnl_types.h:1023
#define DNNL_ARG_DIFF_SRC_ITER
A special mnemonic for gradient (diff) of RNN input recurrent hidden state vector.
Definition: dnnl_types.h:2215
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.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10723
@ dnnl_reduction_norm_lp_power_p_sum
Reduction using lp norm without final pth-root.
Definition: dnnl_types.h:1069
@ dnnl_unidirectional
Alias for dnnl_unidirectional_left2right.
Definition: dnnl_types.h:1781
@ inner_product
An inner product primitive.
#define DNNL_ARG_DIFF_DST_ITER
A special mnemonic for gradient (diff) of RNN input recurrent hidden state vector.
Definition: dnnl_types.h:2236
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.
Descriptor for a PReLU backward propagation primitive.
Definition: dnnl.hpp:10540
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8291
@ dnnl_abdc
permuted 4D tensor
Definition: dnnl_types.h:193
@ dnnl_eltwise_pow
Eltwise: pow.
Definition: dnnl_types.h:989
void set_primitive_cache_capacity(int capacity)
Sets a number of primitives that can be held in the primitive cache at a time.
Definition: dnnl.hpp:10848
@ dnnl_cpu_isa_avx2_vnni
Intel AVX2 and Intel Deep Learning Boost (Intel DL Boost) support.
Definition: dnnl_types.h:2541
memory::desc dst_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8286
Primitive descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4838
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a matmul primitive.
Definition: dnnl.hpp:9874
@ dnnl_reduction_max
Reduction using max.
Definition: dnnl_types.h:1053
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8740
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:6986
@ undef
Undefined primitive.
Resampling forward propagation.
Definition: dnnl.hpp:9924
desc(algorithm aalgorithm, 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:10081
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:9615
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:7539
Descriptor for a PReLU forward propagation primitive.
Definition: dnnl.hpp:10453
@ dnnl_aBcd4b
4D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:282
dnnl_engine_kind_t convert_to_c(engine::kind akind)
Converts engine kind enum value from C++ API to C API type.
Definition: dnnl.hpp:1004
Inner product weights gradient primitive.
Definition: dnnl.hpp:7252
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6826
resampling_backward(const primitive_desc &pd)
Constructs a resampling backward propagation primitive.
Definition: dnnl.hpp:10178
@ layer_normalization
A layer normalization primitive.
@ dnnl_reduction_mean
Reduction using mean.
Definition: dnnl_types.h:1061
void get_rnn_data_qparams(float &scale, float &shift)
Returns the quantization scale and shift parameters for RNN data tensors.
Definition: dnnl.hpp:3030
dnnl_status_t DNNL_API dnnl_lstm_forward_desc_init_v2(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 *weights_peephole_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 an LSTM (with or without peephole) forward propagation 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:7427
format_tag
Memory format tag specification.
Definition: dnnl.hpp:1325
@ dnnl_query_matmul_d
matrix multiplication (matmul) descriptor
Definition: dnnl_types.h:2389
void unmap_data(void *mapped_ptr) const
Unmaps a memory object and writes back any changes made to the previously mapped memory buffer.
Definition: dnnl.hpp:2323
#define DNNL_ARG_DIFF_DST_LAYER
A special mnemonic for gradient (diff) of RNN output vector.
Definition: dnnl_types.h:2230
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8920
#define DNNL_ARG_SRC_LAYER
A special mnemonic for RNN input vector.
Definition: dnnl_types.h:2118
struct dnnl_primitive_desc * dnnl_primitive_desc_t
A primitive descriptor handle.
Definition: dnnl_types.h:2022
stream_attr(engine::kind akind)
Constructs stream attributes for a stream that runs on an engine of a particular kind.
Definition: dnnl.hpp:1044
@ dnnl_query_binary_d
binary descriptor
Definition: dnnl_types.h:2387
#define DNNL_MEMORY_ALLOCATE
Special pointer value that indicates that the library needs to allocate an underlying buffer for a me...
Definition: dnnl_types.h:1342
@ dnnl_lbr_gru
GRU cell with linear before reset.
Definition: dnnl_types.h:1035
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.
@ dnnl_forward
Forward data propagation (alias for dnnl_forward_training).
Definition: dnnl_types.h:872
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:10055
dnnl_status_t DNNL_API dnnl_prelu_forward_desc_init(dnnl_prelu_desc_t *prelu_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, const dnnl_memory_desc_t *weights_desc)
Initializes a descriptor for PReLU (leaky ReLU with trainable alpha parameter) forward propagation pr...
@ dnnl_f32
32-bit/single-precision floating point.
Definition: dnnl_types.h:70
@ dnnl_acbdef
permuted 6D tensor
Definition: dnnl_types.h:198
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:5367
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:4585
normalization_flags
Flags for normalization primitives.
Definition: dnnl.hpp:622
Inner product backward propagation primitive.
Definition: dnnl.hpp:7150
@ dnnl_use_global_stats
Use global statistics.
Definition: dnnl_types.h:1095
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:3956
matmul(const primitive_desc &pd)
Constructs a matmul primitive.
Definition: dnnl.hpp:9908
@ dnnl_lrn_across_channels
Local response normalization (LRN) across multiple channels.
Definition: dnnl_types.h:1019
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6671
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:6507
@ dnnl_concat
A (out-of-place) concat primitive.
Definition: dnnl_types.h:893
Inner product forward propagation primitive.
Definition: dnnl.hpp:7025
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:5057
@ dnnl_query_diff_dst_md
destination grad. memory desc
Definition: dnnl_types.h:2401
@ 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:6308
@ dnnl_aBcdef16b
6D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:384
@ dnnl_layer_normalization
A layer normalization primitive.
Definition: dnnl_types.h:911
Primitive descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:9042
Primitive descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:10247
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4885
dnnl_status_t DNNL_API dnnl_set_max_cpu_isa(dnnl_cpu_isa_t isa)
Sets the maximal ISA the library can dispatch to on the CPU.
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:9524
dnnl_data_type_t data_type
Data type of the tensor elements.
Definition: dnnl_types.h:1297
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.
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:7290
primitive_desc(const desc &adesc, const engine &aengine, 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:5729
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:7954
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:9460
#define DNNL_ARG_BIAS
Bias tensor argument.
Definition: dnnl_types.h:2189
@ dnnl_abcdefgh
plain 8D tensor
Definition: dnnl_types.h:185
An opaque structure to describe a primitive.
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:5307
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5060
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:8236
convolution_forward()=default
Default constructor. Produces an empty object.
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6780
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5431
stream(const engine &aengine, flags aflags=flags::default_flags, const stream_attr &attr=stream_attr())
Constructs a stream for the specified engine and with behavior controlled by the specified flags.
Definition: dnnl.hpp:1105
@ dnnl_abcdefghij
plain 10D tensor
Definition: dnnl_types.h:187
@ dnnl_cpu_isa_all
Any ISA (excepting those listed as initial support)
Definition: dnnl_types.h:2502
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.
memory::desc weights_projection_desc() const
Returns weights projection memory descriptor.
Definition: dnnl.hpp:8270
deconvolution_backward_data()=default
Default constructor. Produces an empty object.
@ dnnl_query_op_d
op descriptor
Definition: dnnl_types.h:2373
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7910
primitive_desc(const desc &adesc, const engine &aengine, 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:9668
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:2896
dnnl_primitive_kind_t convert_to_c(primitive::kind akind)
Converts primitive kind enum value from C++ API to C API type.
Definition: dnnl.hpp:371
Primitive descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:4121
@ 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:7439
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition: dnnl_types.h:1165
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.
primitive_desc(const desc &adesc, const engine &aengine, 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:6934
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.
dnnl_status_t DNNL_API dnnl_prelu_backward_desc_init(dnnl_prelu_desc_t *prelu_desc, const dnnl_memory_desc_t *data_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *diff_weights_desc)
Initializes a descriptor for PReLU (leaky ReLU with trainable alpha parameter) backward propagation p...
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:9124
vanilla_rnn_forward()=default
Default constructor. Produces an empty object.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5885
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_abcdegf
permuted 7D tensor
Definition: dnnl_types.h:216
@ dnnl_abcd
plain 4D tensor
Definition: dnnl_types.h:180
dnnl_status_t DNNL_API dnnl_post_ops_append_dw_k3s1p1(dnnl_post_ops_t post_ops, dnnl_data_type_t weights_data_type, dnnl_data_type_t bias_data_type, dnnl_data_type_t dst_data_type, dnnl_dim_t count, int mask, const float *scales)
Appends a depthwise post-op convolution with stride 1.
desc(prop_kind aprop_kind, const memory::desc &data_desc, int softmax_axis)
Constructs a descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:6030
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:7915
desc(const dims &adims, data_type adata_type, const dims &strides, bool allow_empty=false)
Constructs a memory descriptor by strides.
Definition: dnnl.hpp:1975
Descriptor for a layer normalization backward propagation primitive.
Definition: dnnl.hpp:6863
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:9108
@ dnnl_u8
8-bit unsigned integer.
Definition: dnnl_types.h:76
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:6371
@ dnnl_query_workspace_md
workspace memory desc
Definition: dnnl_types.h:2402
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8242
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:9900
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5985
@ dnnl_format_tag_last
Just a sentinel, not real memory format tag.
Definition: dnnl_types.h:466
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:10064
@ dnnl_query_deconvolution_d
deconvolution descriptor
Definition: dnnl_types.h:2375
void get_rnn_weights_qparams(int &mask, std::vector< float > &scales)
Returns the quantization scaling factors for RNN projection weights tensors.
Definition: dnnl.hpp:3092
#define DNNL_ARG_DST_ITER
A special mnemonic for RNN input recurrent hidden state vector.
Definition: dnnl_types.h:2150
prelu_forward()=default
Default constructor. Produces an empty object.
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:8225
@ dnnl_logsoftmax
A logsoftmax primitive.
Definition: dnnl_types.h:921
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:4162
desc(prop_kind aprop_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:9212
@ dnnl_format_tag_any
Undefined memory format tag.
Definition: dnnl_types.h:169
#define DNNL_ARG_DIFF_WEIGHTS_PROJECTION
A special mnemonic for diff of RNN weights applied to the projection weights.
Definition: dnnl_types.h:2272
@ dnnl_deconvolution_direct
Direct deconvolution.
Definition: dnnl_types.h:948
memory::desc dst_iter_c_desc() const
Returns destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:7479
handle(T t, bool weak=false)
Constructs a handle wrapper object from a C API handle.
Definition: dnnl.hpp:176
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:889
void append_binary(algorithm aalgorithm, const memory::desc &src1_desc)
Appends a binary post-op.
Definition: dnnl.hpp:2711
Primitive descriptor for a matmul primitive.
Definition: dnnl.hpp:9848
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, const pooling_v2_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a pooling v2 (dilated pooling) backward propagation primitive.
Definition: dnnl.hpp:10401
Primitive descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6466
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:9895
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:1628
@ dnnl_stream_default_flags
Default stream configuration.
Definition: dnnl_types.h:2427
primitive_desc(const desc &adesc, const engine &aengine, 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:5274
#define DNNL_ARG_WEIGHTS_LAYER
A special mnemonic for RNN weights applied to the layer input.
Definition: dnnl_types.h:2168
A descriptor of a shuffle operation.
Definition: dnnl_types.h:1419
@ dnnl_eltwise_logsigmoid
Eltwise: logsigmoid.
Definition: dnnl_types.h:995
primitive_desc(const desc &adesc, const engine &aengine, 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:6351
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:10423
memory::desc src_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8699
desc(algorithm aalgorithm, 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:4482
Primitive descriptor for a batch normalization backward propagation primitive.
Definition: dnnl.hpp:6594
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6295
@ dnnl_query_reduction_d
reduction descriptor
Definition: dnnl_types.h:2392
Primitive descriptor for a concat primitive.
Definition: dnnl.hpp:3655
gru_backward()=default
Default constructor. Produces an empty object.
@ dnnl_backward_data
Backward data propagation.
Definition: dnnl_types.h:876
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10522
softmax_backward()=default
Default constructor. Produces an empty object.
@ dnnl_acdeb
permuted 5D tensor
Definition: dnnl_types.h:200
Structure containing version information as per Semantic Versioning
Definition: dnnl_types.h:2470
A descriptor of a Batch Normalization operation.
Definition: dnnl_types.h:1659
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:3330
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:3324
@ dnnl_eltwise_exp_use_dst_for_bwd
Eltwise: exp (dst for backward)
Definition: dnnl_types.h:1007
Layer normalization backward propagation primitive.
Definition: dnnl.hpp:6861
@ 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 for a GRU forward propagation primitive.
Definition: dnnl.hpp:8870
dnnl_status_t DNNL_API dnnl_set_verbose(int level)
Configures verbose output to stdout.
Pooling v2 (dilated pooling) backward propagation primitive.
Definition: dnnl.hpp:10315
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:6384
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:7974
softmax_forward()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_post_ops_append_sum_v2(dnnl_post_ops_t post_ops, float scale, dnnl_data_type_t data_type)
Appends an accumulation v2 (sum) to post-ops.
A descriptor of a element-wise operation.
Definition: dnnl_types.h:1441
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:3286
@ dnnl_aBcd16b
4D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:272
@ dnnl_resampling_nearest
Nearest Neighbor Resampling Method.
Definition: dnnl_types.h:1049
layer_normalization_backward()=default
Default constructor. Produces an empty object.
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7473
primitive_desc(const desc &adesc, const engine &aengine, 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:6611
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6820
@ dnnl_rnn
A rnn primitive.
Definition: dnnl_types.h:915
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7744
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:4606
handle< T, traits > & operator=(handle< T, traits > &&)=default
Move assignment operator.
@ undef
Undefined data type (used for empty memory descriptors).
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4611
@ dnnl_aBc32b
3D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:236
memory::desc weights_peephole_desc() const
Returns weights peephole memory descriptor.
Definition: dnnl.hpp:8714
status set_jit_profiling_flags(unsigned flags)
Sets library profiling flags.
Definition: dnnl.hpp:10784
desc(prop_kind aprop_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:6732
desc reshape(const dims &adims, bool allow_empty=false) const
Constructs a memory descriptor by reshaping an existing one.
Definition: dnnl.hpp:2061
@ dnnl_query_num_of_outputs_s32
number of outputs expected
Definition: dnnl_types.h:2353
memory::desc src1_desc() const
Returns the memory descriptor for source #1.
Definition: dnnl.hpp:9786
Pooling forward propagation primitive.
Definition: dnnl.hpp:5556
@ dnnl_cpu_isa_sse41
Intel Streaming SIMD Extensions 4.1 (Intel SSE4.1)
Definition: dnnl_types.h:2505
@ dnnl_abcdfe
permuted 6D tensor
Definition: dnnl_types.h:215
@ dnnl_aBCd2b4c2b
4D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:323
dnnl_status_t DNNL_API dnnl_engine_get_ocl_device(dnnl_engine_t engine, cl_device_id *device)
Returns the OpenCL device associated with an engine.
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:10863
PReLU backward propagation primitive.
Definition: dnnl.hpp:10538
memory::dim query_s64(query what) const
Returns a memory::dim value (same as int64_t).
Definition: dnnl.hpp:3209
status
Status values returned by the library functions.
Definition: dnnl.hpp:10751
Descriptor for a LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9328
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:6977
@ dnnl_abdec
permuted 5D tensor
Definition: dnnl_types.h:194
@ dnnl_reduction_sum
Reduction using sum.
Definition: dnnl_types.h:1057
@ dnnl_cpu_isa_avx2
Intel Advanced Vector Extensions 2 (Intel AVX2)
Definition: dnnl_types.h:2511
@ dnnl_cpu_isa_avx512_core_vnni
Intel AVX-512 and Intel Deep Learning Boost (Intel DL Boost) support for Intel Xeon Scalable processo...
Definition: dnnl_types.h:2528
dnnl_status_t DNNL_API dnnl_post_ops_get_params_dw_k3s1p1(const_dnnl_post_ops_t post_ops, int index, dnnl_data_type_t *weights_data_type, dnnl_data_type_t *bias_data_type, dnnl_data_type_t *dst_data_type, dnnl_dim_t *count, int *mask, const float **scales)
Returns the parameters of an depthwise post-op with stride 1.
primitive_desc(int concat_dimension, const std::vector< memory::desc > &srcs, const engine &aengine, const primitive_attr &attr=primitive_attr())
Constructs a primitive descriptor for an out-of-place concatenation primitive.
Definition: dnnl.hpp:3698
Convolution backward propagation primitive.
Definition: dnnl.hpp:4193
int ndims
Number of dimensions.
Definition: dnnl_types.h:1279
@ dnnl_aBc8b
3D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:262
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7465
T get(bool allow_empty=false) const
Returns the underlying C API handle.
Definition: dnnl.hpp:192
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:3306
primitive_desc()=default
Default constructor. Produces an empty object.
A descriptor of a Layer Normalization operation.
Definition: dnnl_types.h:1692
cpu_isa get_effective_cpu_isa()
Gets the maximal ISA the library can dispatch to on the CPU.
Definition: dnnl.hpp:10826
Primitive descriptor for a reorder primitive.
Definition: dnnl.hpp:3509
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:9686
Elementwise binary operator primitive.
Definition: dnnl.hpp:9712
Descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:5446
desc(algorithm aalgorithm, 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:5146
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:4894
dnnl_status_t DNNL_API dnnl_stream_create_ocl(dnnl_stream_t *stream, dnnl_engine_t engine, cl_command_queue queue)
Creates an execution stream for a given engine associated with an OpenCL command queue.
Descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:7152
@ 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:985
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
stream_attr()=default
Constructs default (empty) stream attributes.
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.
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:9491
dnnl_status_t DNNL_API dnnl_engine_create(dnnl_engine_t *engine, dnnl_engine_kind_t kind, size_t index)
Creates an engine.
@ dnnl_eltwise_logistic_use_dst_for_bwd
Eltwise: logistic (dst for backward)
Definition: dnnl_types.h:1005
oneDNN exception class.
Definition: dnnl.hpp:91
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6823
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10295
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:9944
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
@ dnnl_abcdefg
plain 7D tensor
Definition: dnnl_types.h:184
@ dnnl_pooling_avg_include_padding
Average pooling include padding.
Definition: dnnl_types.h:1013
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6829
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:9139
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a PReLU forward propagation primitive.
Definition: dnnl.hpp:10505
memory::data_type data_type() const
Returns the data type of the memory descriptor.
Definition: dnnl.hpp:2131
@ pooling_v2
A pooling version 2 primitive.
dnnl_status_t DNNL_API dnnl_set_jit_profiling_jitdumpdir(const char *dir)
Sets JIT dump output path.
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:9838
dnnl_dim_t dim
Integer type for representing dimension sizes and indices.
Definition: dnnl.hpp:1232
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:5036
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:7712
primitive_desc(const memory::desc &dst, int concat_dimension, const std::vector< memory::desc > &srcs, const engine &aengine, const primitive_attr &attr=primitive_attr())
Constructs a primitive descriptor for an out-of-place concatenation primitive.
Definition: dnnl.hpp:3671
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:7366
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8732
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:5257
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:5632
@ dnnl_deconvolution
A deconvolution primitive.
Definition: dnnl_types.h:899
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:2792
@ dnnl_aBcde4b
5D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:343
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:10298
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:5408
dnnl_status_t DNNL_API dnnl_memory_map_data(const_dnnl_memory_t memory, void **mapped_ptr)
Maps a memory object and returns a host-side pointer to a memory buffer with a copy of its contents.
desc(const memory::desc &data_desc, const memory::desc &weight_desc, const memory::desc &diff_data_desc, const memory::desc &diff_weights_desc)
Constructs a descriptor for a PReLU backward propagation primitive.
Definition: dnnl.hpp:10551
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6974
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:8780
Pooling backward propagation primitive.
Definition: dnnl.hpp:5668
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:5054
@ dnnl_stream_out_of_order
Out-of-order execution.
Definition: dnnl_types.h:2425
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:7131
A base class for descriptors of all primitives that have an operation descriptor and that support ite...
Definition: dnnl.hpp:3839
lstm_backward(const primitive_desc &pd)
Constructs an LSTM backward propagation primitive.
Definition: dnnl.hpp:8806
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.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a pooling v2 (dilated pooling) forward propagation primitive fr...
Definition: dnnl.hpp:10289
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:9789
void reset(T t, bool weak=false)
Resets the handle wrapper objects to wrap a new C API handle.
Definition: dnnl.hpp:183
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6091
primitive_desc(const desc &adesc, const engine &aengine, 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:7320
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:9514
memory::desc diff_weights_projection_desc() const
Returns diff weights projection memory descriptor.
Definition: dnnl.hpp:7524
@ dnnl_convolution
A convolution primitive.
Definition: dnnl_types.h:897
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:7969
flags
Stream flags. Can be combined using the bitwise OR operator.
Definition: dnnl.hpp:1083
memory::desc diff_src_iter_c_desc() const
Returns diff source recurrent cell state memory descriptor.
Definition: dnnl.hpp:7499
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:10301
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6679
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:8686
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:5761
dnnl_status_t DNNL_API dnnl_stream_get_ocl_command_queue(dnnl_stream_t stream, cl_command_queue *queue)
Returns the OpenCL command queue associated with an execution stream.
desc(const memory::desc &diff_data_desc, int axis, int group_size)
Constructs a descriptor for a shuffle backward propagation primitive.
Definition: dnnl.hpp:9641
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:5533
desc()=default
Default constructor. Produces an empty object.
resampling_backward()=default
Default constructor. Produces an empty object.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:5988
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:6989
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:10426
desc(algorithm aalgorithm, 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:5190
An opaque structure for primitive descriptor attributes.
dnnl_status_t DNNL_API dnnl_set_primitive_cache_capacity(int capacity)
Sets a number of primitives that can be held in the primitive cache at a time.
memory::desc diff_bias_desc() const
Returns the diff bias memory descriptor.
Definition: dnnl.hpp:7369
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:4769
dnnl_status_t DNNL_API dnnl_stream_get_engine(const_dnnl_stream_t stream, dnnl_engine_t *engine)
Returns the engine of a stream object.
@ dnnl_lrn
An LRN primitive.
Definition: dnnl_types.h:907
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:7964
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...
@ dnnl_query_src_md
source memory desc
Definition: dnnl_types.h:2396
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.
@ prelu
A PReLU primitive.
rnn_primitive_desc_base()=default
Default constructor. Produces an empty object.
desc(algorithm aalgorithm, 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:4267
@ 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.
void get_params_sum(int index, float &scale, memory::data_type &data_type) const
Returns the parameters of an accumulation (sum) post-op.
Definition: dnnl.hpp:2487
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:9509
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:9134
memory::desc diff_dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6399
primitive_attr(dnnl_primitive_attr_t attr)
Creates primitive attributes from a C API dnnl_primitive_attr_t handle.
Definition: dnnl.hpp:2762
pooling_backward(const primitive_desc &pd)
Constructs a pooling backward propagation primitive.
Definition: dnnl.hpp:5781
Descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:9556
void execute(const stream &astream, memory &src, memory &dst) const
Executes the reorder primitive.
Definition: dnnl.hpp:3626
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:9612
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3724
dnnl_scratchpad_mode_t
Scratchpad mode.
Definition: dnnl_types.h:2033
Primitive attributes.
Definition: dnnl.hpp:2746
softmax_forward(const primitive_desc &pd)
Constructs a softmax forward propagation primitive.
Definition: dnnl.hpp:6100
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:9494
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:7340
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:7134
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:9470
dnnl_status_t DNNL_API dnnl_stream_attr_destroy(dnnl_stream_attr_t attr)
Destroys execution stream attributes.
@ dnnl_data_type_undef
Undefined data type, used for empty memory descriptors.
Definition: dnnl_types.h:64
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a reduction primitive.
Definition: dnnl.hpp:10696
shuffle_backward(const primitive_desc &pd)
Constructs a shuffle backward propagation primitive.
Definition: dnnl.hpp:9698
Primitive descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:7178
primitive_desc()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_get_primitive_cache_capacity(int *capacity)
Returns the number of primitives that can be held in the primitive cache at the same time.
@ dnnl_query_engine
execution engine
Definition: dnnl_types.h:2349
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.
#define DNNL_ARG_DIFF_SRC_LAYER
A special mnemonic for gradient (diff) of RNN input vector.
Definition: dnnl_types.h:2209
@ dnnl_query_softmax_d
softmax descriptor
Definition: dnnl_types.h:2378
A descriptor of resampling operation.
Definition: dnnl_types.h:1915
@ dnnl_binary_sub
Binary sub.
Definition: dnnl_types.h:1047
@ 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:9311
Descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:4196
primitive_desc()=default
Default constructor. Produces an empty object.
@ dnnl_eltwise_elu_use_dst_for_bwd
Eltwise: exponential linear unit (elu) (dst for backward)
Definition: dnnl_types.h:1001
PReLU forward propagation primitive.
Definition: dnnl.hpp:10451
Descriptor for a shuffle primitive backward propagation primitive.
Definition: dnnl.hpp:9631
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6088
@ dnnl_cpu
CPU engine.
Definition: dnnl_types.h:1983
Memory object.
Definition: dnnl.hpp:1230
dnnl_status_t DNNL_API dnnl_engine_get_ocl_context(dnnl_engine_t engine, cl_context *context)
Returns the OpenCL context associated with an engine.
An opaque structure for a chain of post operations.
pooling_v2_backward()=default
Default constructor. Produces an empty object.
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:7547
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:2866
desc(algorithm aalgorithm, 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:5104
@ dnnl_query_undef
no query
Definition: dnnl_types.h:2347
@ undef
Undefined RNN flags.
eltwise_forward()=default
Default constructor. Produces an empty object.
@ dnnl_eltwise_swish
Eltwise: swish.
Definition: dnnl_types.h:981
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:110
eltwise_backward(const primitive_desc &pd)
Constructs an eltwise backward propagation primitive.
Definition: dnnl.hpp:6000
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:9767
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:8898
memory::desc diff_weights_desc(int idx) const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:3295
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8727
@ undef
Undefined propagation kind.
inner_product_forward()=default
Default constructor. Produces an empty object.
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6674
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.
@ dnnl_abcdefhg
permuted 8D tensor
Definition: dnnl_types.h:217
primitive(const_dnnl_primitive_desc_t c_pd)
Constructs a primitive from a C API primitive descriptor.
status set_verbose(int level)
Configures verbose output to stdout.
Definition: dnnl.hpp:10769
#define DNNL_ARG_DIFF_SRC_ITER_C
A special mnemonic for gradient (diff) of RNN input recurrent cell state vector.
Definition: dnnl_types.h:2221
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6517
Primitive descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:7081
oneDNN C API handle wrapper class.
Definition: dnnl.hpp:143
desc(algorithm aalgorithm, 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:5461
pooling_backward()=default
Default constructor. Produces an empty object.
primitive_desc(const desc &adesc, const engine &aengine, const primitive_attr &attr=primitive_attr(), bool allow_empty=false)
Constructs a primitive descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:9594
memory::desc diff_weights_peephole_desc() const
Returns diff weights peephole memory descriptor.
Definition: dnnl.hpp:8770
memory::desc src_desc(int idx) const
Returns a source memory descriptor.
Definition: dnnl.hpp:3250
Abstract threadpool interface.
Definition: dnnl_threadpool_iface.hpp:27
reduction()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_primitive_destroy(dnnl_primitive_t primitive)
Destroys a primitive.
primitive_desc(const memory::desc &dst, const std::vector< float > &scales, const std::vector< memory::desc > &srcs, const engine &aengine, const primitive_attr &attr=primitive_attr())
Constructs a primitive descriptor for a sum primitive.
Definition: dnnl.hpp:3762
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8255
@ dnnl_binary_div
Binary div.
Definition: dnnl_types.h:1045
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:7353
Descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6436
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:9776
primitive_desc()=default
Default constructor. Produces an empty object.
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_eltwise_gelu_erf
Eltwise: erf-based gelu.
Definition: dnnl_types.h:991
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:7918
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:9473
desc(algorithm aalgorithm, 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:5236
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7413
convolution_backward_data(const primitive_desc &pd)
Constructs a convolution backward propagation primitive.
Definition: dnnl.hpp:4358
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:10148
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6660
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.
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4868
LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9174
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:10169
batch_normalization_backward(const primitive_desc &pd)
Constructs a batch normalization backward propagation primitive.
Definition: dnnl.hpp:6688
Memory descriptor.
Definition: dnnl_types.h:1277
@ dnnl_backward_bias
Backward bias propagation.
Definition: dnnl_types.h:880
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a reduction primitive.
Definition: dnnl.hpp:10710
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7731
memory::desc src_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8250
memory(const desc &md, const engine &aengine, void *handle)
Constructs a memory object.
Definition: dnnl.hpp:2191
@ dnnl_matmul
A matrix multiplication primitive.
Definition: dnnl_types.h:923
memory::desc weights_projection_desc() const
Returns weights projection memory descriptor.
Definition: dnnl.hpp:7451
void set_output_scales(int mask, const std::vector< float > &scales)
Sets output scaling factors correspondence mask and values.
Definition: dnnl.hpp:2848
convolution_backward_weights(const primitive_desc &pd)
Constructs a convolution weights gradient primitive.
Definition: dnnl.hpp:4628
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:6167
logsoftmax_forward(const primitive_desc &pd)
Constructs a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6304
bool operator!=(const handle &other) const
Inequality operator.
Definition: dnnl.hpp:227
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:4180
desc(prop_kind aprop_kind, const memory::desc &data_desc, int logsoftmax_axis)
Constructs a descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6230
dnnl_cpu_isa_t
CPU instruction set flags.
Definition: dnnl_types.h:2500
#define DNNL_ARG_SRC_ITER
A special mnemonic for RNN input recurrent hidden state vector.
Definition: dnnl_types.h:2127
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:7137
bool operator!=(const desc &other) const
An inequality operator.
Definition: dnnl.hpp:2158
Descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:5670
Primitive descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:9579
desc(algorithm aalgorithm, 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:4437
desc(algorithm aalgorithm, 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:4394
batch_normalization_forward()=default
Default constructor. Produces an empty object.
desc(algorithm aalgorithm, const memory::desc &src_desc, const memory::desc &dst_desc, float p, float eps)
Constructs a descriptor for a reduction primitive using algorithm specific parameters,...
Definition: dnnl.hpp:10674
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:7215
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:4891
Descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7603
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:9716
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:8883
@ dnnl_nChw4c
4D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcd4b
Definition: dnnl_types.h:610
@ scratchpad_engine
scratchpad engine
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:8745
dnnl_status_t DNNL_API dnnl_pooling_v2_forward_desc_init(dnnl_pooling_v2_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 dilation, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for pooling v2 (pooling with dilation support) forward propagation primitive...
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:9483
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:7358
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:3393
@ dnnl_bacd
permuted 4D tensor
Definition: dnnl_types.h:203
@ 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:6917
memory::desc scratchpad_desc() const
Returns the scratchpad memory descriptor.
Definition: dnnl.hpp:3351
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:607
Primitive descriptor for a shuffle backward propagation primitive.
Definition: dnnl.hpp:9650
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:4999
void get_params_sum(int index, float &scale) const
Returns the parameters of an accumulation (sum) post-op.
Definition: dnnl.hpp:2477
void get_rnn_weights_projection_qparams(int &mask, std::vector< float > &scales)
Returns the quantization scaling factors for RNN projection weights tensors.
Definition: dnnl.hpp:3161
@ dnnl_query_eltwise_d
eltwise descriptor
Definition: dnnl_types.h:2377
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:4617
engine(kind akind, size_t index)
Constructs an engine.
Definition: dnnl.hpp:909
Descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:9714
Descriptor for a deconvolution weights gradient primitive.
Definition: dnnl.hpp:5075
@ dnnl_binary_max
Binary max.
Definition: dnnl_types.h:1041
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a pooling v2 (dilated pooling) backward propagation primitive f...
Definition: dnnl.hpp:10415
memory::desc src_desc(int idx=0) const
Returns a source memory descriptor.
Definition: dnnl.hpp:3721
@ dnnl_cba
permuted 3D tensor
Definition: dnnl_types.h:208
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7459
A descriptor of reduction operation.
Definition: dnnl_types.h:1943
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 oneDNN C API handle.
Definition: dnnl.hpp:127
memory::desc weights_desc(int idx) const
Returns a weights memory descriptor.
Definition: dnnl.hpp:3268
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:9499
@ dnnl_query_num_of_inputs_s32
number of inputs expected
Definition: dnnl_types.h:2352
std::vector< dim > dims
Vector of dimensions.
Definition: dnnl.hpp:1235
Primitive descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:6130
Deconvolution backward propagation primitive.
Definition: dnnl.hpp:4907
dnnl_status_t DNNL_API dnnl_primitive_attr_get_rnn_data_qparams(const_dnnl_primitive_attr_t attr, float *scale, float *shift)
Returns the quantization scale and shift parameters for RNN data tensors.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6523
@ dnnl_acbde
permuted 5D tensor
Definition: dnnl_types.h:197
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:8785
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.
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:6071
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:2959
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7718
@ dnnl_dcab
permuted 4D tensor
Definition: dnnl_types.h:210
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:7095
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8936
A memory descriptor.
Definition: dnnl.hpp:1923
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:4171
Base class for all computational primitives.
Definition: dnnl.hpp:276
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:8210
dnnl_alg_kind_t
Kinds of algorithms.
Definition: dnnl_types.h:939
@ dnnl_deconvolution_winograd
Winograd deconvolution.
Definition: dnnl_types.h:950
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:10525
const void * const_dnnl_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: dnnl_types.h:1354
@ dnnl_cpu_isa_avx512_mic
Intel Advanced Vector Extensions 512 (Intel AVX-512) subset for Intel Xeon Phi processors x200 Series...
Definition: dnnl_types.h:2515
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6980
engine get_engine() const
Returns the associated engine.
Definition: dnnl.hpp:1129
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:5617
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:1269
@ dnnl_eltwise_exp
Eltwise: exponent.
Definition: dnnl_types.h:972
@ dnnl_abcdef
plain 6D tensor
Definition: dnnl_types.h:183
convolution_forward(const primitive_desc &pd)
Constructs a convolution forward propagation primitive.
Definition: dnnl.hpp:4189
bool operator==(const desc &other) const
An equality operator.
Definition: dnnl.hpp:2150
Shuffle forward propagation primitive.
Definition: dnnl.hpp:9554
lbr_gru_forward(const primitive_desc &pd)
Constructs an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9322
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a resampling forward propagation primitive.
Definition: dnnl.hpp:10035
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_aBCdef2b4c2b
6D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:392
dnnl_status_t DNNL_API dnnl_lstm_forward_desc_init_v3(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 *weights_peephole_desc, const dnnl_memory_desc_t *weights_projection_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 an LSTM (with or without peephole and with or without recurrent projecti...
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:3923
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:9824
bool is_zero() const
Checks whether the memory descriptor is zero (empty).
Definition: dnnl.hpp:2144
@ dnnl_bidirectional_sum
Bidirectional execution of RNN primitive with summation of the results.
Definition: dnnl_types.h:1779
lstm_forward(const primitive_desc &pd)
Constructs an LSTM forward propagation primitive.
Definition: dnnl.hpp:8302
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:8765
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8275
@ dnnl_eltwise_linear
Eltwise: linear.
Definition: dnnl_types.h:964
@ dnnl_nCw16c
3D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBc16b
Definition: dnnl_types.h:619
oneDNN namespace
Definition: dnnl.hpp:81
@ dnnl_vanilla_gru
GRU cell.
Definition: dnnl_types.h:1027
@ logsoftmax
A logsoftmax primitive.
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:9300
@ dnnl_abc
plain 3D tensor
Definition: dnnl_types.h:179
dnnl_status_t DNNL_API dnnl_primitive_attr_set_rnn_weights_projection_qparams(dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask, const float *scales)
Sets quantization scaling factors for RNN projection weights tensors.
void set_rnn_weights_projection_qparams(int mask, const std::vector< float > &scales)
Sets quantization scaling factors for RNN projection weights tensors.
Definition: dnnl.hpp:3133
An opaque structure to describe an execution stream.
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:9890
Descriptor for a convolution weights gradient primitive.
Definition: dnnl.hpp:4364
@ impl_info_str
implementation name
Descriptor for a deconvolution backward propagation primitive.
Definition: dnnl.hpp:4909
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:9303
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5868
A descriptor of a binary operation.
Definition: dnnl_types.h:1867
pooling_forward()=default
Default constructor. Produces an empty object.
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:9478
engine get_dst_engine() const
Returns the engine on which the destination memory is allocated.
Definition: dnnl.hpp:3589
@ 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(const desc &adesc, const engine &aengine, 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:7872
dnnl_status_t DNNL_API dnnl_post_ops_append_binary(dnnl_post_ops_t post_ops, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src1_desc)
Appends a binary post-op.
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:5748
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:942
dnnl_status_t DNNL_API dnnl_primitive_attr_get_rnn_weights_projection_qparams(const_dnnl_primitive_attr_t attr, dnnl_dim_t *count, int *mask, const float **scales)
Returns the quantization scaling factors for RNN projection weights tensors.
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:4135
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.
@ dnnl_reduction_min
Reduction using min.
Definition: dnnl_types.h:1055
sum(const primitive_desc &pd)
Constructs a sum primitive.
Definition: dnnl.hpp:3829
concat(const primitive_desc &pd)
Constructs a concatenation primitive.
Definition: dnnl.hpp:3732
desc(prop_kind aprop_kind, const memory::desc &data_desc, const memory::desc &weight_desc)
Constructs a descriptor for a PReLU forward propagation primitive.
Definition: dnnl.hpp:10464
@ dnnl_query_diff_src_md
source gradient memory desc
Definition: dnnl_types.h:2397
@ dnnl_abcdefgih
permuted 9D tensor
Definition: dnnl_types.h:218
void get_params_eltwise(int index, float &scale, algorithm &aalgorithm, float &alpha, float &beta) const
Returns parameters of an elementwise post-op.
Definition: dnnl.hpp:2523
Vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7601
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:9465
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9265
cl_command_queue get_ocl_command_queue() const
Returns the underlying OpenCL queue object.
Definition: dnnl.hpp:1139
vanilla_rnn_backward(const primitive_desc &pd)
Constructs a vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7985
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:9689
desc(prop_kind aprop_kind, algorithm aalgorithm, const memory::desc &data_desc, float alpha=0, float beta=0)
Constructs a descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5825
void get_params_binary(int index, algorithm &aalgorithm, memory::desc &src1_desc) const
Returns the parameters of a binary post-op.
Definition: dnnl.hpp:2722
A descriptor of a pooling operation.
Definition: dnnl_types.h:1566
deconvolution_forward(const primitive_desc &pd)
Constructs a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4903
const version_t * version()
Returns library version information.
Definition: dnnl.hpp:10774
@ dnnl_forward_scoring
Forward data propagation (alias for dnnl_forward_inference).
Definition: dnnl_types.h:870
binary()=default
Default constructor. Produces an empty object.
@ dnnl_aBcde8b
5D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:358
reorder(const primitive_desc &pd)
Constructs a reorder primitive.
Definition: dnnl.hpp:3605
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:7122
desc(const dims &adims, data_type adata_type, format_tag aformat_tag, bool allow_empty=false)
Constructs a memory descriptor.
Definition: dnnl.hpp:1947
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:7165
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:2427
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:9287
algorithm
Kinds of algorithms.
Definition: dnnl.hpp:477
Primitive descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:4288
memory::desc dst_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8735
@ dnnl_prop_kind_undef
Undefined propagation type.
Definition: dnnl_types.h:861
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.
desc(prop_kind aprop_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:6879
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6654
primitive_desc()=default
Default constructor. Produces an empty object.
kind get_kind() const
Returns the kind of the primitive.
Definition: dnnl.hpp:382
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:5323
@ 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 dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:10726
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:6055
prelu_backward(const primitive_desc &pd)
Constructs a prelu backward propagation primitive.
Definition: dnnl.hpp:10634
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1791
desc(prop_kind aprop_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 &weights_peephole_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 (with or without peephole) forward propagation primitive.
Definition: dnnl.hpp:8110
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:9504
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:2350
@ dnnl_unidirectional_left2right
Unidirectional execution of RNN primitive from left to right.
Definition: dnnl_types.h:1771
@ dnnl_prelu
A PReLU primitive.
Definition: dnnl_types.h:931
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:5558
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:3578
Primitive descriptor for eltwise backward propagation.
Definition: dnnl.hpp:5930
Descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6216
dnnl_status_t DNNL_API dnnl_primitive_attr_get_rnn_weights_qparams(const_dnnl_primitive_attr_t attr, dnnl_dim_t *count, int *mask, const float **scales)
Returns the quantization scaling factors for RNN weights tensors.
@ dnnl_eltwise_elu
Eltwise: exponential linear unit (elu)
Definition: dnnl_types.h:956
memory::desc src0_desc() const
Returns the memory descriptor for source #0.
Definition: dnnl.hpp:9783
@ in_order
In-order execution.
T * map_data() const
Maps a memory object and returns a host-side pointer to a memory buffer with a copy of its contents.
Definition: dnnl.hpp:2306
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4349
threadpool_iface * get_threadpool()
Returns the threadpool attribute.
Definition: dnnl.hpp:1069
primitive_desc()=default
Default constructor. Produces an empty object.
@ dnnl_reduction
A reduction primitive.
Definition: dnnl_types.h:929
batch_normalization_forward(const primitive_desc &pd)
Constructs a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6559
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:8750
primitive_desc()=default
Default constructor. Produces an empty object.
shuffle_forward(const primitive_desc &pd)
Constructs a shuffle forward propagation primitive.
Definition: dnnl.hpp:9624
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:3818
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:7892
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:622
scratchpad_mode get_scratchpad_mode() const
Returns the scratchpad mode.
Definition: dnnl.hpp:2766
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.
@ dnnl_aBcde32b
5D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:341
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:1930
@ 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.
void append_eltwise(float scale, algorithm aalgorithm, float alpha, float beta)
Appends an elementwise post-op.
Definition: dnnl.hpp:2509
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7701
@ dnnl_vanilla_lstm
LSTM cell.
Definition: dnnl_types.h:1025
@ dnnl_any_engine
An unspecified engine.
Definition: dnnl_types.h:1981
lrn_backward()=default
Default constructor. Produces an empty object.
Base class for primitive descriptors for RNN primitives.
Definition: dnnl.hpp:7394
primitive_attr()
Constructs default (empty) primitive attributes.
Definition: dnnl.hpp:2750
@ dnnl_nCdhw4c
5D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcde4b
Definition: dnnl_types.h:598
Primitive descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:5474
@ dnnl_resampling
A resampling primitive.
Definition: dnnl_types.h:925
LSTM forward propagation primitive.
Definition: dnnl.hpp:7989
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:7228
@ dnnl_cpu_isa_avx
Intel Advanced Vector Extensions (Intel AVX)
Definition: dnnl_types.h:2508
@ dnnl_bca
permuted 3D tensor
Definition: dnnl_types.h:205
engine get_engine() const
Returns the engine of the primitive descriptor.
Definition: dnnl.hpp:3193
@ dnnl_reduction_norm_lp_max
Reduction using lp norm.
Definition: dnnl_types.h:1063
dnnl_prop_kind_t
Kinds of propagation.
Definition: dnnl_types.h:858
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:9095
const char * impl_info_str() const
Returns implementation name.
Definition: dnnl.hpp:3197
@ dnnl_query_scratchpad_md
scratchpad memory desc
Definition: dnnl_types.h:2403
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:4676
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8260
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6520
memory::desc query_md(query what, int idx=0) const
Returns a memory descriptor.
Definition: dnnl.hpp:3230
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5852
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:6666
desc(prop_kind aprop_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:6580
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.
@ dnnl_eltwise_gelu
Eltwise: tanh-based gelu (alias for dnnl_eltwise_gelu_tanh)
Definition: dnnl_types.h:979
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:4888
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:2398
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a pooling v2 (dilated pooling) forward propagation primitive.
Definition: dnnl.hpp:10261
primitive_desc(const desc &adesc, const engine &aengine, const pooling_v2_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a pooling v2 (dilated pooling) backward propagation primitive.
Definition: dnnl.hpp:10381
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7002
primitive_desc(const std::vector< float > &scales, const std::vector< memory::desc > &srcs, const engine &aengine, const primitive_attr &attr=primitive_attr())
Constructs a primitive descriptor for a sum primitive.
Definition: dnnl.hpp:3792
@ default_flags
Default stream configuration.
deconvolution_backward_weights(const primitive_desc &pd)
Constructs a deconvolution weights gradient primitive.
Definition: dnnl.hpp:5334
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a matmul primitive.
Definition: dnnl.hpp:9860
primitive_desc(const desc &adesc, const engine &aengine, 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:5490
Base class for all primitive descriptors.
Definition: dnnl.hpp:3185
Descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:6106
reorder()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:10622
primitive_desc()=default
Default constructor. Produces an empty object.
desc(prop_kind aprop_kind, algorithm aalgorithm, 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:4817
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6480
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:2382
primitive_desc(const desc &adesc, const engine &aengine, 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:9058
dnnl_status_t DNNL_API dnnl_post_ops_create(dnnl_post_ops_t *post_ops)
Creates empty post-ops sequence.
@ dnnl_eltwise_tanh_use_dst_for_bwd
Eltwise: hyperbolic tangent non-linearity (tanh) (dst for backward)
Definition: dnnl_types.h:999
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10052
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:4338
Descriptor for an LSTM backward propagation primitive.
Definition: dnnl.hpp:8308
inner_product_backward_weights()=default
Default constructor. Produces an empty object.
pooling_v2_forward(const primitive_desc &pd)
Constructs a pooling v2 (dilated pooling) forward propagation primitive.
Definition: dnnl.hpp:10311
status set_jit_dump(int enable)
Configures dumping of JIT-generated code.
Definition: dnnl.hpp:10779
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:9121
memory::desc diff_dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6191
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7739
Deconvolution forward propagation primitive.
Definition: dnnl.hpp:4642
Local response normalization (LRN) backward propagation primitive.
Definition: dnnl.hpp:5444
@ eltwise
An element-wise primitive.
desc(prop_kind aprop_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:8597
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6292
primitive_desc()=default
Default constructor. Produces an empty object.
gru_forward()=default
Default constructor. Produces an empty object.
dnnl_alg_kind_t cell_kind
RNN cell kind.
Definition: dnnl_types.h:1794
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6188
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, const prelu_forward::primitive_desc &hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor for a PReLU backward propagation primitive.
Definition: dnnl.hpp:10601
Descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:6016
shuffle_backward()=default
Default constructor. Produces an empty object.
@ dnnl_undefined_primitive
Undefined primitive.
Definition: dnnl_types.h:887
desc(prop_kind aprop_kind, const memory::desc &data_desc, int axis, int group_size)
Constructs a descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:9568
memory::desc diff_src_iter_c_desc() const
Returns diff source recurrent cell state memory descriptor.
Definition: dnnl.hpp:8755
Primitive descriptor for an RNN backward propagation primitive.
Definition: dnnl.hpp:7855
Out-of-place summation (sum) primitive.
Definition: dnnl.hpp:3746
Primitive descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6241
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.
memory::desc weights_projection_desc() const
Returns weights projection memory descriptor.
Definition: dnnl.hpp:8719
layer_normalization_forward()=default
Default constructor. Produces an empty object.
@ dnnl_eltwise_soft_relu
Eltwise: soft_relu.
Definition: dnnl_types.h:968
handle(const handle< T, traits > &)=default
Copy constructor.
@ dnnl_abcdefghikj
permuted 11D tensor
Definition: dnnl_types.h:220
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:9100
desc(algorithm aalgorithm, 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:5917
Primitive descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7671
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:5643
#define DNNL_ARG_FROM
A special mnemonic for reorder source argument.
Definition: dnnl_types.h:2121
@ dnnl_unidirectional_right2left
Unidirectional execution of RNN primitive from right to left.
Definition: dnnl_types.h:1773
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6255
@ dnnl_aBcd8b
4D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:303
gru_backward(const primitive_desc &pd)
Constructs a GRU backward propagation primitive.
Definition: dnnl.hpp:9170
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5320
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6814
@ dnnl_ab
plain 2D tensor
Definition: dnnl_types.h:178
Primitive descriptor for a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:6334
@ dnnl_query_scratchpad_engine
(scratch) memory, additional to all inputs and outputs memory (bytes)
Definition: dnnl_types.h:2361
desc(algorithm aalgorithm, 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:4224
@ dnnl_pooling_v2
A pooling version 2 primitive (pooling with dilation support).
Definition: dnnl_types.h:927
void set_rnn_weights_qparams(int mask, const std::vector< float > &scales)
Sets quantization scaling factors for RNN weights tensors.
Definition: dnnl.hpp:3066
@ dnnl_runtime_error
Primitive or engine failed on execution.
Definition: dnnl_types.h:51
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-op.
#define DNNL_ARG_DST_LAYER
A special mnemonic for RNN output vector. An alias for DNNL_ARG_DST_0.
Definition: dnnl_types.h:2144
desc(algorithm aalgorithm, 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:4529
Descriptor for a resampling backward propagation primitive.
Definition: dnnl.hpp:10070
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:5294
GRU backward propagation primitive.
Definition: dnnl.hpp:8959
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, 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:5967
@ dnnl_query_exec_arg_md
memory desc of an execute argument
Definition: dnnl_types.h:2404
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8724
memory()=default
Default constructor.
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8696
Descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4644
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:6644
@ primitive_kind
primitive kind
@ dnnl_pooling_avg_exclude_padding
Average pooling exclude padding.
Definition: dnnl_types.h:1015
@ dnnl_binary_add
Binary add.
Definition: dnnl_types.h:1037
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:5879
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7923
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.