20 #ifndef ONEAPI_DNNL_DNNL_HPP
21 #define ONEAPI_DNNL_DNNL_HPP
23 #include "oneapi/dnnl/dnnl_config.h"
32 #include <unordered_map>
42 #ifndef DNNL_ENABLE_EXCEPTIONS
43 #if __cpp_exceptions || __EXCEPTIONS \
44 || (defined(_MSC_VER) && !defined(__clang__))
45 #define DNNL_ENABLE_EXCEPTIONS 1
47 #define DNNL_ENABLE_EXCEPTIONS 0
51 #if defined(__GNUC__) || defined(__clang__)
52 #define DNNL_TRAP() __builtin_trap()
53 #elif defined(__INTEL_COMPILER) || defined(_MSC_VER)
54 #define DNNL_TRAP() __debugbreak()
56 #error "unknown compiler"
59 #if DNNL_ENABLE_EXCEPTIONS
60 #define DNNL_THROW_ERROR(status, msg) throw error(status, msg)
63 #define DNNL_THROW_ERROR(status, msg) \
84 struct error :
public std::exception {
96 const char *
what() const noexcept
override {
return message; }
109 template <
typename T>
110 void validate_container_size(
const T &v,
const char *error_message,
111 int min_size = 1,
int max_size = -1) {
112 const int size = (int)v.size();
113 if (size < min_size || (max_size >= 0 && size > max_size))
119 template <
typename T>
135 template <
typename T,
typename traits = handle_traits<T>>
139 std::shared_ptr<typename std::remove_pointer<T>::type> data_ {0};
142 bool operator==(
const T other)
const {
return other == data_.get(); }
143 bool operator!=(
const T other)
const {
return !(*
this == other); }
176 void reset(T t,
bool weak =
false) {
177 data_.reset(t, weak ? &dummy_destructor : traits::destructor);
185 T
get(
bool allow_empty =
false)
const {
186 T result = data_.get();
187 if (allow_empty ==
false && result ==
nullptr)
197 explicit operator T()
const {
return get(
true); }
202 explicit operator bool()
const {
return get(
true) !=
nullptr; }
211 return other.data_.get() == data_.get();
257 struct primitive_desc;
357 const std::unordered_map<int, memory> &args)
const;
371 "could not get a primitive descriptor from a primitive");
382 "could not get a primitive kind from a primitive descriptor");
472 undef = dnnl_alg_kind_undef,
696 #define DNNL_DEFINE_BITMASK_OPS(enum_name) \
697 inline enum_name operator|(enum_name lhs, enum_name rhs) { \
698 return static_cast<enum_name>( \
699 static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); \
702 inline enum_name operator&(enum_name lhs, enum_name rhs) { \
703 return static_cast<enum_name>( \
704 static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); \
707 inline enum_name operator^(enum_name lhs, enum_name rhs) { \
708 return static_cast<enum_name>( \
709 static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); \
712 inline enum_name &operator|=(enum_name &lhs, enum_name rhs) { \
713 lhs = static_cast<enum_name>( \
714 static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); \
718 inline enum_name &operator&=(enum_name &lhs, enum_name rhs) { \
719 lhs = static_cast<enum_name>( \
720 static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); \
724 inline enum_name &operator^=(enum_name &lhs, enum_name rhs) { \
725 lhs = static_cast<enum_name>( \
726 static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); \
730 inline enum_name operator~(enum_name rhs) { \
731 return static_cast<enum_name>(~static_cast<unsigned>(rhs)); \
932 "could not create an engine");
945 "could not get an engine from a primitive_desc");
946 reset(c_engine,
true);
954 "could not get kind of an engine");
963 template <
typename primitive_desc>
973 template <
typename primitive_desc>
978 "could not get an engine from a primitive_desc");
979 return engine(c_engine,
true);
1037 "could not create a stream");
1045 "could not get an engine from a stream object");
1046 return engine(c_engine,
true);
1149 template <
typename T>
1151 validate_container_size(
1465 AB16b16a = dnnl_AB16b16a,
1466 AB16b32a = dnnl_AB16b32a,
1467 AB16b64a = dnnl_AB16b64a,
1468 AB8b16a2b = dnnl_AB8b16a2b,
1469 AB8b32a2b = dnnl_AB8b32a2b,
1470 AB8b64a2b = dnnl_AB8b64a2b,
1471 AB4b16a4b = dnnl_AB4b16a4b,
1472 AB4b32a4b = dnnl_AB4b32a4b,
1473 AB4b64a4b = dnnl_AB4b64a4b,
1474 AB16b16a4b = dnnl_AB16b16a4b,
1475 AB16b32a4b = dnnl_AB16b32a4b,
1476 AB16b48a4b = dnnl_AB16b48a4b,
1477 AB16b64a4b = dnnl_AB16b64a4b,
1478 AB16b16a2b = dnnl_AB16b16a2b,
1479 AB16b32a2b = dnnl_AB16b32a2b,
1480 AB16b48a2b = dnnl_AB16b48a2b,
1481 AB16b64a2b = dnnl_AB16b64a2b,
1482 Abc16a = dnnl_Abc16a,
1483 ABc16a16b = dnnl_ABc16a16b,
1484 ABc4a4b = dnnl_ABc4a4b,
1487 ABc16b16a = dnnl_ABc16b16a,
1488 ABc16b32a = dnnl_ABc16b32a,
1489 ABc16b64a = dnnl_ABc16b64a,
1492 ABc4b16a4b = dnnl_ABc4b16a4b,
1493 ABc4b32a4b = dnnl_ABc4b32a4b,
1494 ABc4b64a4b = dnnl_ABc4b64a4b,
1495 ABc2b8a4b = dnnl_ABc2b8a4b,
1496 ABc16a16b2a = dnnl_ABc16a16b2a,
1497 ABc16b16a4b = dnnl_ABc16b16a4b,
1498 ABc16b32a4b = dnnl_ABc16b32a4b,
1499 ABc16b48a4b = dnnl_ABc16b48a4b,
1500 ABc16b64a4b = dnnl_ABc16b64a4b,
1501 ABc16b16a2b = dnnl_ABc16b16a2b,
1502 ABc16b32a2b = dnnl_ABc16b32a2b,
1503 ABc16b48a2b = dnnl_ABc16b48a2b,
1504 ABc16b64a2b = dnnl_ABc16b64a2b,
1505 ABc4b4a = dnnl_ABc4b4a,
1506 ABc8a16b2a = dnnl_ABc8a16b2a,
1507 ABc8a8b = dnnl_ABc8a8b,
1508 ABc8a4b = dnnl_ABc8a4b,
1510 ABc8b16a2b = dnnl_ABc8b16a2b,
1511 ABc8b32a2b = dnnl_ABc8b32a2b,
1512 ABc8b64a2b = dnnl_ABc8b64a2b,
1513 ABc8b8a = dnnl_ABc8b8a,
1514 Abcd8a = dnnl_Abcd8a,
1515 Abcd16a = dnnl_Abcd16a,
1516 Abcd32a = dnnl_Abcd32a,
1517 ABcd16a16b = dnnl_ABcd16a16b,
1520 ABcd16b16a = dnnl_ABcd16b16a,
1521 ABcd16b32a = dnnl_ABcd16b32a,
1522 ABcd16b64a = dnnl_ABcd16b64a,
1523 aBCd16b16c = dnnl_aBCd16b16c,
1524 aBCd16c16b = dnnl_aBCd16c16b,
1525 Abcd4a = dnnl_Abcd4a,
1527 ABcd4b16a4b = dnnl_ABcd4b16a4b,
1528 ABcd4b32a4b = dnnl_ABcd4b32a4b,
1529 ABcd4b64a4b = dnnl_ABcd4b64a4b,
1530 ABcd2b8a4b = dnnl_ABcd2b8a4b,
1531 ABcd4b4a = dnnl_ABcd4b4a,
1532 ABcd4a4b = dnnl_ABcd4a4b,
1533 aBCd4c16b4c = dnnl_aBCd4c16b4c,
1534 aBCd2c8b4c = dnnl_aBCd2c8b4c,
1535 ABcd16a16b2a = dnnl_ABcd16a16b2a,
1536 ABcd16b16a4b = dnnl_ABcd16b16a4b,
1537 ABcd16b32a4b = dnnl_ABcd16b32a4b,
1538 ABcd16b48a4b = dnnl_ABcd16b48a4b,
1539 ABcd16b64a4b = dnnl_ABcd16b64a4b,
1540 ABcd16b16a2b = dnnl_ABcd16b16a2b,
1541 ABcd16b32a2b = dnnl_ABcd16b32a2b,
1542 ABcd16b48a2b = dnnl_ABcd16b48a2b,
1543 ABcd16b64a2b = dnnl_ABcd16b64a2b,
1544 aBCd16b16c2b = dnnl_aBCd16b16c2b,
1545 aBCd16c16b4c = dnnl_aBCd16c16b4c,
1546 aBCd16c16b2c = dnnl_aBCd16c16b2c,
1547 aBCd4c4b = dnnl_aBCd4c4b,
1548 aBCd4b4c = dnnl_aBCd4b4c,
1549 ABcd8a16b2a = dnnl_ABcd8a16b2a,
1550 ABcd8a8b = dnnl_ABcd8a8b,
1551 ABcd8a4b = dnnl_ABcd8a4b,
1554 ABcd8b16a2b = dnnl_ABcd8b16a2b,
1555 ABcd8b32a2b = dnnl_ABcd8b32a2b,
1556 ABcd8b64a2b = dnnl_ABcd8b64a2b,
1557 aBCd8b16c2b = dnnl_aBCd8b16c2b,
1560 aBCd8b8c = dnnl_aBCd8b8c,
1561 aBCd8b4c = dnnl_aBCd8b4c,
1562 aBCd8c16b2c = dnnl_aBCd8c16b2c,
1563 aBCd8c8b = dnnl_aBCd8c8b,
1564 Abcde16a = dnnl_Abcde16a,
1565 Abcde32a = dnnl_Abcde32a,
1566 ABcde16a16b = dnnl_ABcde16a16b,
1569 ABcde16b16a = dnnl_ABcde16b16a,
1570 ABcde16b32a = dnnl_ABcde16b32a,
1571 ABcde16b64a = dnnl_ABcde16b64a,
1572 aBCde16b16c = dnnl_aBCde16b16c,
1573 aBCde16c16b = dnnl_aBCde16c16b,
1574 aBCde2c8b4c = dnnl_aBCde2c8b4c,
1575 Abcde4a = dnnl_Abcde4a,
1577 ABcde4b4a = dnnl_ABcde4b4a,
1578 ABcde4a4b = dnnl_ABcde4a4b,
1579 aBCde4b4c = dnnl_aBCde4b4c,
1580 aBCde4c16b4c = dnnl_aBCde4c16b4c,
1581 aBCde16b16c2b = dnnl_aBCde16b16c2b,
1582 aBCde16c16b4c = dnnl_aBCde16c16b4c,
1583 aBCde16c16b2c = dnnl_aBCde16c16b2c,
1584 aBCdef16c16b2c = dnnl_aBCdef16c16b2c,
1585 aBCde4c4b = dnnl_aBCde4c4b,
1586 Abcde8a = dnnl_Abcde8a,
1587 ABcde8a8b = dnnl_ABcde8a8b,
1588 ABcde8a4b = dnnl_ABcde8a4b,
1590 ABcde8b16a2b = dnnl_ABcde8b16a2b,
1591 ABcde8b32a2b = dnnl_ABcde8b32a2b,
1592 ABcde8b64a2b = dnnl_ABcde8b64a2b,
1594 ABcde4b32a4b = dnnl_ABcde4b32a4b,
1595 ABcde4b64a4b = dnnl_ABcde4b64a4b,
1596 ABcde16b16a4b = dnnl_ABcde16b16a4b,
1597 ABcde16b32a4b = dnnl_ABcde16b32a4b,
1598 ABcde16b48a4b = dnnl_ABcde16b48a4b,
1599 ABcde16b64a4b = dnnl_ABcde16b64a4b,
1600 ABcde16b16a2b = dnnl_ABcde16b16a2b,
1601 ABcde16b32a2b = dnnl_ABcde16b32a2b,
1602 ABcde16b48a2b = dnnl_ABcde16b48a2b,
1603 ABcde16b64a2b = dnnl_ABcde16b64a2b,
1605 aBCde8b16c2b = dnnl_aBCde8b16c2b,
1606 ABcde8b8a = dnnl_ABcde8b8a,
1607 aBCde8b8c = dnnl_aBCde8b8c,
1608 aBCde8b4c = dnnl_aBCde8b4c,
1609 ABcd4a8b8a4b = dnnl_ABcd4a8b8a4b,
1610 ABcd2a8b8a2b = dnnl_ABcd2a8b8a2b,
1611 aBCde4b8c8b4c = dnnl_aBCde4b8c8b4c,
1612 aBCde2b8c8b2c = dnnl_aBCde2b8c8b2c,
1613 aBCde8c16b2c = dnnl_aBCde8c16b2c,
1614 aBCde8c8b = dnnl_aBCde8c8b,
1616 aBCdef16b16c = dnnl_aBCdef16b16c,
1617 aBCdef16c16b = dnnl_aBCdef16c16b,
1620 aBCdef4c4b = dnnl_aBCdef4c4b,
1621 aBCdef4b4c = dnnl_aBCdef4b4c,
1622 aBCdef8b8c = dnnl_aBCdef8b8c,
1623 aBCdef8b4c = dnnl_aBCdef8b4c,
1624 aBCdef8c16b2c = dnnl_aBCdef8c16b2c,
1625 aBCdef4c16b4c = dnnl_aBCdef4c16b4c,
1626 aBCdef8c8b = dnnl_aBCdef8c8b,
1627 aBdc16b = dnnl_aBdc16b,
1628 aBdc4b = dnnl_aBdc4b,
1629 aBdc8b = dnnl_aBdc8b,
1630 aBdec16b = dnnl_aBdec16b,
1631 aBdec4b = dnnl_aBdec4b,
1632 aBdec8b = dnnl_aBdec8b,
1633 aBdefc16b = dnnl_aBdefc16b,
1634 aCBdef16c16b = dnnl_aCBdef16c16b,
1635 aCBdef16b16c = dnnl_aCBdef16b16c,
1636 aBdefc4b = dnnl_aBdefc4b,
1637 aBdefc8b = dnnl_aBdefc8b,
1638 Acb16a = dnnl_Acb16a,
1641 aCBd16b16c = dnnl_aCBd16b16c,
1642 aCBd16c16b = dnnl_aCBd16c16b,
1643 aCBde16b16c = dnnl_aCBde16b16c,
1644 aCBde16c16b = dnnl_aCBde16c16b,
1645 Acdb16a = dnnl_Acdb16a,
1646 Acdb4a = dnnl_Acdb4a,
1647 Acdb8a = dnnl_Acdb8a,
1648 Acdeb16a = dnnl_Acdeb16a,
1649 Acdeb4a = dnnl_Acdeb4a,
1650 Acdeb8a = dnnl_Acdeb8a,
1651 BAc16a16b = dnnl_BAc16a16b,
1652 BAc16b16a = dnnl_BAc16b16a,
1653 BAcd16a16b = dnnl_BAcd16a16b,
1654 BAcd16b16a = dnnl_BAcd16b16a,
1655 ABcd32a32b = dnnl_ABcd32a32b,
1656 BAcde16b16a = dnnl_BAcde16b16a,
1657 BAcde16a16b = dnnl_BAcde16a16b,
1658 aBdec32b = dnnl_aBdec32b,
1659 Abcdef16a = dnnl_Abcdef16a,
1660 Abcdef32a = dnnl_Abcdef32a,
1661 Acdb32a = dnnl_Acdb32a,
1665 aBCd2c4b2c = dnnl_aBCd2c4b2c,
1666 aBCde2c4b2c = dnnl_aBCde2c4b2c,
1667 aBCdef2c4b2c = dnnl_aBCdef2c4b2c,
1668 aBCd4b8c2b = dnnl_aBCd4b8c2b,
1669 aBCde4b8c2b = dnnl_aBCde4b8c2b,
1670 aBCdef4b8c2b = dnnl_aBCdef4b8c2b,
1671 aBCd4c8b2c = dnnl_aBCd4c8b2c,
1672 aBCde4c8b2c = dnnl_aBCde4c8b2c,
1673 aBCdef4c8b2c = dnnl_aBCdef4c8b2c,
1674 AB32a32b8a4b = dnnl_AB32a32b8a4b,
1675 AB32a32b8a2b = dnnl_AB32a32b8a2b,
1676 AB8a4b = dnnl_AB8a4b,
1677 AB8a2b = dnnl_AB8a2b,
1678 abDc32d = dnnl_abDc32d,
1679 abDC32d4c = dnnl_abDC32d4c,
1680 abCd32c = dnnl_abCd32c,
1681 abdEc32e = dnnl_abdEc32e,
1682 abdEC32e2c = dnnl_abdEC32e2c,
1683 abdEC32e4c = dnnl_abdEC32e4c,
1684 abdCe32c = dnnl_abdCe32c,
1685 abdCE32c2e = dnnl_abdCE32c2e,
1686 aBCdef16c16b4c = dnnl_aBCdef16c16b4c,
1687 aBdC16b4c = dnnl_aBdC16b4c,
1688 aBdeC16b4c = dnnl_aBdeC16b4c,
1689 AcB16a4b = dnnl_AcB16a4b,
1690 AcdB16a2b = dnnl_AcdB16a2b,
1691 aBdefC16b4c = dnnl_aBdefC16b4c,
1692 AcdeB16a4b = dnnl_AcdeB16a4b,
1694 Acb32a = dnnl_Acb32a,
1695 AcB32a2b = dnnl_AcB32a2b,
1696 AcB32a4b = dnnl_AcB32a4b,
1697 Acb48a = dnnl_Acb48a,
1698 AcB48a2b = dnnl_AcB48a2b,
1699 AcB48a4b = dnnl_AcB48a4b,
1700 Acb64a = dnnl_Acb64a,
1701 AcB64a2b = dnnl_AcB64a2b,
1702 AcB64a4b = dnnl_AcB64a4b,
1705 aBdc32b = dnnl_aBdc32b,
1706 aBdC32b2c = dnnl_aBdC32b2c,
1707 aBdC32b4c = dnnl_aBdC32b4c,
1708 aBdc48b = dnnl_aBdc48b,
1709 aBdC48b2c = dnnl_aBdC48b2c,
1710 aBdC48b4c = dnnl_aBdC48b4c,
1711 aBdc64b = dnnl_aBdc64b,
1712 aBdC64b2c = dnnl_aBdC64b2c,
1713 aBdC64b4c = dnnl_aBdC64b4c,
1715 adCb2c = dnnl_adCb2c,
1716 adCb4c = dnnl_adCb4c,
1717 AcdB32a2b = dnnl_AcdB32a2b,
1718 AcdB32a4b = dnnl_AcdB32a4b,
1719 Acdb48a = dnnl_Acdb48a,
1720 AcdB48a2b = dnnl_AcdB48a2b,
1721 AcdB48a4b = dnnl_AcdB48a4b,
1722 Acdb64a = dnnl_Acdb64a,
1723 AcdB64a2b = dnnl_AcdB64a2b,
1724 AcdB64a4b = dnnl_AcdB64a4b,
1725 cdBa2b = dnnl_cdBa2b,
1726 cdBa4b = dnnl_cdBa4b,
1727 aBdeC32b2c = dnnl_aBdeC32b2c,
1728 aBdeC32b4c = dnnl_aBdeC32b4c,
1729 aBdec48b = dnnl_aBdec48b,
1730 aBdeC48b2c = dnnl_aBdeC48b2c,
1731 aBdeC48b4c = dnnl_aBdeC48b4c,
1732 aBdec64b = dnnl_aBdec64b,
1733 aBdeC64b2c = dnnl_aBdeC64b2c,
1734 aBdeC64b4c = dnnl_aBdeC64b4c,
1736 adeCb2c = dnnl_adeCb2c,
1737 adeCb4c = dnnl_adeCb4c,
1738 Acdeb32a = dnnl_Acdeb32a,
1739 AcdeB32a2b = dnnl_AcdeB32a2b,
1740 AcdeB32a4b = dnnl_AcdeB32a4b,
1741 Acdeb48a = dnnl_Acdeb48a,
1742 AcdeB48a2b = dnnl_AcdeB48a2b,
1743 AcdeB48a4b = dnnl_AcdeB48a4b,
1744 Acdeb64a = dnnl_Acdeb64a,
1745 AcdeB64a2b = dnnl_AcdeB64a2b,
1746 AcdeB64a4b = dnnl_AcdeB64a4b,
1747 cdeBa2b = dnnl_cdeBa2b,
1748 cdeBa4b = dnnl_cdeBa4b,
1749 aBdefc32b = dnnl_aBdefc32b,
1750 aBdefC32b2c = dnnl_aBdefC32b2c,
1751 aBdefC32b4c = dnnl_aBdefC32b4c,
1752 aBdefc48b = dnnl_aBdefc48b,
1753 aBdefC48b2c = dnnl_aBdefC48b2c,
1754 aBdefC48b4c = dnnl_aBdefC48b4c,
1755 aBdefc64b = dnnl_aBdefc64b,
1756 aBdefC64b2c = dnnl_aBdefC64b2c,
1757 aBdefC64b4c = dnnl_aBdefC64b4c,
1758 adefcb = dnnl_adefcb,
1759 adefCb2c = dnnl_adefCb2c,
1760 adefCb4c = dnnl_adefCb4c,
1773 NCw16n16c = dnnl_NCw16n16c,
1774 NChw16n16c = dnnl_NChw16n16c,
1775 NCdhw16n16c = dnnl_NCdhw16n16c,
1776 NCdhw32n32c = dnnl_NCdhw32n32c,
1777 NChw32n32c = dnnl_NChw32n32c,
1778 IOhw16i16o = dnnl_IOhw16i16o,
1779 OI16i16o = dnnl_OI16i16o,
1780 OI16i32o = dnnl_OI16i32o,
1781 OI16i64o = dnnl_OI16i64o,
1782 OI8i16o2i = dnnl_OI8i16o2i,
1783 OI8i32o2i = dnnl_OI8i32o2i,
1784 OI8i64o2i = dnnl_OI8i64o2i,
1785 OI4i16o4i = dnnl_OI4i16o4i,
1786 OI4i32o4i = dnnl_OI4i32o4i,
1787 OI4i64o4i = dnnl_OI4i64o4i,
1788 Ohwi32o = dnnl_Ohwi32o,
1789 IOdhw16i16o = dnnl_IOdhw16i16o,
1790 gIOhw16i16o = dnnl_gIOhw16i16o,
1791 gOhwi32o = dnnl_gOhwi32o,
1792 Goidhw16g = dnnl_Goidhw16g,
1793 IOw16o16i = dnnl_IOw16o16i,
1794 OIw16i16o = dnnl_OIw16i16o,
1795 OIw16i32o = dnnl_OIw16i32o,
1796 OIw16i64o = dnnl_OIw16i64o,
1797 IOw16i16o = dnnl_IOw16i16o,
1798 gIOw16i16o = dnnl_gIOw16i16o,
1799 OIw16o16i = dnnl_OIw16o16i,
1800 Oiw16o = dnnl_Oiw16o,
1801 OIw4i16o4i = dnnl_OIw4i16o4i,
1802 OIw4i32o4i = dnnl_OIw4i32o4i,
1803 OIw4i64o4i = dnnl_OIw4i64o4i,
1804 OIw2i8o4i = dnnl_OIw2i8o4i,
1805 OIw4i4o = dnnl_OIw4i4o,
1806 OIw4o4i = dnnl_OIw4o4i,
1808 OIw8i16o2i = dnnl_OIw8i16o2i,
1809 OIw8i32o2i = dnnl_OIw8i32o2i,
1810 OIw8i64o2i = dnnl_OIw8i64o2i,
1811 OIw8i8o = dnnl_OIw8i8o,
1812 OIw8o16i2o = dnnl_OIw8o16i2o,
1813 OIw8o8i = dnnl_OIw8o8i,
1814 OIw8o4i = dnnl_OIw8o4i,
1815 OIw16i16o4i = dnnl_OIw16i16o4i,
1816 OIw16i32o4i = dnnl_OIw16i32o4i,
1817 OIw16i48o4i = dnnl_OIw16i48o4i,
1818 OIw16i64o4i = dnnl_OIw16i64o4i,
1819 OIw16i16o2i = dnnl_OIw16i16o2i,
1820 OIw16i32o2i = dnnl_OIw16i32o2i,
1821 OIw16i48o2i = dnnl_OIw16i48o2i,
1822 OIw16i64o2i = dnnl_OIw16i64o2i,
1823 OIw16o16i2o = dnnl_OIw16o16i2o,
1824 Owi16o = dnnl_Owi16o,
1825 OwI16o2i = dnnl_OwI16o2i,
1828 IOhw16o16i = dnnl_IOhw16o16i,
1829 Ohwi16o = dnnl_Ohwi16o,
1830 OhwI16o2i = dnnl_OhwI16o2i,
1831 Ohwi4o = dnnl_Ohwi4o,
1832 Ohwi8o = dnnl_Ohwi8o,
1833 OIhw16i16o = dnnl_OIhw16i16o,
1834 OIhw16i32o = dnnl_OIhw16i32o,
1835 OIhw16i64o = dnnl_OIhw16i64o,
1836 OIhw16o16i = dnnl_OIhw16o16i,
1837 Oihw16o = dnnl_Oihw16o,
1838 OIhw4i16o4i = dnnl_OIhw4i16o4i,
1839 OIhw4i32o4i = dnnl_OIhw4i32o4i,
1840 OIhw4i64o4i = dnnl_OIhw4i64o4i,
1841 OIhw4i4o = dnnl_OIhw4i4o,
1842 OIhw4o4i = dnnl_OIhw4o4i,
1843 Oihw4o = dnnl_Oihw4o,
1844 OIhw8i16o2i = dnnl_OIhw8i16o2i,
1845 OIhw8i32o2i = dnnl_OIhw8i32o2i,
1846 OIhw8i64o2i = dnnl_OIhw8i64o2i,
1847 OIhw8i8o = dnnl_OIhw8i8o,
1848 OIhw8o16i2o = dnnl_OIhw8o16i2o,
1849 OIhw8o8i = dnnl_OIhw8o8i,
1850 OIhw8o4i = dnnl_OIhw8o4i,
1851 OIhw2i8o4i = dnnl_OIhw2i8o4i,
1852 IOdhw16o16i = dnnl_IOdhw16o16i,
1853 Odhwi16o = dnnl_Odhwi16o,
1854 OdhwI16o2i = dnnl_OdhwI16o2i,
1855 Odhwi4o = dnnl_Odhwi4o,
1856 Odhwi8o = dnnl_Odhwi8o,
1857 OIdhw16i16o = dnnl_OIdhw16i16o,
1858 OIdhw16i32o = dnnl_OIdhw16i32o,
1859 OIdhw16i64o = dnnl_OIdhw16i64o,
1860 OIdhw16o16i = dnnl_OIdhw16o16i,
1861 Oidhw16o = dnnl_Oidhw16o,
1862 OIdhw4i4o = dnnl_OIdhw4i4o,
1863 OIdhw4o4i = dnnl_OIdhw4o4i,
1864 Oidhw4o = dnnl_Oidhw4o,
1865 OIdhw8i16o2i = dnnl_OIdhw8i16o2i,
1866 OIdhw8i32o2i = dnnl_OIdhw8i32o2i,
1867 OIdhw8i64o2i = dnnl_OIdhw8i64o2i,
1868 OIdhw4i16o4i = dnnl_OIdhw4i16o4i,
1869 OIdhw16i16o4i = dnnl_OIdhw16i16o4i,
1870 OIdhw16i32o4i = dnnl_OIdhw16i32o4i,
1871 OIdhw16i48o4i = dnnl_OIdhw16i48o4i,
1872 OIdhw16i64o4i = dnnl_OIdhw16i64o4i,
1873 OIdhw16i16o2i = dnnl_OIdhw16i16o2i,
1874 OIdhw16i32o2i = dnnl_OIdhw16i32o2i,
1875 OIdhw16i48o2i = dnnl_OIdhw16i48o2i,
1876 OIdhw16i64o2i = dnnl_OIdhw16i64o2i,
1877 OIdhw4i32o4i = dnnl_OIdhw4i32o4i,
1878 OIdhw4i64o4i = dnnl_OIdhw4i64o4i,
1879 OIdhw2i8o4i = dnnl_OIdhw2i8o4i,
1880 OIdhw8i8o = dnnl_OIdhw8i8o,
1881 OIdhw8o8i = dnnl_OIdhw8o8i,
1882 OIdhw8o4i = dnnl_OIdhw8o4i,
1883 gIOw16o16i = dnnl_gIOw16o16i,
1884 gOIw16i16o = dnnl_gOIw16i16o,
1885 gOIw16o16i = dnnl_gOIw16o16i,
1886 gOiw16o = dnnl_gOiw16o,
1887 gOIw4i16o4i = dnnl_gOIw4i16o4i,
1888 gOIw2i8o4i = dnnl_gOIw2i8o4i,
1889 gOIw4i4o = dnnl_gOIw4i4o,
1890 gOIw4o4i = dnnl_gOIw4o4i,
1891 gOiw4o = dnnl_gOiw4o,
1892 gOIw8i16o2i = dnnl_gOIw8i16o2i,
1893 gOIw8i8o = dnnl_gOIw8i8o,
1894 gOIw8o16i2o = dnnl_gOIw8o16i2o,
1895 gOIw8o8i = dnnl_gOIw8o8i,
1896 gOIw8o4i = dnnl_gOIw8o4i,
1897 gOIw16i16o4i = dnnl_gOIw16i16o4i,
1898 gOIw16i16o2i = dnnl_gOIw16i16o2i,
1899 gOIw16o16i2o = dnnl_gOIw16o16i2o,
1900 gOwi16o = dnnl_gOwi16o,
1901 gOwI16o2i = dnnl_gOwI16o2i,
1902 gOwi4o = dnnl_gOwi4o,
1903 gOwi8o = dnnl_gOwi8o,
1904 Goiw8g = dnnl_Goiw8g,
1905 Goiw16g = dnnl_Goiw16g,
1906 gIOhw16o16i = dnnl_gIOhw16o16i,
1907 gOhwi16o = dnnl_gOhwi16o,
1908 gOhwI16o2i = dnnl_gOhwI16o2i,
1909 gOhwi4o = dnnl_gOhwi4o,
1910 gOhwi8o = dnnl_gOhwi8o,
1911 Goihw16g = dnnl_Goihw16g,
1912 gOIhw16i16o = dnnl_gOIhw16i16o,
1913 gOIhw16o16i = dnnl_gOIhw16o16i,
1914 gOihw16o = dnnl_gOihw16o,
1915 gOIhw4i16o4i = dnnl_gOIhw4i16o4i,
1916 gOIhw2i8o4i = dnnl_gOIhw2i8o4i,
1917 gOIhw4i4o = dnnl_gOIhw4i4o,
1918 gOIhw4o4i = dnnl_gOIhw4o4i,
1919 gOihw4o = dnnl_gOihw4o,
1920 Goihw8g = dnnl_Goihw8g,
1921 gOIhw8i16o2i = dnnl_gOIhw8i16o2i,
1922 gOIhw8i8o = dnnl_gOIhw8i8o,
1923 gOIhw8o16i2o = dnnl_gOIhw8o16i2o,
1924 OIw4o8i8o4i = dnnl_OIw4o8i8o4i,
1925 OIdhw4o8i8o4i = dnnl_OIdhw4o8i8o4i,
1926 OIhw4o8i8o4i = dnnl_OIhw4o8i8o4i,
1927 OIhw2o8i8o2i = dnnl_OIhw2o8i8o2i,
1928 gOIw4o8i8o4i = dnnl_gOIw4o8i8o4i,
1929 gOIdhw4o8i8o4i = dnnl_gOIdhw4o8i8o4i,
1930 gOIhw4o8i8o4i = dnnl_gOIhw4o8i8o4i,
1931 gOIhw2o8i8o2i = dnnl_gOIhw2o8i8o2i,
1932 OIhw16i16o4i = dnnl_OIhw16i16o4i,
1933 OIhw16i32o4i = dnnl_OIhw16i32o4i,
1934 OIhw16i48o4i = dnnl_OIhw16i48o4i,
1935 OIhw16i64o4i = dnnl_OIhw16i64o4i,
1936 OIhw16i16o2i = dnnl_OIhw16i16o2i,
1937 OIhw16i32o2i = dnnl_OIhw16i32o2i,
1938 OIhw16i48o2i = dnnl_OIhw16i48o2i,
1939 OIhw16i64o2i = dnnl_OIhw16i64o2i,
1940 OIhw16o16i2o = dnnl_OIhw16o16i2o,
1941 gOIhw16i16o4i = dnnl_gOIhw16i16o4i,
1942 gOIhw16i16o2i = dnnl_gOIhw16i16o2i,
1943 gOIhw16o16i2o = dnnl_gOIhw16o16i2o,
1944 gOIhw8o8i = dnnl_gOIhw8o8i,
1945 gOIhw8o4i = dnnl_gOIhw8o4i,
1946 gIOdhw16i16o = dnnl_gIOdhw16i16o,
1947 gIOdhw16o16i = dnnl_gIOdhw16o16i,
1948 gOdhwi16o = dnnl_gOdhwi16o,
1949 gOdhwI16o2i = dnnl_gOdhwI16o2i,
1950 gOdhwi4o = dnnl_gOdhwi4o,
1951 gOdhwi8o = dnnl_gOdhwi8o,
1952 gOIdhw16i16o = dnnl_gOIdhw16i16o,
1953 gOIdhw16o16i = dnnl_gOIdhw16o16i,
1954 gOidhw16o = dnnl_gOidhw16o,
1955 gOIdhw4i4o = dnnl_gOIdhw4i4o,
1956 gOIdhw4o4i = dnnl_gOIdhw4o4i,
1957 gOidhw4o = dnnl_gOidhw4o,
1958 gOIdhw8i16o2i = dnnl_gOIdhw8i16o2i,
1959 gOIdhw4i16o4i = dnnl_gOIdhw4i16o4i,
1960 gOIdhw16i16o4i = dnnl_gOIdhw16i16o4i,
1961 gOIdhw16i16o2i = dnnl_gOIdhw16i16o2i,
1962 gOIdhw2i8o4i = dnnl_gOIdhw2i8o4i,
1963 gOIdhw8i8o = dnnl_gOIdhw8i8o,
1964 gOIdhw8o8i = dnnl_gOIdhw8o8i,
1965 gOIdhw8o4i = dnnl_gOIdhw8o4i,
1966 gOIw2i4o2i = dnnl_gOIw2i4o2i,
1967 gOIhw2i4o2i = dnnl_gOIhw2i4o2i,
1968 gOIdhw2i4o2i = dnnl_gOIdhw2i4o2i,
1969 gOIw2o4i2o = dnnl_gOIw2o4i2o,
1970 gOIhw2o4i2o = dnnl_gOIhw2o4i2o,
1971 gOIdhw2o4i2o = dnnl_gOIdhw2o4i2o,
1972 gOIw4i8o2i = dnnl_gOIw4i8o2i,
1973 gOIhw4i8o2i = dnnl_gOIhw4i8o2i,
1974 gOIdhw4i8o2i = dnnl_gOIdhw4i8o2i,
1975 gOIw4o8i2o = dnnl_gOIw4o8i2o,
1976 gOIhw4o8i2o = dnnl_gOIhw4o8i2o,
1977 gOIdhw4o8i2o = dnnl_gOIdhw4o8i2o,
1979 ldOI32o4i = abDC32d4c,
1980 ldgOi32o = abdEc32e,
1981 ldgOI32o2i = abdEC32e2c,
1982 ldgOI32o4i = abdEC32e4c,
1983 OwI16o4i = dnnl_OwI16o4i,
1984 OhwI16o4i = dnnl_OhwI16o4i,
1985 gOwI16o4i = dnnl_gOwI16o4i,
1986 gOhwI16o4i = dnnl_gOhwI16o4i,
1987 OdhwI16o4i = dnnl_OdhwI16o4i,
1988 gOdhwI16o4i = dnnl_gOdhwI16o4i,
1990 Owi32o = dnnl_Owi32o,
1991 OwI32o2i = dnnl_OwI32o2i,
1992 OwI32o4i = dnnl_OwI32o4i,
1993 Owi48o = dnnl_Owi48o,
1994 OwI48o2i = dnnl_OwI48o2i,
1995 OwI48o4i = dnnl_OwI48o4i,
1996 Owi64o = dnnl_Owi64o,
1997 OwI64o2i = dnnl_OwI64o2i,
1998 OwI64o4i = dnnl_OwI64o4i,
2001 gOwi32o = dnnl_gOwi32o,
2002 gOwI32o2i = dnnl_gOwI32o2i,
2003 gOwI32o4i = dnnl_gOwI32o4i,
2004 gOwi48o = dnnl_gOwi48o,
2005 gOwI48o2i = dnnl_gOwI48o2i,
2006 gOwI48o4i = dnnl_gOwI48o4i,
2007 gOwi64o = dnnl_gOwi64o,
2008 gOwI64o2i = dnnl_gOwI64o2i,
2009 gOwI64o4i = dnnl_gOwI64o4i,
2011 gwIo2i = dnnl_gwIo2i,
2012 gwIo4i = dnnl_gwIo4i,
2013 OhwI32o = dnnl_OhwI32o,
2014 OhwI32o2i = dnnl_OhwI32o2i,
2015 OhwI32o4i = dnnl_OhwI32o4i,
2016 Ohwi48o = dnnl_Ohwi48o,
2017 OhwI48o2i = dnnl_OhwI48o2i,
2018 OhwI48o4i = dnnl_OhwI48o4i,
2019 Ohwi64o = dnnl_Ohwi64o,
2020 OhwI64o2i = dnnl_OhwI64o2i,
2021 OhwI64o4i = dnnl_OhwI64o4i,
2022 hwIo2i = dnnl_hwIo2i,
2023 hwIo4i = dnnl_hwIo4i,
2024 gOhwI32o = dnnl_gOhwI32o,
2025 gOhwI32o2i = dnnl_gOhwI32o2i,
2026 gOhwI32o4i = dnnl_gOhwI32o4i,
2027 gOhwi48o = dnnl_gOhwi48o,
2028 gOhwI48o2i = dnnl_gOhwI48o2i,
2029 gOhwI48o4i = dnnl_gOhwI48o4i,
2030 gOhwi64o = dnnl_gOhwi64o,
2031 gOhwI64o2i = dnnl_gOhwI64o2i,
2032 gOhwI64o4i = dnnl_gOhwI64o4i,
2034 ghwIo2i = dnnl_ghwIo2i,
2035 ghwIo4i = dnnl_ghwIo4i,
2036 Odhwi32o = dnnl_Odhwi32o,
2037 OdhwI32o2i = dnnl_OdhwI32o2i,
2038 OdhwI32o4i = dnnl_OdhwI32o4i,
2039 Odhwi48o = dnnl_Odhwi48o,
2040 OdhwI48o2i = dnnl_OdhwI48o2i,
2041 OdhwI48o4i = dnnl_OdhwI48o4i,
2042 Odhwi64o = dnnl_Odhwi64o,
2043 OdhwI64o2i = dnnl_OdhwI64o2i,
2044 OdhwI64o4i = dnnl_OdhwI64o4i,
2045 dhwIo2i = dnnl_dhwIo2i,
2046 dhwIo4i = dnnl_dhwIo4i,
2047 gOdhwi32o = dnnl_gOdhwi32o,
2048 gOdhwI32o2i = dnnl_gOdhwI32o2i,
2049 gOdhwI32o4i = dnnl_gOdhwI32o4i,
2050 gOdhwi48o = dnnl_gOdhwi48o,
2051 gOdhwI48o2i = dnnl_gOdhwI48o2i,
2052 gOdhwI48o4i = dnnl_gOdhwI48o4i,
2053 gOdhwi64o = dnnl_gOdhwi64o,
2054 gOdhwI64o2i = dnnl_gOdhwI64o2i,
2055 gOdhwI64o4i = dnnl_gOdhwI64o4i,
2056 gdhwio = dnnl_gdhwio,
2057 gdhwIo2i = dnnl_gdhwIo2i,
2058 gdhwIo4i = dnnl_gdhwIo4i,
2087 bool allow_empty =
false)
2089 validate_dims(adims);
2091 (
int)adims.size(), adims.data(),
convert_to_c(adata_type),
2095 "could not construct a memory descriptor using a "
2115 bool allow_empty =
false)
2117 validate_dims(adims);
2118 if (!strides.empty()) validate_dims(strides, (
int)adims.size());
2120 (
int)adims.size(), adims.data(),
convert_to_c(adata_type),
2121 strides.empty() ?
nullptr : &strides[0]);
2124 "could not construct a memory descriptor using "
2145 bool allow_empty =
false)
const {
2146 validate_dims(adims, data.
ndims);
2147 validate_dims(offsets, data.
ndims);
2150 &sub_md, &data, adims.data(), offsets.data());
2153 return desc(sub_md);
2201 if (data.
ndims) validate_dims(adims, 1);
2204 &out_md, &data, (
int)adims.size(), adims.data());
2207 status,
"could not reshape a memory descriptor");
2208 return desc(out_md);
2249 bool allow_empty =
false)
const {
2250 validate_dims(permutation, data.
ndims);
2253 &out_md, &data, permutation.data());
2256 "could not permute axes of a memory descriptor");
2257 return desc(out_md);
2302 explicit operator bool()
const {
return data.
ndims != 0; }
2334 "could not create a memory object");
2351 "could not get a memory descriptor from a memory object");
2352 return desc(*cdesc);
2359 "could not get an engine from a memory object");
2360 return engine(c_engine,
true);
2370 "could not get a native handle from a memory object");
2405 "could not set native handle of a memory object");
2421 "could not set native handle of a memory object");
2445 template <
typename T =
void>
2449 "could not map memory object data");
2450 return static_cast<T *
>(mapped_ptr);
2465 "could not unmap memory object data");
2547 "post-ops index is out of range");
2584 "could not append a sum post-op");
2587 memory::convert_to_c(data_type)),
2588 "could not append a sum post-op");
2597 "could not get parameters of a sum post-op");
2609 get(), index, &scale, &c_data_type),
2610 "could not get parameters of a sum post-op");
2628 float scale,
algorithm aalgorithm,
float alpha,
float beta) {
2631 "could not append an elementwise post-op");
2642 float &alpha,
float &beta)
const {
2645 get(), index, &scale, &c_alg, &alpha, &beta),
2646 "could not get parameters of an elementwise post-op");
2680 int mask,
const std::vector<float> &scales) {
2683 memory::convert_to_c(weights_data_type),
2684 memory::convert_to_c(bias_data_type),
2685 memory::convert_to_c(dst_data_type),
2686 scales.size(), mask, &scales[0]),
2687 "could not append depthwise post-op");
2706 int &mask, std::vector<float> &scales)
const {
2713 const float *c_scales;
2715 &c_weights_data_type, &c_bias_data_type,
2716 &c_dst_data_type, &count, &c_mask, &c_scales),
2717 "could not get parameters of depthwise post-op");
2722 scales.resize(count);
2726 scales[c] = c_scales[c];
2765 int mask,
const std::vector<float> &scales) {
2768 memory::convert_to_c(weights_data_type),
2769 memory::convert_to_c(bias_data_type),
2770 memory::convert_to_c(dst_data_type),
2771 scales.size(), mask, &scales[0]),
2772 "could not append depthwise post-op");
2791 int &mask, std::vector<float> &scales)
const {
2798 const float *c_scales;
2800 &c_weights_data_type, &c_bias_data_type,
2801 &c_dst_data_type, &count, &c_mask, &c_scales),
2802 "could not get parameters of depthwise post-op");
2807 scales.resize(count);
2811 scales[c] = c_scales[c];
2832 "could not append a binary post-op");
2846 "could not get parameters of a binary post-op");
2848 src1_desc.
data = *data;
2871 "could not create primitive attribute");
2888 "could not get scratchpad mode primitive attribute");
2898 "could not set scratchpad mode primitive attribute");
2913 const float *c_scales;
2915 get(), &count, &c_mask, &c_scales),
2916 "could not get output scales primitive attribute");
2917 scales.resize(count);
2921 scales[c] = c_scales[c];
2970 "could not set output scales primitive attribute");
2984 void get_scales(
int arg,
int &mask, std::vector<float> &scales)
const {
2987 const float *c_scales;
2989 get(), arg, &count, &c_mask, &c_scales),
2990 "could not get scales primitive attributes");
2991 scales.resize(count);
2995 scales[c] = c_scales[c];
3014 void set_scales(
int arg,
int mask,
const std::vector<float> &scales) {
3017 (
dnnl_dim_t)scales.size(), mask, scales.data()),
3018 "could not set scales primitive attribute");
3032 int arg,
int &mask, std::vector<int32_t> &zero_points)
const {
3035 const int32_t *c_zero_points;
3037 get(), arg, &count, &c_mask, &c_zero_points),
3038 "could not get zero points primitive attribute");
3039 zero_points.resize(count);
3043 zero_points[c] = c_zero_points[c];
3067 int arg,
int mask,
const std::vector<int32_t> &zero_points) {
3070 zero_points.data()),
3071 "could not set zero points primitive attribute");
3081 "could not get post-ops primitive attribute");
3096 "could not set post-ops primitive attribute");
3135 "could not set RNN data quantization parameters primitive "
3149 float c_scale, c_shift;
3151 get(), &c_scale, &c_shift),
3152 "could not set RNN data quantization parameters primitive "
3186 (
int)scales.size(), mask, scales.data()),
3187 "could not set RNN weights quantization parameters primitive "
3213 const float *c_scales;
3215 get(), &count, &c_mask, &c_scales),
3216 "could not get primitive RNN weights quantization "
3217 "parameters attributes");
3218 scales.resize(count);
3222 scales[c] = c_scales[c];
3252 int mask,
const std::vector<float> &scales) {
3255 get(), (
int)scales.size(), mask, scales.data()),
3256 "could not set primitive RNN weights projection quantization "
3257 "parameters attributes");
3280 int &mask, std::vector<float> &scales) {
3283 const float *c_scales;
3286 get(), &count, &c_mask, &c_scales),
3287 "could not get primitive RNN weights projection quantization "
3288 "parameters attributes");
3289 scales.resize(count);
3293 scales[c] = c_scales[c];
3319 "could not retrieve implementation info string from a "
3320 "primitive descriptor");
3353 if (!std::any_of(valid_q.cbegin(), valid_q.cend(),
3354 [=](
query q) { return what == q; }))
3356 "memory descriptor query is invalid");
3480 "could not retrieve scratchpad engine from a primitive "
3482 return engine(c_engine,
true);
3490 "could not get attributes from a primitive descriptor");
3493 "could not clone primitive attributes");
3503 "could not get primitive kind from a primitive descriptor");
3514 "could not clone a primitive descriptor");
3567 if (pd ==
nullptr)
return;
3580 rc,
"could not get primitive kind from a primitive descriptor");
3581 if (pd_kind != c_prim_kind)
3583 "primitive descriptor operation kind mismatch");
3593 "could not get propagation kind from the primitive "
3599 && (pd_prop_kind == c_prop_kind1
3600 || pd_prop_kind == c_prop_kind2))) {
3607 "primitive descriptor propagation kind mismatch");
3653 bool allow_empty =
false) {
3657 dst_engine.
get(), attr.get());
3660 "could not create a primitive descriptor for a reorder "
3678 bool allow_empty =
false) {
3687 "could not create a primitive descriptor for a reorder "
3761 const std::vector<memory::desc> &mems) {
3762 std::vector<dnnl_memory_desc_t> c_mems;
3763 c_mems.reserve(mems.size());
3764 for (
const auto &s : mems)
3765 c_mems.push_back(s.data);
3790 const std::vector<memory::desc> &srcs,
const engine &aengine,
3797 (
int)c_srcs.size(), concat_dimension, c_srcs.data(),
3798 attr.get(), aengine.
get()),
3799 "could not create a primitive descriptor for a concat "
3817 const std::vector<memory::desc> &srcs,
const engine &aengine,
3824 (
int)c_api_srcs.size(), concat_dimension,
3825 c_api_srcs.data(), attr.get(), aengine.
get()),
3826 "could not create a primitive descriptor for a concat "
3881 const std::vector<float> &scales,
3882 const std::vector<memory::desc> &srcs,
const engine &aengine,
3884 validate_container_size(scales,
3885 "counts of scales and sources are not equal",
3886 (
int)srcs.size(), (
int)srcs.size());
3893 (
int)c_api_srcs.size(), scales.data(),
3894 c_api_srcs.data(), attr.get(), aengine.
get()),
3895 "could not create a primitive descriptor for a sum "
3911 const std::vector<memory::desc> &srcs,
const engine &aengine,
3913 validate_container_size(scales,
3914 "counts of scales and sources are not equal",
3915 (
int)srcs.size(), (
int)srcs.size());
3921 (
int)c_api_srcs.size(), scales.data(),
3922 c_api_srcs.data(), attr.get(), aengine.
get()),
3923 "could not create a primitive descriptor for a sum "
3986 bool allow_empty =
false)
3987 : allow_empty_(allow_empty) {
3990 desc, attr ? attr->
get() :
nullptr, aengine.
get(), hint_fwd_pd);
3993 status,
"could not create a primitive descriptor iterator");
3994 pd_iterator.reset(iterator);
4007 status,
"could not advance a primitive descriptor iterator");
4013 bool allow_empty_ =
false;
4017 pd_iterator.
get(allow_empty_));
4020 "could not fetch a primitive descriptor from a primitive "
4021 "descriptor iterator");
4087 &strides[0], &padding_l[0], &padding_r[0]),
4088 "could not create a descriptor for a convolution forward "
4089 "propagation primitive");
4131 &weights_desc.
data,
nullptr, &dst_desc.
data,
4132 &strides[0], &padding_l[0], &padding_r[0]),
4133 "could not create a descriptor for a convolution forward "
4134 "propagation primitive");
4181 &weights_desc.
data, &bias_desc.
data,
4182 &dst_desc.
data, &strides[0], &dilates[0],
4183 &padding_l[0], &padding_r[0]),
4184 "could not create a descriptor for a dilated convolution "
4185 "forward propagation primitive");
4230 &weights_desc.
data,
nullptr,
4231 &dst_desc.
data, &strides[0], &dilates[0],
4232 &padding_l[0], &padding_r[0]),
4233 "could not create a descriptor for a dilated convolution "
4234 "forward propagation primitive");
4254 bool allow_empty =
false)
4256 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
4270 const engine &aengine,
bool allow_empty =
false)
4272 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
4352 &weights_desc.
data, &diff_dst_desc.
data,
4353 &strides[0], &padding_l[0], &padding_r[0]),
4354 "could not create a descriptor for a convolution backward "
4355 "propagation primitive");
4397 &weights_desc.
data, &diff_dst_desc.
data,
4398 &strides[0], &dilates[0], &padding_l[0],
4400 "could not create a descriptor for a dilated convolution "
4401 "backward propagation primitive");
4425 bool allow_empty =
false)
4427 hint_fwd_pd.
get(), allow_empty) {}
4446 bool allow_empty =
false)
4448 hint_fwd_pd.
get(), allow_empty) {}
4523 &diff_weights_desc.
data, &diff_bias_desc.
data,
4524 &diff_dst_desc.
data, &strides[0], &padding_l[0],
4526 "could not create a descriptor for a convolution weights "
4527 "update primitive");
4564 &diff_weights_desc.
data,
nullptr,
4565 &diff_dst_desc.
data, &strides[0],
4566 &padding_l[0], &padding_r[0]),
4567 "could not create a descriptor for a convolution weights "
4568 "update primitive");
4613 &diff_weights_desc.
data, &diff_bias_desc.
data,
4614 &diff_dst_desc.
data, &strides[0], &dilates[0],
4615 &padding_l[0], &padding_r[0]),
4616 "could not create a descriptor for a dilated convolution "
4617 "weights gradient primitive");
4659 &diff_weights_desc.
data,
nullptr,
4660 &diff_dst_desc.
data, &strides[0], &dilates[0],
4661 &padding_l[0], &padding_r[0]),
4662 "could not create a descriptor for a dilated convolution "
4663 "weights gradient primitive");
4686 bool allow_empty =
false)
4688 hint_fwd_pd.
get(), allow_empty) {}
4706 bool allow_empty =
false)
4708 hint_fwd_pd.
get(), allow_empty) {}
4807 &strides[0], &padding_l[0], &padding_r[0]),
4808 "could not create a descriptor for a deconvolution forward "
4809 "propagation primitive");
4850 &weights_desc.
data,
nullptr, &dst_desc.
data,
4851 &strides[0], &padding_l[0], &padding_r[0]),
4852 "could not create a descriptor for a deconvolution forward "
4853 "propagation primitive");
4899 &weights_desc.
data, &bias_desc.
data,
4900 &dst_desc.
data, &strides[0], &dilates[0],
4901 &padding_l[0], &padding_r[0]),
4902 "could not create a descriptor for a dilated deconvolution "
4903 "forward propagation primitive");
4947 &weights_desc.
data,
nullptr,
4948 &dst_desc.
data, &strides[0], &dilates[0],
4949 &padding_l[0], &padding_r[0]),
4950 "could not create a descriptor for a dilated deconvolution "
4951 "forward propagation primitive");
4971 bool allow_empty =
false)
4973 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
4987 const engine &aengine,
bool allow_empty =
false)
4989 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
5064 &weights_desc.
data, &diff_dst_desc.
data,
5065 &strides[0], &padding_l[0], &padding_r[0]),
5066 "could not create a descriptor for a deconvolution "
5067 "backward propagation primitive");
5108 &weights_desc.
data, &diff_dst_desc.
data,
5109 &strides[0], &dilates[0], &padding_l[0],
5111 "could not create a descriptor for a dilated deconvolution "
5112 "backward propagation primitive");
5136 bool allow_empty =
false)
5138 hint_fwd_pd.
get(), allow_empty) {}
5157 bool allow_empty =
false)
5159 hint_fwd_pd.
get(), allow_empty) {}
5233 &diff_weights_desc.
data, &diff_bias_desc.
data,
5234 &diff_dst_desc.
data, &strides[0], &padding_l[0],
5236 "could not create a descriptor for a deconvolution weights "
5237 "update primitive");
5273 &src_desc.
data, &diff_weights_desc.
data,
5274 nullptr, &diff_dst_desc.
data, &strides[0],
5275 &padding_l[0], &padding_r[0]),
5276 "could not create a descriptor for a deconvolution weights "
5277 "update primitive");
5321 &diff_weights_desc.
data, &diff_bias_desc.
data,
5322 &diff_dst_desc.
data, &strides[0], &dilates[0],
5323 &padding_l[0], &padding_r[0]),
5324 "could not create a descriptor for a dilated deconvolution "
5325 "weights gradient primitive");
5366 &diff_weights_desc.
data,
nullptr,
5367 &diff_dst_desc.
data, &strides[0], &dilates[0],
5368 &padding_l[0], &padding_r[0]),
5369 "could not create a descriptor for a dilated deconvolution "
5370 "weights gradient primitive");
5394 bool allow_empty =
false)
5396 hint_fwd_pd.
get(), allow_empty) {}
5415 bool allow_empty =
false)
5417 hint_fwd_pd.
get(), allow_empty) {}
5487 float alpha,
float beta,
float k = 1.f) {
5491 local_size, alpha, beta, k),
5492 "could not create a descriptor for a lrn forward "
5493 "propagation primitive");
5512 bool allow_empty =
false)
5514 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5527 const engine &aengine,
bool allow_empty =
false)
5529 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
5581 float alpha,
float beta,
float k = 1.f) {
5584 &diff_data_desc.
data, &data_desc.
data, local_size,
5586 "could not create a descriptor for a lrn backward "
5587 "propagation primitive");
5610 bool allow_empty =
false)
5612 hint_fwd_pd.
get(), allow_empty) {}
5630 bool allow_empty =
false)
5632 hint_fwd_pd.
get(), allow_empty) {}
5714 &dst_desc.
data, &strides[0], &kernel[0],
5715 &padding_l[0], &padding_r[0]),
5716 "could not create a descriptor for a pooling forward "
5717 "propagation primitive");
5736 bool allow_empty =
false)
5738 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5751 const engine &aengine,
bool allow_empty =
false)
5753 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
5823 &diff_dst_desc.
data, &strides[0], &kernel[0],
5824 &padding_l[0], &padding_r[0]),
5825 "could not create a descriptor for a pooling backward "
5826 "propagation primitive");
5849 bool allow_empty =
false)
5851 hint_fwd_pd.
get(), allow_empty) {}
5869 bool allow_empty =
false)
5871 hint_fwd_pd.
get(), allow_empty) {}
5949 &data_desc.
data, alpha, beta),
5950 "could not create a descriptor for an eltwise forward "
5951 "propagation primitive");
5971 bool allow_empty =
false)
5973 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5987 const engine &aengine,
bool allow_empty =
false)
5989 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6041 &diff_data_desc.
data, &data_desc.
data, alpha, beta),
6042 "could not create a descriptor for an eltwise backward "
6043 "propagation primitive");
6067 bool allow_empty =
false)
6069 hint_fwd_pd.
get(), allow_empty) {}
6088 bool allow_empty =
false)
6090 hint_fwd_pd.
get(), allow_empty) {}
6152 &data_desc.
data, softmax_axis),
6153 "could not create a descriptor for a softmax forward "
6154 "propagation primitive");
6174 bool allow_empty =
false)
6176 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6190 const engine &aengine,
bool allow_empty =
false)
6192 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6241 &data_desc.
data, softmax_axis),
6242 "could not create a descriptor for a softmax backward "
6243 "propagation primitive");
6267 bool allow_empty =
false)
6269 hint_fwd_pd.
get(), allow_empty) {}
6288 bool allow_empty =
false)
6290 hint_fwd_pd.
get(), allow_empty) {}
6349 int logsoftmax_axis) {
6352 &data_desc.
data, logsoftmax_axis),
6353 "could not create a descriptor for a logsoftmax forward "
6354 "propagation primitive");
6374 bool allow_empty =
false)
6376 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6390 const engine &aengine,
bool allow_empty =
false)
6392 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6442 int logsoftmax_axis) {
6444 &diff_data_desc.
data, &data_desc.
data,
6446 "could not create a descriptor for a logsoftmax backward "
6447 "propagation primitive");
6471 bool allow_empty =
false)
6473 hint_fwd_pd.
get(), allow_empty) {}
6492 bool allow_empty =
false)
6494 hint_fwd_pd.
get(), allow_empty) {}
6577 "could not create a descriptor for a batch normalization "
6578 "forward propagation primitive");
6599 bool allow_empty =
false)
6601 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6615 const engine &aengine,
bool allow_empty =
false)
6617 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6662 "could not retrieve a descriptor from a primitive "
6663 "descriptor for batch normalization forward propagation "
6703 &diff_data_desc.
data, &data_desc.
data,
6705 "could not create a descriptor for a batch normalization "
6706 "backward propagation primitive");
6731 bool allow_empty =
false)
6733 hint_fwd_pd.
get(), allow_empty) {}
6752 bool allow_empty =
false)
6754 hint_fwd_pd.
get(), allow_empty) {}
6857 "could not create a descriptor for a layer normalization "
6858 "forward propagation primitive");
6877 "could not create a descriptor for a layer normalization "
6878 "forward propagation primitive");
6899 bool allow_empty =
false)
6901 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6915 const engine &aengine,
bool allow_empty =
false)
6917 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6960 "could not retrieve a descriptor from a primitive "
6961 "descriptor for layer normalization forward propagation "
7003 &diff_data_desc.
data, &data_desc.
data,
7005 "could not create a descriptor for a batch normalization "
7006 "backward propagation primitive");
7026 &diff_data_desc.
data, &data_desc.
data,
7028 "could not create a descriptor for a batch normalization "
7029 "backward propagation primitive");
7054 bool allow_empty =
false)
7056 hint_fwd_pd.
get(), allow_empty) {}
7075 bool allow_empty =
false)
7077 hint_fwd_pd.
get(), allow_empty) {}
7167 &src_desc.
data, &weights_desc.
data,
7169 "could not create a descriptor for an inner product "
7170 "forward propagation primitive");
7192 &weights_desc.
data,
nullptr, &dst_desc.
data),
7193 "could not create a descriptor for an inner product "
7194 "forward propagation primitive");
7214 bool allow_empty =
false)
7216 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
7230 const engine &aengine,
bool allow_empty =
false)
7232 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
7287 &diff_src_desc.
data, &weights_desc.
data,
7288 &diff_dst_desc.
data),
7289 "could not create a descriptor for an inner product "
7290 "backward propagation primitive");
7315 bool allow_empty =
false)
7317 hint_fwd_pd.
get(), allow_empty) {}
7336 bool allow_empty =
false)
7338 hint_fwd_pd.
get(), allow_empty) {}
7392 &src_desc.
data, &diff_weights_desc.
data,
7393 &diff_bias_desc.
data, &diff_dst_desc.
data),
7394 "could not create a descriptor for an inner product "
7395 "weights gradient primitive");
7413 &src_desc.
data, &diff_weights_desc.
data,
nullptr,
7414 &diff_dst_desc.
data),
7415 "could not create a descriptor for an inner product "
7416 "weights gradient primitive");
7440 bool allow_empty =
false)
7442 hint_fwd_pd.
get(), allow_empty) {}
7461 bool allow_empty =
false)
7463 hint_fwd_pd.
get(), allow_empty) {}
7513 using primitive_desc::primitive_desc;
7697 "could not retrieve a descriptor from a primitive descriptor "
7698 "for an RNN primitive");
7705 && (
rnn_d->prop_kind == c_prop_kind1
7706 ||
rnn_d->prop_kind == c_prop_kind2)
7707 &&
rnn_d->cell_kind == c_cell_kind;
7711 "mismatch between expected and provided descriptors for an "
7773 float beta = 0.0f) {
7779 &src_iter_desc.
data, &weights_layer_desc.
data,
7780 &weights_iter_desc.
data, &bias_desc.
data,
7781 &dst_layer_desc.
data, &dst_iter_desc.
data,
7783 "could not create a descriptor for a vanilla RNN forward "
7784 "propagation primitive");
7804 bool allow_empty =
false)
7806 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
7820 const engine &aengine,
bool allow_empty =
false)
7822 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
7953 float beta = 0.0f) {
7959 &src_iter_desc.
data, &weights_layer_desc.
data,
7960 &weights_iter_desc.
data, &bias_desc.
data,
7961 &dst_layer_desc.
data, &dst_iter_desc.
data,
7962 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
7963 &diff_weights_layer_desc.
data,
7964 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
7965 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
7967 "could not create a descriptor for a vanilla RNN backward "
7968 "propagation primitive");
7992 bool allow_empty =
false)
7994 hint_fwd_pd.
get(), allow_empty) {}
8013 bool allow_empty =
false)
8015 hint_fwd_pd.
get(), allow_empty) {}
8177 &src_iter_desc.
data, &src_iter_c_desc.
data,
8178 &weights_layer_desc.
data, &weights_iter_desc.
data,
8179 &weights_peephole_desc.
data,
8180 &weights_projection_desc.
data, &bias_desc.
data,
8181 &dst_layer_desc.
data, &dst_iter_desc.
data,
8183 "could not create a descriptor for an LSTM forward "
8184 "propagation primitive");
8244 &src_iter_desc.
data, &src_iter_c_desc.
data,
8245 &weights_layer_desc.
data, &weights_iter_desc.
data,
8246 &weights_peephole_desc.
data, &bias_desc.
data,
8247 &dst_layer_desc.
data, &dst_iter_desc.
data,
8249 "could not create a descriptor for an LSTM forward "
8250 "propagation primitive");
8304 &src_iter_desc.
data, &src_iter_c_desc.
data,
8305 &weights_layer_desc.
data, &weights_iter_desc.
data,
8306 &bias_desc.
data, &dst_layer_desc.
data,
8307 &dst_iter_desc.
data, &dst_iter_c_desc.
data,
8309 "could not create a descriptor for an LSTM forward "
8310 "propagation primitive");
8329 bool allow_empty =
false)
8331 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
8344 const engine &aengine,
bool allow_empty =
false)
8346 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
8532 &src_iter_desc.
data, &src_iter_c_desc.
data,
8533 &weights_layer_desc.
data, &weights_iter_desc.
data,
8534 &weights_peephole_desc.
data,
8535 &weights_projection_desc.
data, &bias_desc.
data,
8536 &dst_layer_desc.
data, &dst_iter_desc.
data,
8537 &dst_iter_c_desc.
data, &diff_src_layer_desc.
data,
8538 &diff_src_iter_desc.
data,
8539 &diff_src_iter_c_desc.
data,
8540 &diff_weights_layer_desc.
data,
8541 &diff_weights_iter_desc.
data,
8542 &diff_weights_peephole_desc.
data,
8543 &diff_weights_projection_desc.
data,
8544 &diff_bias_desc.
data, &diff_dst_layer_desc.
data,
8545 &diff_dst_iter_desc.
data,
8546 &diff_dst_iter_c_desc.
data,
8548 "could not create a descriptor for an LSTM backward "
8549 "propagation primitive");
8642 &src_iter_desc.
data, &src_iter_c_desc.
data,
8643 &weights_layer_desc.
data, &weights_iter_desc.
data,
8644 &weights_peephole_desc.
data, &bias_desc.
data,
8645 &dst_layer_desc.
data, &dst_iter_desc.
data,
8646 &dst_iter_c_desc.
data, &diff_src_layer_desc.
data,
8647 &diff_src_iter_desc.
data,
8648 &diff_src_iter_c_desc.
data,
8649 &diff_weights_layer_desc.
data,
8650 &diff_weights_iter_desc.
data,
8651 &diff_weights_peephole_desc.
data,
8652 &diff_bias_desc.
data, &diff_dst_layer_desc.
data,
8653 &diff_dst_iter_desc.
data,
8654 &diff_dst_iter_c_desc.
data,
8656 "could not create a descriptor for an LSTM backward "
8657 "propagation primitive");
8739 &src_iter_desc.
data, &src_iter_c_desc.
data,
8740 &weights_layer_desc.
data, &weights_iter_desc.
data,
8741 &bias_desc.
data, &dst_layer_desc.
data,
8742 &dst_iter_desc.
data, &dst_iter_c_desc.
data,
8743 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
8744 &diff_src_iter_c_desc.
data,
8745 &diff_weights_layer_desc.
data,
8746 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
8747 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
8748 &diff_dst_iter_c_desc.
data,
8750 "could not create a descriptor for an LSTM backward "
8751 "propagation primitive");
8774 bool allow_empty =
false)
8776 hint_fwd_pd.
get(), allow_empty) {}
8794 bool allow_empty =
false)
8796 hint_fwd_pd.
get(), allow_empty) {}
8978 &src_iter_desc.
data, &weights_layer_desc.
data,
8979 &weights_iter_desc.
data, &bias_desc.
data,
8980 &dst_layer_desc.
data, &dst_iter_desc.
data,
8982 "could not create a descriptor for a GRU forward "
8983 "propagation primitive");
9002 bool allow_empty =
false)
9004 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
9017 const engine &aengine,
bool allow_empty =
false)
9019 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9146 &src_iter_desc.
data, &weights_layer_desc.
data,
9147 &weights_iter_desc.
data, &bias_desc.
data,
9148 &dst_layer_desc.
data, &dst_iter_desc.
data,
9149 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
9150 &diff_weights_layer_desc.
data,
9151 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
9152 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
9154 "could not create a descriptor for a GRU backward "
9155 "propagation primitive");
9178 bool allow_empty =
false)
9180 hint_fwd_pd.
get(), allow_empty) {}
9198 bool allow_empty =
false)
9200 hint_fwd_pd.
get(), allow_empty) {}
9343 &src_iter_desc.
data, &weights_layer_desc.
data,
9344 &weights_iter_desc.
data, &bias_desc.
data,
9345 &dst_layer_desc.
data, &dst_iter_desc.
data,
9347 "could not create a descriptor for an LBR GRU forward "
9348 "propagation primitive");
9368 bool allow_empty =
false)
9370 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
9384 const engine &aengine,
bool allow_empty =
false)
9386 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9514 &src_iter_desc.
data, &weights_layer_desc.
data,
9515 &weights_iter_desc.
data, &bias_desc.
data,
9516 &dst_layer_desc.
data, &dst_iter_desc.
data,
9517 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
9518 &diff_weights_layer_desc.
data,
9519 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
9520 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
9522 "could not create a descriptor for an LBR GRU backward "
9523 "propagation primitive");
9547 bool allow_empty =
false)
9549 hint_fwd_pd.
get(), allow_empty) {}
9568 bool allow_empty =
false)
9570 hint_fwd_pd.
get(), allow_empty) {}
9690 &data_desc.
data, axis, group_size),
9691 "could not create a descriptor for a shuffle forward "
9692 "propagation primitive");
9714 bool allow_empty =
false)
9716 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9761 &diff_data_desc.
data, axis, group_size),
9762 "could not create a descriptor for a shuffle backward "
9763 "propagation primitive");
9789 bool allow_empty =
false)
9791 hint_fwd_pd.
get(), allow_empty) {}
9851 "could not create a descriptor for a binary operation "
9871 bool allow_empty =
false)
9873 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
9886 const engine &aengine,
bool allow_empty =
false)
9888 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9946 &weights_desc.
data,
nullptr, &dst_desc.
data),
9947 "could not create a descriptor for a matmul primitive");
9959 &weights_desc.
data, &bias_desc.
data,
9961 "could not create a descriptor for a matmul primitive");
9979 bool allow_empty =
false)
9981 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
9993 const engine &aengine,
bool allow_empty =
false)
9995 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
10068 "could not create a resampling forward descriptor");
10083 const std::vector<float> &factors,
10089 &src_desc.
data,
nullptr),
10090 "could not create a resampling forward descriptor");
10110 const std::vector<float> &factors,
const memory::desc &src_desc,
10112 if (!factors.empty())
10118 "could not create a resampling forward descriptor");
10138 bool allow_empty =
false)
10140 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
10154 const engine &aengine,
bool allow_empty =
false)
10156 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
10203 &diff_src_desc.
data, &diff_dst_desc.
data),
10204 "could not create a resampling backward data descriptor");
10219 if (!factors.empty())
10223 &diff_src_desc.
data, &diff_dst_desc.
data),
10224 "could not create a resampling backward data descriptor");
10248 bool allow_empty =
false)
10250 hint_fwd_pd.
get(), allow_empty) {}
10269 bool allow_empty =
false)
10271 hint_fwd_pd.
get(), allow_empty) {}
10355 &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 forward "
10358 "propagation primitive");
10378 bool allow_empty =
false)
10380 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
10394 const engine &aengine,
bool allow_empty =
false)
10396 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
10471 &diff_dst_desc.
data, &strides[0], &kernel[0],
10472 &dilation[0], &padding_l[0], &padding_r[0]),
10473 "could not create a descriptor for a pooling backward "
10474 "propagation primitive");
10499 bool allow_empty =
false)
10501 hint_fwd_pd.
get(), allow_empty) {}
10520 bool allow_empty =
false)
10522 hint_fwd_pd.
get(), allow_empty) {}
10570 dnnl_prelu_desc_t data;
10584 &data_desc.
data, &weight_desc.
data),
10585 "could not create a descriptor for a prelu forward "
10586 "propagation primitive");
10606 bool allow_empty =
false)
10608 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
10622 const engine &aengine,
bool allow_empty =
false)
10624 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
10657 dnnl_prelu_desc_t data;
10672 &weight_desc.
data, &diff_data_desc.
data,
10673 &diff_weights_desc.
data),
10674 "could not create a descriptor for a prelu backward "
10675 "propagation primitive");
10699 bool allow_empty =
false)
10701 hint_fwd_pd.
get(), allow_empty) {}
10720 bool allow_empty =
false)
10722 hint_fwd_pd.
get(), allow_empty) {}
10794 &src_desc.
data, &dst_desc.
data, p, eps),
10795 "could not create a reduction descriptor");
10813 bool allow_empty =
false)
10815 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
10827 const engine &aengine,
bool allow_empty =
false)
10829 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
10937 return static_cast<status>(
10978 "could not get primitive cache capacity");
10985 "could not set primitive cache capacity");
11002 transa, transb, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc));
11009 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co) {
11011 K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co));
11018 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co) {
11020 K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co));
11031 "could not create a primitive");
11037 inline void primitive::execute(
const stream &astream,
11038 const std::unordered_map<int, memory> &args)
const {
11039 std::vector<dnnl_exec_arg_t> c_args;
11040 c_args.reserve(args.size());
11041 for (
const auto &a : args)
11042 c_args.push_back({a.first, a.second.get(
true)});
11045 (
int)c_args.size(), c_args.data()),
11046 "could not execute a primitive");
11051 #undef DNNL_DEFINE_BITMASK_OPS
11061 #ifndef DOXYGEN_SHOULD_SKIP_THIS
11063 namespace dnnl = ::dnnl;
algorithm
Kinds of algorithms.
Definition: dnnl.hpp:470
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.
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.
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.
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.
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.
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_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.
dnnl_status_t DNNL_API dnnl_post_ops_destroy(dnnl_post_ops_t post_ops)
Destroys post-ops.
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.
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.
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.
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_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_v2(dnnl_post_ops_t post_ops, float scale, dnnl_data_type_t data_type)
Appends an accumulation v2 (sum) to post-ops.
int DNNL_API dnnl_post_ops_len(const_dnnl_post_ops_t post_ops)
Returns the length of post-ops.
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.
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.
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.
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.
dnnl_status_t DNNL_API dnnl_post_ops_create(dnnl_post_ops_t *post_ops)
Creates empty post-ops sequence.
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.
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_primitive_attr_clone(dnnl_primitive_attr_t *attr, const_dnnl_primitive_attr_t existing_attr)
Clones primitive attributes.
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.
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.
scratchpad_mode
Scratchpad mode.
Definition: dnnl.hpp:401
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.
prop_kind
Propagation kind.
Definition: dnnl.hpp:435
dnnl_scratchpad_mode_t
Scratchpad mode.
Definition: dnnl_types.h:2316
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.
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_status_t DNNL_API dnnl_post_ops_get_params_sum(const_dnnl_post_ops_t post_ops, int index, float *scale)
Returns the parameters of an accumulation (sum) post-op.
dnnl_status_t DNNL_API dnnl_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.
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.
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_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_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.
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.
@ eltwise_mish
Elementwise: mish.
@ resampling_linear
Linear (Bilinear, Trilinear) resampling method.
@ resampling_nearest
Nearest Neighbor resampling method.
@ eltwise_elu_use_dst_for_bwd
Elementwise: exponential linear unit (ELU) (dst for backward)
@ eltwise_tanh_use_dst_for_bwd
Elementwise: hyperbolic tangent non-linearity (tanh) (dst for backward)
@ reduction_norm_lp_power_p_sum
Reduction using norm_lp_power_p_sum operation.
@ eltwise_linear
Elementwise: linear.
@ eltwise_clip_v2
Eltwise: clip version 2.
@ eltwise_soft_relu
Elementwise: soft_relu.
@ eltwise_logistic
Elementwise: logistic.
@ eltwise_clip
Elementwise: clip.
@ binary_ge
Binary greater than or equal.
@ eltwise_abs
Elementwise: abs.
@ eltwise_pow
Elementwise: pow.
@ eltwise_tanh
Elementwise: hyperbolic tangent non-linearity (tanh)
@ eltwise_logistic_use_dst_for_bwd
Elementwise: logistic (dst for backward)
@ eltwise_bounded_relu
Elementwise: bounded_relu.
@ reduction_norm_lp_power_p_max
Reduction using norm_lp_power_p_max operation.
@ reduction_max
Reduction using max operation.
@ eltwise_clip_v2_use_dst_for_bwd
Elementwise: clip version 2 (dst for backward)
@ eltwise_square
Elementwise: square.
@ convolution_direct
Direct convolution.
@ eltwise_exp
Elementwise: exponent.
@ binary_gt
Binary greater than.
@ reduction_norm_lp_max
Reduction using norm_lp_max operation.
@ eltwise_elu
Elementwise: exponential linear unit (ELU)
@ convolution_winograd
Winograd convolution.
@ deconvolution_direct
Direct deconvolution.
@ pooling_avg
Average pooling exclude padding, alias for dnnl::algorithm::pooling_avg_exclude_padding.
@ lbr_gru
GRU cell with linear before reset.
@ pooling_avg_exclude_padding
Average pooling exclude padding.
@ eltwise_gelu
Elementwise: gelu alias for dnnl::algorithm::eltwise_gelu_tanh.
@ eltwise_sqrt
Elementwise: square root.
@ pooling_max
Max pooling.
@ reduction_min
Reduction using min operation.
@ eltwise_gelu_erf
Elementwise: erf-based gelu.
@ eltwise_swish
Elementwise: swish ( )
@ binary_ne
Binary not equal.
@ lrn_within_channel
LRN within a single channel.
@ binary_le
Binary less than or equal.
@ eltwise_hardswish
Elementwise: hardswish.
@ reduction_mul
Reduction using mul operation.
@ lrn_across_channels
Local response normalization (LRN) across multiple channels.
@ eltwise_relu
Elementwise: rectified linear unit (ReLU)
@ eltwise_gelu_tanh
Elementwise: tanh-based gelu.
@ eltwise_relu_use_dst_for_bwd
Elementwise: rectified linar unit (ReLU) (dst for backward)
@ eltwise_logsigmoid
Elementwise: logsigmoid.
@ convolution_auto
Convolution algorithm that is chosen to be either direct or Winograd automatically.
@ eltwise_exp_use_dst_for_bwd
Elementwise: exponent (dst for backward)
@ eltwise_round
Elementwise: round.
@ eltwise_sqrt_use_dst_for_bwd
Elementwise: square root (dst for backward)
@ pooling_avg_include_padding
Average pooling include padding.
@ reduction_norm_lp_sum
Reduction using norm_lp_sum operation.
@ reduction_mean
Reduction using mean operation.
@ deconvolution_winograd
Winograd deconvolution.
@ eltwise_log
Elementwise: natural logarithm.
@ undef
Undefined algorithm.
@ binary_lt
Binary less than.
@ reduction_sum
Reduction using sum operation.
@ library
The library manages the scratchpad allocation according to the policy specified by the DNNL_ENABLE_CO...
@ user
The user manages the scratchpad allocation by querying and providing the scratchpad memory to primiti...
@ backward
Backward propagation (with respect to all parameters).
@ backward_weights
Backward weights propagation.
@ forward_training
Forward data propagation (training mode).
@ forward_inference
Forward data propagation (inference mode).
@ forward_scoring
Forward data propagation, alias for dnnl::prop_kind::forward_inference.
@ forward
Forward data propagation, alias for dnnl::prop_kind::forward_training.
@ backward_data
Backward data propagation.
@ backward_bias
Backward bias propagation.
@ undef
Undefined propagation kind.
@ dnnl_scratchpad_mode_user
The user manages the scratchpad allocation by querying and providing the scratchpad memory to primiti...
Definition: dnnl_types.h:2338
@ dnnl_scratchpad_mode_library
The library manages the scratchpad allocation according to the policy specified by the DNNL_ENABLE_CO...
Definition: dnnl_types.h:2333
dnnl_status_t DNNL_API dnnl_batch_normalization_backward_desc_init(dnnl_batch_normalization_desc_t *bnrm_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, float epsilon, unsigned flags)
Initializes a descriptor for a batch normalization backward propagation primitive.
dnnl_status_t DNNL_API dnnl_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_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.
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,...
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:11006
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:11015
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.
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:10998
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_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_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.
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_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_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.
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.
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_status_t DNNL_API dnnl_dilated_deconvolution_backward_data_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated deconvolution backward propagation primitive.
dnnl_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.
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.
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.
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_forward_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated deconvolution forward propagation primitive.
dnnl_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.
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.
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.
dnnl_engine_kind_t
Kinds of engines.
Definition: dnnl_types.h:2262
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_engine_destroy(dnnl_engine_t engine)
Destroys an engine.
dnnl_status_t DNNL_API dnnl_engine_create(dnnl_engine_t *engine, dnnl_engine_kind_t kind, size_t index)
Creates an engine.
size_t DNNL_API dnnl_engine_get_count(dnnl_engine_kind_t kind)
Returns the number of engines of a particular kind.
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:987
@ dnnl_gpu
GPU engine.
Definition: dnnl_types.h:2268
@ dnnl_cpu
CPU engine.
Definition: dnnl_types.h:2266
@ dnnl_any_engine
An unspecified engine.
Definition: dnnl_types.h:2264
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.
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.
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.
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.
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_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_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.
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.
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_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.
dnnl_data_type_t
Data type specification.
Definition: dnnl_types.h:62
size_t DNNL_API dnnl_data_type_size(dnnl_data_type_t data_type)
Returns the size of data type.
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_format_tag_t
Memory format tag specification.
Definition: dnnl_types.h:164
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.
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.
dnnl_status_t DNNL_API dnnl_memory_create(dnnl_memory_t *memory, const dnnl_memory_desc_t *memory_desc, dnnl_engine_t engine, void *handle)
Creates a memory object.
dnnl_status_t DNNL_API dnnl_memory_get_engine(const_dnnl_memory_t memory, dnnl_engine_t *engine)
Returns the engine of a memory object.
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_status_t DNNL_API dnnl_memory_get_memory_desc(const_dnnl_memory_t memory, const dnnl_memory_desc_t **memory_desc)
Returns the memory descriptor for a memory object.
dnnl_status_t DNNL_API dnnl_memory_get_data_handle(const_dnnl_memory_t memory, void **handle)
Returns memory object's data handle.
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.
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.
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition: dnnl_types.h:1444
dnnl_status_t DNNL_API dnnl_memory_destroy(dnnl_memory_t memory)
Destroys a memory object.
int DNNL_API dnnl_memory_desc_equal(const dnnl_memory_desc_t *lhs, const dnnl_memory_desc_t *rhs)
Compares two memory descriptors.
#define DNNL_MAX_NDIMS
Maximum number of dimensions a tensor can have.
Definition: dnnl_types.h:1412
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.
size_t DNNL_API dnnl_memory_desc_get_size(const dnnl_memory_desc_t *memory_desc)
Returns the size of a memory descriptor.
#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:1622
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_f16
16-bit/half-precision floating point.
Definition: dnnl_types.h:66
@ dnnl_bf16
non-standard 16-bit (bfloat16 w/ 7 bit mantissa) floating point.
Definition: dnnl_types.h:68
@ dnnl_f32
32-bit/single-precision floating point.
Definition: dnnl_types.h:70
@ dnnl_data_type_undef
Undefined data type, used for empty memory descriptors.
Definition: dnnl_types.h:64
@ dnnl_s8
8-bit signed integer.
Definition: dnnl_types.h:74
@ dnnl_s32
32-bit signed integer.
Definition: dnnl_types.h:72
@ dnnl_u8
8-bit unsigned integer.
Definition: dnnl_types.h:76
@ dnnl_abcdefhg
permuted 8D tensor
Definition: dnnl_types.h:216
@ dnnl_aBCdef2b4c2b
6D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:362
@ dnnl_abcdefghi
plain 9D tensor
Definition: dnnl_types.h:186
@ dnnl_acdeb
permuted 5D tensor
Definition: dnnl_types.h:199
@ dnnl_abcdefgh
plain 8D tensor
Definition: dnnl_types.h:185
@ dnnl_abcdefghikj
permuted 11D tensor
Definition: dnnl_types.h:219
@ dnnl_ab
plain 2D tensor
Definition: dnnl_types.h:178
@ dnnl_ABcd8b8a
4D tensor blocked by 1st and 2nd dimension with block size 8
Definition: dnnl_types.h:288
@ dnnl_cdba
permuted 4D tensor
Definition: dnnl_types.h:208
@ dnnl_abcdefghijkl
plain 12D tensor
Definition: dnnl_types.h:189
@ dnnl_aBcdef4b
6D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:364
@ dnnl_abcdegf
permuted 7D tensor
Definition: dnnl_types.h:215
@ dnnl_abcdfe
permuted 6D tensor
Definition: dnnl_types.h:214
@ dnnl_aBcd4b
4D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:263
@ dnnl_nCdhw16c
5D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcde16b
Definition: dnnl_types.h:732
@ dnnl_abcde
plain 5D tensor
Definition: dnnl_types.h:182
@ dnnl_decab
permuted 5D tensor
Definition: dnnl_types.h:211
@ dnnl_bca
permuted 3D tensor
Definition: dnnl_types.h:204
@ dnnl_aBcde4b
5D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:315
@ dnnl_aBc16b
3D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:229
@ dnnl_aBcdef16b
6D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:354
@ dnnl_aBCde2b4c2b
5D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:352
@ dnnl_aBc4b
3D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:235
@ dnnl_abcdefghijk
plain 11D tensor
Definition: dnnl_types.h:188
@ dnnl_bacde
permuted 5D tensor
Definition: dnnl_types.h:203
@ dnnl_aBcd16b
4D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:255
@ dnnl_cba
permuted 3D tensor
Definition: dnnl_types.h:207
@ dnnl_ba
permuted 2D tensor
Definition: dnnl_types.h:200
@ dnnl_ABcde2b8a4b
5D tensor blocked by 1st dimension with block size 8
Definition: dnnl_types.h:304
@ dnnl_abcd
plain 4D tensor
Definition: dnnl_types.h:180
@ dnnl_format_tag_undef
Undefined memory format tag.
Definition: dnnl_types.h:166
@ dnnl_nCdhw4c
5D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcde4b
Definition: dnnl_types.h:735
@ dnnl_defcab
permuted 6D tensor
Definition: dnnl_types.h:212
@ dnnl_abcdef
plain 6D tensor
Definition: dnnl_types.h:183
@ dnnl_nChw8c
4D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcd8b
Definition: dnnl_types.h:750
@ dnnl_a
plain 1D tensor
Definition: dnnl_types.h:177
@ dnnl_nChw4c
4D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcd4b
Definition: dnnl_types.h:747
@ dnnl_acbdef
permuted 6D tensor
Definition: dnnl_types.h:197
@ dnnl_acdb
permuted 4D tensor
Definition: dnnl_types.h:198
@ dnnl_aBcd8b
4D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:282
@ dnnl_aBc8b
3D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:245
@ dnnl_nCw4c
3D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBc4b
Definition: dnnl_types.h:759
@ dnnl_abcdefg
plain 7D tensor
Definition: dnnl_types.h:184
@ dnnl_aBcde8b
5D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:330
@ dnnl_nChw16c
4D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcd16b
Definition: dnnl_types.h:744
@ dnnl_abdfce
permuted 6D tensor
Definition: dnnl_types.h:424
@ dnnl_abdec
permuted 5D tensor
Definition: dnnl_types.h:194
@ dnnl_bacd
permuted 4D tensor
Definition: dnnl_types.h:202
@ dnnl_nCdhw8c
5D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcde8b
Definition: dnnl_types.h:738
@ dnnl_aBcde32b
5D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:313
@ dnnl_abced
permuted 5D tensor
Definition: dnnl_types.h:213
@ dnnl_bcda
permuted 4D tensor
Definition: dnnl_types.h:205
@ dnnl_acbde
permuted 5D tensor
Definition: dnnl_types.h:196
@ dnnl_aBCd2b4c2b
4D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:300
@ dnnl_abcdefgih
permuted 9D tensor
Definition: dnnl_types.h:217
@ dnnl_bcdea
permuted 5D tensor
Definition: dnnl_types.h:206
@ dnnl_abdefc
permuted 6D tensor
Definition: dnnl_types.h:425
@ dnnl_aBcde16b
5D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:306
@ dnnl_nCw8c
3D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBc8b
Definition: dnnl_types.h:762
@ dnnl_abdc
permuted 4D tensor
Definition: dnnl_types.h:193
@ dnnl_ABcde4b16a4b
5D tensor blocked by 1st dimension with block size 16
Definition: dnnl_types.h:302
@ dnnl_aBcd32b
4D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:261
@ dnnl_abcdefghijlk
permuted 12D tensor
Definition: dnnl_types.h:220
@ dnnl_format_tag_last
Just a sentinel, not real memory format tag.
Definition: dnnl_types.h:590
@ dnnl_abc
plain 3D tensor
Definition: dnnl_types.h:179
@ dnnl_bac
permuted 3D tensor
Definition: dnnl_types.h:201
@ dnnl_dcab
permuted 4D tensor
Definition: dnnl_types.h:209
@ dnnl_cdeba
permuted 5D tensor
Definition: dnnl_types.h:210
@ dnnl_acb
permuted 3D tensor
Definition: dnnl_types.h:195
@ dnnl_aBc32b
3D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:233
@ dnnl_abcdefghji
permuted 10D tensor
Definition: dnnl_types.h:218
@ dnnl_nCw16c
3D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBc16b
Definition: dnnl_types.h:756
@ dnnl_aBCdef2c8b4c
6D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:359
@ dnnl_abcdefghij
plain 10D tensor
Definition: dnnl_types.h:187
@ dnnl_format_tag_any
Undefined memory format tag.
Definition: dnnl_types.h:169
@ dnnl_blocked
A tensor in a generic format described by the stride and blocking values in each dimension.
Definition: dnnl_types.h:89
@ dnnl_format_kind_wino
Weights format used in 8bit Winograd convolution.
Definition: dnnl_types.h:91
@ dnnl_format_kind_any
Unspecified format kind.
Definition: dnnl_types.h:85
@ dnnl_format_kind_undef
Undefined memory format kind, used for empty memory descriptors.
Definition: dnnl_types.h:82
@ dnnl_format_kind_rnn_packed
Packed weights format used in RNN.
Definition: dnnl_types.h:93
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...
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...
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_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.
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_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...
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:10983
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.
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.
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:10975
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.
#define DNNL_ARG_DST_ITER
A special mnemonic for RNN input recurrent hidden state vector.
Definition: dnnl_types.h:2433
dnnl_status_t DNNL_API dnnl_primitive_desc_iterator_destroy(dnnl_primitive_desc_iterator_t iterator)
Destroys a primitive descriptor iterator.
#define DNNL_ARG_WEIGHTS_LAYER
A special mnemonic for RNN weights applied to the layer input.
Definition: dnnl_types.h:2451
#define DNNL_ARG_DIFF_BIAS
Gradient (diff) of the bias tensor argument.
Definition: dnnl_types.h:2563
#define DNNL_ARG_DIFF_SRC_ITER_C
A special mnemonic for gradient (diff) of RNN input recurrent cell state vector.
Definition: dnnl_types.h:2509
#define DNNL_ARG_DIFF_SRC_LAYER
A special mnemonic for gradient (diff) of RNN input vector.
Definition: dnnl_types.h:2497
#define DNNL_ARG_DIFF_WEIGHTS_PEEPHOLE
A special mnemonic for diff of RNN weights applied to the peephole weights.
Definition: dnnl_types.h:2554
#define DNNL_ARG_WEIGHTS_PROJECTION
A special mnemonic for RNN weights applied to the projection weights.
Definition: dnnl_types.h:2469
dnnl_normalization_flags_t
Flags for normalization primitives.
Definition: dnnl_types.h:1335
#define DNNL_ARG_DIFF_WEIGHTS_PROJECTION
A special mnemonic for diff of RNN weights applied to the projection weights.
Definition: dnnl_types.h:2560
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_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.
#define DNNL_ARG_DIFF_WEIGHTS_ITER
A special mnemonic for diff of RNN weights applied to the recurrent input.
Definition: dnnl_types.h:2548
#define DNNL_ARG_DIFF_SRC_ITER
A special mnemonic for gradient (diff) of RNN input recurrent hidden state vector.
Definition: dnnl_types.h:2503
#define DNNL_ARG_DIFF_DST_ITER_C
A special mnemonic for gradient (diff) of RNN input recurrent cell state vector.
Definition: dnnl_types.h:2530
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.
#define DNNL_ARG_WEIGHTS_ITER
A special mnemonic for RNN weights applied to the recurrent input.
Definition: dnnl_types.h:2457
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.
dnnl_status_t DNNL_API dnnl_primitive_desc_destroy(dnnl_primitive_desc_t primitive_desc)
Destroys a primitive descriptor.
const void * const_dnnl_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: dnnl_types.h:1634
const_dnnl_primitive_desc_t get_primitive_desc() const
Returns the C API primitive descriptor of the underlying C API primitive.
Definition: dnnl.hpp:368
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.
#define DNNL_ARG_DST_ITER_C
A special mnemonic for LSTM output recurrent cell state vector.
Definition: dnnl_types.h:2439
#define DNNL_ARG_SRC_ITER_C
A special mnemonic for RNN input recurrent cell state vector.
Definition: dnnl_types.h:2416
query
Primitive descriptor query specification.
Definition: dnnl.hpp:771
#define DNNL_ARG_FROM
A special mnemonic for reorder source argument.
Definition: dnnl_types.h:2404
dnnl_alg_kind_t
Kinds of algorithms.
Definition: dnnl_types.h:1185
dnnl_primitive_kind_t
Kinds of primitives.
Definition: dnnl_types.h:1131
dnnl_query_t
Primitive descriptor query specification.
Definition: dnnl_types.h:2639
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:364
struct dnnl_primitive_desc * dnnl_primitive_desc_t
A primitive descriptor handle.
Definition: dnnl_types.h:2305
#define DNNL_ARG_WEIGHTS_PEEPHOLE
A special mnemonic for RNN weights applied to the peephole weights.
Definition: dnnl_types.h:2463
kind get_kind() const
Returns the kind of the primitive.
Definition: dnnl.hpp:375
#define DNNL_ARG_SRC_LAYER
A special mnemonic for RNN input vector.
Definition: dnnl_types.h:2401
dnnl_status_t DNNL_API dnnl_primitive_destroy(dnnl_primitive_t primitive)
Destroys a primitive.
#define DNNL_ARG_DIFF_WEIGHTS_LAYER
A special mnemonic for diff of RNN weights applied to the layer input.
Definition: dnnl_types.h:2542
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.
#define DNNL_ARG_DST_LAYER
A special mnemonic for RNN output vector. An alias for DNNL_ARG_DST_0.
Definition: dnnl_types.h:2427
dnnl_status_t DNNL_API dnnl_primitive_create(dnnl_primitive_t *primitive, const_dnnl_primitive_desc_t primitive_desc)
Creates a primitive.
#define DNNL_ARG_BIAS
Bias tensor argument.
Definition: dnnl_types.h:2472
normalization_flags
Flags for normalization primitives.
Definition: dnnl.hpp:631
#define DNNL_ARG_DIFF_DST_ITER
A special mnemonic for gradient (diff) of RNN input recurrent hidden state vector.
Definition: dnnl_types.h:2524
dnnl_prop_kind_t
Kinds of propagation.
Definition: dnnl_types.h:1104
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.
#define DNNL_ARG_SRC_ITER
A special mnemonic for RNN input recurrent hidden state vector.
Definition: dnnl_types.h:2410
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.
#define DNNL_ARG_TO
A special mnemonic for reorder destination argument.
Definition: dnnl_types.h:2425
#define DNNL_ARG_DIFF_DST_LAYER
A special mnemonic for gradient (diff) of RNN output vector.
Definition: dnnl_types.h:2518
@ dnnl_use_scale
Use scale parameter.
Definition: dnnl_types.h:1391
@ dnnl_fuse_norm_relu
Fuse with ReLU.
Definition: dnnl_types.h:1383
@ dnnl_normalization_flags_none
Use no normalization flags.
Definition: dnnl_types.h:1344
@ dnnl_use_scaleshift
Use scale and shift parameters.
Definition: dnnl_types.h:1370
@ dnnl_use_global_stats
Use global statistics.
Definition: dnnl_types.h:1357
@ dnnl_use_shift
Use shift parameter.
Definition: dnnl_types.h:1400
@ batch_normalization_d
batch normalization descriptor
@ weights_md
weights memory descriptor desc
@ memory_consumption_s64
memory required for scratchpad (bytes)
@ shuffle_d
shuffle descriptor
@ deconvolution_d
deconvolution descriptor
@ impl_info_str
implementation name
@ diff_weights_md
weights gradient (diff) memory desc
@ workspace_md
workspace memory desc
@ reduction_d
reduction descriptor
@ eltwise_d
eltwise descriptor
@ matmul_d
matmul descriptor
@ softmax_d
softmax descriptor
@ num_of_outputs_s32
number of outputs expected
@ primitive_kind
primitive kind
@ dst_md
destination memory desc
@ scratchpad_engine
scratchpad engine
@ reorder_src_engine
reorder source engine
@ op_d
operation descriptor
@ layer_normalization_d
layer normalization descriptor
@ logsoftmax_d
logsoftmax descriptor
@ pooling_d
pooling descriptor
@ num_of_inputs_s32
number of inputs expected
@ diff_src_md
source gradient (diff) memory desc
@ src_md
source memory desc
@ scratchpad_md
scratchpad memory desc
@ reorder_dst_engine
reorder destination engine
@ convolution_d
convolution descriptor
@ time_estimate_f64
runtime estimation (seconds), unimplemented
@ binary_d
binary descriptor
@ diff_dst_md
destination gradient (diff) memory desc
@ exec_arg_md
memory desc of an execute argument
@ inner_product_d
inner product descriptor
@ resampling_d
resampling descriptor
@ dnnl_pooling_avg_exclude_padding
Average pooling exclude padding.
Definition: dnnl_types.h:1265
@ dnnl_eltwise_clip
Eltwise: clip.
Definition: dnnl_types.h:1231
@ dnnl_eltwise_tanh_use_dst_for_bwd
Eltwise: hyperbolic tangent non-linearity (tanh) (dst for backward)
Definition: dnnl_types.h:1249
@ dnnl_eltwise_logsigmoid
Eltwise: logsigmoid.
Definition: dnnl_types.h:1241
@ dnnl_pooling_avg
Average pooling (alias for dnnl_pooling_avg_exclude_padding)
Definition: dnnl_types.h:1267
@ dnnl_eltwise_gelu_tanh
Eltwise: gelu.
Definition: dnnl_types.h:1223
@ dnnl_resampling_linear
Linear Resampling Method.
Definition: dnnl_types.h:1313
@ dnnl_eltwise_sqrt
Eltwise: square root.
Definition: dnnl_types.h:1208
@ dnnl_binary_min
Binary min.
Definition: dnnl_types.h:1293
@ dnnl_reduction_norm_lp_sum
Reduction using lp norm.
Definition: dnnl_types.h:1327
@ dnnl_eltwise_abs
Eltwise: abs.
Definition: dnnl_types.h:1206
@ dnnl_reduction_norm_lp_power_p_max
Reduction using lp norm without final pth-root.
Definition: dnnl_types.h:1329
@ dnnl_reduction_min
Reduction using min.
Definition: dnnl_types.h:1317
@ dnnl_binary_ne
Binary not equal.
Definition: dnnl_types.h:1309
@ dnnl_eltwise_sqrt_use_dst_for_bwd
Eltwise: square root (dst for backward)
Definition: dnnl_types.h:1253
@ dnnl_eltwise_exp
Eltwise: exponent.
Definition: dnnl_types.h:1218
@ dnnl_eltwise_square
Eltwise: square.
Definition: dnnl_types.h:1204
@ dnnl_eltwise_gelu
Eltwise: tanh-based gelu (alias for dnnl_eltwise_gelu_tanh)
Definition: dnnl_types.h:1225
@ dnnl_convolution_winograd
Winograd convolution.
Definition: dnnl_types.h:1190
@ dnnl_eltwise_clip_v2_use_dst_for_bwd
Eltwise: clip version 2 (dst for backward)
Definition: dnnl_types.h:1259
@ dnnl_lrn_across_channels
Local response normalization (LRN) across multiple channels.
Definition: dnnl_types.h:1269
@ dnnl_binary_sub
Binary sub.
Definition: dnnl_types.h:1297
@ dnnl_deconvolution_direct
Direct deconvolution.
Definition: dnnl_types.h:1194
@ dnnl_binary_eq
Binary equal.
Definition: dnnl_types.h:1307
@ dnnl_eltwise_relu
Eltwise: ReLU.
Definition: dnnl_types.h:1198
@ dnnl_convolution_auto
Convolution algorithm(either direct or Winograd) is chosen just in time.
Definition: dnnl_types.h:1192
@ dnnl_eltwise_swish
Eltwise: swish.
Definition: dnnl_types.h:1227
@ dnnl_vanilla_rnn
RNN cell.
Definition: dnnl_types.h:1273
@ dnnl_eltwise_gelu_erf
Eltwise: erf-based gelu.
Definition: dnnl_types.h:1237
@ dnnl_vanilla_lstm
LSTM cell.
Definition: dnnl_types.h:1275
@ dnnl_eltwise_elu
Eltwise: exponential linear unit (elu)
Definition: dnnl_types.h:1202
@ dnnl_vanilla_gru
GRU cell.
Definition: dnnl_types.h:1277
@ dnnl_lbr_gru
GRU cell with linear before reset.
Definition: dnnl_types.h:1285
@ dnnl_eltwise_tanh
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition: dnnl_types.h:1200
@ dnnl_convolution_direct
Direct convolution.
Definition: dnnl_types.h:1188
@ dnnl_eltwise_soft_relu
Eltwise: soft_relu.
Definition: dnnl_types.h:1214
@ dnnl_binary_ge
Binary greater or equal.
Definition: dnnl_types.h:1299
@ dnnl_eltwise_log
Eltwise: natural logarithm.
Definition: dnnl_types.h:1229
@ dnnl_eltwise_clip_v2
Eltwise: clip version 2.
Definition: dnnl_types.h:1233
@ dnnl_lrn_within_channel
LRN within a single channel.
Definition: dnnl_types.h:1271
@ dnnl_eltwise_elu_use_dst_for_bwd
Eltwise: exponential linear unit (elu) (dst for backward)
Definition: dnnl_types.h:1251
@ dnnl_deconvolution_winograd
Winograd deconvolution.
Definition: dnnl_types.h:1196
@ dnnl_eltwise_hardswish
Eltwise: hardswish.
Definition: dnnl_types.h:1245
@ dnnl_reduction_mul
Reduction using mul.
Definition: dnnl_types.h:1321
@ dnnl_eltwise_pow
Eltwise: pow.
Definition: dnnl_types.h:1235
@ dnnl_eltwise_relu_use_dst_for_bwd
Eltwise: ReLU (dst for backward)
Definition: dnnl_types.h:1247
@ dnnl_binary_gt
Binary greater than.
Definition: dnnl_types.h:1301
@ dnnl_reduction_max
Reduction using max.
Definition: dnnl_types.h:1315
@ dnnl_eltwise_logistic
Eltwise: logistic.
Definition: dnnl_types.h:1216
@ dnnl_binary_lt
Binary less than.
Definition: dnnl_types.h:1305
@ dnnl_pooling_avg_include_padding
Average pooling include padding.
Definition: dnnl_types.h:1263
@ dnnl_reduction_mean
Reduction using mean.
Definition: dnnl_types.h:1323
@ dnnl_binary_le
Binary less or equal.
Definition: dnnl_types.h:1303
@ dnnl_pooling_max
Max pooling.
Definition: dnnl_types.h:1261
@ dnnl_eltwise_logistic_use_dst_for_bwd
Eltwise: logistic (dst for backward)
Definition: dnnl_types.h:1255
@ dnnl_binary_add
Binary add.
Definition: dnnl_types.h:1287
@ dnnl_binary_div
Binary div.
Definition: dnnl_types.h:1295
@ dnnl_reduction_norm_lp_max
Reduction using lp norm.
Definition: dnnl_types.h:1325
@ dnnl_reduction_norm_lp_power_p_sum
Reduction using lp norm without final pth-root.
Definition: dnnl_types.h:1331
@ dnnl_eltwise_round
Eltwise: round.
Definition: dnnl_types.h:1239
@ dnnl_binary_mul
Binary mul.
Definition: dnnl_types.h:1289
@ dnnl_eltwise_mish
Eltwise: mish.
Definition: dnnl_types.h:1243
@ dnnl_reduction_sum
Reduction using sum.
Definition: dnnl_types.h:1319
@ dnnl_eltwise_exp_use_dst_for_bwd
Eltwise: exp (dst for backward)
Definition: dnnl_types.h:1257
@ dnnl_eltwise_bounded_relu
Eltwise: bounded_relu.
Definition: dnnl_types.h:1212
@ dnnl_eltwise_linear
Eltwise: linear.
Definition: dnnl_types.h:1210
@ dnnl_resampling_nearest
Nearest Neighbor Resampling Method.
Definition: dnnl_types.h:1311
@ dnnl_binary_max
Binary max.
Definition: dnnl_types.h:1291
@ dnnl_binary
A binary primitive.
Definition: dnnl_types.h:1165
@ dnnl_concat
A (out-of-place) concat primitive.
Definition: dnnl_types.h:1139
@ dnnl_reorder
A reorder primitive.
Definition: dnnl_types.h:1135
@ dnnl_convolution
A convolution primitive.
Definition: dnnl_types.h:1143
@ dnnl_inner_product
An inner product primitive.
Definition: dnnl_types.h:1159
@ dnnl_resampling
A resampling primitive.
Definition: dnnl_types.h:1171
@ dnnl_batch_normalization
A batch normalization primitive.
Definition: dnnl_types.h:1155
@ dnnl_undefined_primitive
Undefined primitive.
Definition: dnnl_types.h:1133
@ dnnl_sum
A sum primitive.
Definition: dnnl_types.h:1141
@ dnnl_pooling_v2
A pooling version 2 primitive (pooling with dilation support).
Definition: dnnl_types.h:1173
@ dnnl_layer_normalization
A layer normalization primitive.
Definition: dnnl_types.h:1157
@ dnnl_prelu
A PReLU primitive.
Definition: dnnl_types.h:1177
@ dnnl_eltwise
An element-wise primitive.
Definition: dnnl_types.h:1147
@ dnnl_matmul
A matrix multiplication primitive.
Definition: dnnl_types.h:1169
@ dnnl_shuffle
A shuffle primitive.
Definition: dnnl_types.h:1137
@ dnnl_logsoftmax
A logsoftmax primitive.
Definition: dnnl_types.h:1167
@ dnnl_pooling
A pooling primitive.
Definition: dnnl_types.h:1151
@ dnnl_deconvolution
A deconvolution primitive.
Definition: dnnl_types.h:1145
@ dnnl_softmax
A softmax primitive.
Definition: dnnl_types.h:1149
@ dnnl_rnn
A rnn primitive.
Definition: dnnl_types.h:1161
@ dnnl_reduction
A reduction primitive.
Definition: dnnl_types.h:1175
@ dnnl_lrn
An LRN primitive.
Definition: dnnl_types.h:1153
@ dnnl_query_resampling_d
resampling descriptor
Definition: dnnl_types.h:2682
@ dnnl_query_num_of_outputs_s32
number of outputs expected
Definition: dnnl_types.h:2646
@ dnnl_query_convolution_d
convolution descriptor
Definition: dnnl_types.h:2667
@ dnnl_query_weights_md
weights memory descriptor desc
Definition: dnnl_types.h:2691
@ dnnl_query_src_md
source memory desc
Definition: dnnl_types.h:2689
@ dnnl_query_softmax_d
softmax descriptor
Definition: dnnl_types.h:2671
@ dnnl_query_binary_d
binary descriptor
Definition: dnnl_types.h:2679
@ dnnl_query_workspace_md
workspace memory desc
Definition: dnnl_types.h:2695
@ dnnl_query_matmul_d
matrix multiplication (matmul) descriptor
Definition: dnnl_types.h:2681
@ dnnl_query_num_of_inputs_s32
number of inputs expected
Definition: dnnl_types.h:2645
@ dnnl_query_op_d
op descriptor
Definition: dnnl_types.h:2666
@ dnnl_query_diff_src_md
source gradient memory desc
Definition: dnnl_types.h:2690
@ dnnl_query_scratchpad_md
scratchpad memory desc
Definition: dnnl_types.h:2696
@ dnnl_query_shuffle_d
shuffle descriptor
Definition: dnnl_types.h:2669
@ dnnl_query_memory_consumption_s64
memory consumption – extra
Definition: dnnl_types.h:2649
@ dnnl_query_inner_product_d
inner product descriptor
Definition: dnnl_types.h:2676
@ dnnl_query_deconvolution_d
deconvolution descriptor
Definition: dnnl_types.h:2668
@ dnnl_query_primitive_kind
primitive kind
Definition: dnnl_types.h:2643
@ dnnl_query_batch_normalization_d
batch normalization descriptor
Definition: dnnl_types.h:2674
@ dnnl_query_impl_info_str
for creating scratchpad memory
Definition: dnnl_types.h:2657
@ dnnl_query_time_estimate_f64
runtime estimation (seconds)
Definition: dnnl_types.h:2648
@ dnnl_query_eltwise_d
eltwise descriptor
Definition: dnnl_types.h:2670
@ dnnl_query_diff_weights_md
weights grad. memory desc
Definition: dnnl_types.h:2692
@ dnnl_query_reduction_d
reduction descriptor
Definition: dnnl_types.h:2684
@ dnnl_query_reorder_dst_engine
destination engine
Definition: dnnl_types.h:2660
@ dnnl_query_reorder_src_engine
source engine
Definition: dnnl_types.h:2659
@ dnnl_query_scratchpad_engine
(scratch) memory, additional to all inputs and outputs memory (bytes)
Definition: dnnl_types.h:2654
@ dnnl_query_undef
no query
Definition: dnnl_types.h:2640
@ dnnl_query_prop_kind
propagation kind
Definition: dnnl_types.h:2662
@ dnnl_query_pooling_d
pooling descriptor
Definition: dnnl_types.h:2672
@ dnnl_query_exec_arg_md
memory desc of an execute argument
Definition: dnnl_types.h:2697
@ dnnl_query_engine
execution engine
Definition: dnnl_types.h:2642
@ dnnl_query_rnn_d
rnn descriptor
Definition: dnnl_types.h:2677
@ dnnl_query_layer_normalization_d
layer normalization descriptor
Definition: dnnl_types.h:2675
@ dnnl_query_lrn_d
lrn descriptor
Definition: dnnl_types.h:2673
@ dnnl_query_dst_md
destination memory desc
Definition: dnnl_types.h:2693
@ dnnl_query_diff_dst_md
destination grad. memory desc
Definition: dnnl_types.h:2694
@ dnnl_query_logsoftmax_d
logsoftmax descriptor
Definition: dnnl_types.h:2680
@ use_scale_shift
Use scale and shift parameters.
@ none
Use no normalization flags.
@ fuse_norm_relu
Fuse normalization with ReLU.
@ use_global_stats
Use global statistics.
@ use_scale
Use scale parameter.
@ use_shift
Use shift parameter.
@ dnnl_backward_weights
Backward weights propagation.
Definition: dnnl_types.h:1124
@ dnnl_forward_inference
Forward data propagation (inference mode).
Definition: dnnl_types.h:1114
@ dnnl_backward
Backward propagation (with respect to all parameters).
Definition: dnnl_types.h:1120
@ dnnl_backward_data
Backward data propagation.
Definition: dnnl_types.h:1122
@ dnnl_prop_kind_undef
Undefined propagation type.
Definition: dnnl_types.h:1107
@ dnnl_forward
Forward data propagation (alias for dnnl_forward_training).
Definition: dnnl_types.h:1118
@ dnnl_forward_training
Forward data propagation (training mode).
Definition: dnnl_types.h:1110
@ dnnl_backward_bias
Backward bias propagation.
Definition: dnnl_types.h:1126
@ dnnl_forward_scoring
Forward data propagation (alias for dnnl_forward_inference).
Definition: dnnl_types.h:1116
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.
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.
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_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.
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.
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.
rnn_direction
A direction of RNN primitive execution.
Definition: dnnl.hpp:738
dnnl_rnn_flags_t
Flags for RNN cell.
Definition: dnnl_types.h:2046
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.
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.
dnnl_rnn_direction_t
A direction of RNN primitive execution.
Definition: dnnl_types.h:2052
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_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_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.
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.
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.
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...
rnn_flags
RNN cell flags.
Definition: dnnl.hpp:684
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.
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.
@ unidirectional_left2right
Unidirectional execution of RNN primitive from left to right.
@ unidirectional_right2left
Unidirectional execution of RNN primitive from right to left.
@ bidirectional_concat
Bidirectional execution of RNN primitive with concatenation of the results.
@ unidirectional
Alias for dnnl::rnn_direction::unidirectional_left2right.
@ bidirectional_sum
Bidirectional execution of RNN primitive with summation of the results.
@ dnnl_rnn_flags_undef
Undefined RNN flags.
Definition: dnnl_types.h:2048
@ dnnl_unidirectional
Alias for dnnl_unidirectional_left2right.
Definition: dnnl_types.h:2064
@ dnnl_bidirectional_concat
Bidirectional execution of RNN primitive with concatenation of the results.
Definition: dnnl_types.h:2059
@ dnnl_bidirectional_sum
Bidirectional execution of RNN primitive with summation of the results.
Definition: dnnl_types.h:2062
@ dnnl_unidirectional_left2right
Unidirectional execution of RNN primitive from left to right.
Definition: dnnl_types.h:2054
@ dnnl_unidirectional_right2left
Unidirectional execution of RNN primitive from right to left.
Definition: dnnl_types.h:2056
@ undef
Undefined RNN flags.
dnnl_status_t DNNL_API dnnl_set_jit_dump(int enable)
Configures dumping of JIT-generated code.
status set_max_cpu_isa(cpu_isa isa)
Sets the maximal ISA the library can dispatch to on the CPU.
Definition: dnnl.hpp:10936
dnnl_status_t DNNL_API dnnl_set_verbose(int level)
Configures verbose output to stdout.
status set_jit_dump(int enable)
Configures dumping of JIT-generated code.
Definition: dnnl.hpp:10895
status set_cpu_isa_hints(cpu_isa_hints isa_hints)
Sets the hints flag for the CPU ISA.
Definition: dnnl.hpp:10955
dnnl_cpu_isa_t
CPU instruction set flags.
Definition: dnnl_types.h:2789
status set_verbose(int level)
Configures verbose output to stdout.
Definition: dnnl.hpp:10885
cpu_isa get_effective_cpu_isa()
Gets the maximal ISA the library can dispatch to on the CPU.
Definition: dnnl.hpp:10942
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.
dnnl_status_t DNNL_API dnnl_set_jit_profiling_flags(unsigned flags)
Sets library profiling flags.
status set_jit_profiling_jitdumpdir(const std::string &dir)
Sets JIT dump output path.
Definition: dnnl.hpp:10905
const dnnl_version_t DNNL_API * dnnl_version(void)
Returns library version information.
status
Status values returned by the library functions.
Definition: dnnl.hpp:10867
cpu_isa_hints get_cpu_isa_hints()
Gets the ISA specific hints that library can follow.
Definition: dnnl.hpp:10961
status set_jit_profiling_flags(unsigned flags)
Sets library profiling flags.
Definition: dnnl.hpp:10900
const version_t * version()
Returns library version information.
Definition: dnnl.hpp:10890
cpu_isa
CPU instruction set flags.
Definition: dnnl.hpp:10910
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 DNNL_API dnnl_set_cpu_isa_hints(dnnl_cpu_isa_hints_t isa_hints)
Sets the hints flag for the CPU ISA.
dnnl_cpu_isa_hints_t DNNL_API dnnl_get_cpu_isa_hints(void)
Gets the ISA specific hints that library can follow.
dnnl_cpu_isa_hints_t
CPU ISA hints flags.
Definition: dnnl_types.h:2835
cpu_isa_hints
CPU ISA hints flags.
Definition: dnnl.hpp:10947
dnnl_status_t DNNL_API dnnl_set_jit_profiling_jitdumpdir(const char *dir)
Sets JIT dump output path.
@ 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:2804
@ dnnl_cpu_isa_avx
Intel Advanced Vector Extensions (Intel AVX)
Definition: dnnl_types.h:2797
@ 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:2827
@ 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:2817
@ dnnl_cpu_isa_avx2
Intel Advanced Vector Extensions 2 (Intel AVX2)
Definition: dnnl_types.h:2800
@ dnnl_cpu_isa_all
Any ISA (excepting those listed as initial support)
Definition: dnnl_types.h:2791
@ dnnl_cpu_isa_avx512_core
Intel AVX-512 subset for Intel Xeon Scalable processor family and Intel Core processor family.
Definition: dnnl_types.h:2812
@ dnnl_cpu_isa_sse41
Intel Streaming SIMD Extensions 4.1 (Intel SSE4.1)
Definition: dnnl_types.h:2794
@ dnnl_cpu_isa_avx2_vnni
Intel AVX2 and Intel Deep Learning Boost (Intel DL Boost) support.
Definition: dnnl_types.h:2830
@ 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:2822
@ dnnl_cpu_isa_avx512_mic_4ops
Intel AVX-512 subset for Intel Xeon Phi processors 7235, 7285, 7295 Series.
Definition: dnnl_types.h:2808
@ not_required
Queried element is not required for given primitive.
@ invalid_arguments
The operation failed because of incorrect function arguments.
@ success
The operation was successful.
@ unimplemented
The operation failed because requested functionality is not implemented.
@ runtime_error
Primitive or engine failed on execution.
@ out_of_memory
The operation failed due to an out-of-memory condition.
@ iterator_ends
Primitive iterator passed over last primitive descriptor.
@ avx512_mic
Intel Advanced Vector Extensions 512 (Intel AVX-512) subset for Intel Xeon Phi processors x200 Series...
@ avx2
Intel Advanced Vector Extensions 2 (Intel AVX2)
@ avx2_vnni
Intel AVX2 and Intel Deep Learning Boost (Intel DL Boost) support.
@ avx
Intel Advanced Vector Extensions (Intel AVX)
@ all
Any ISA (excepting those listed as initial support)
@ avx512_core
Intel AVX-512 subset for Intel Xeon Scalable processor family and Intel Core processor family.
@ avx512_mic_4ops
Intel AVX-512 subset for Intel Xeon Phi processors 7235, 7285, 7295 Series.
@ sse41
Intel Streaming SIMD Extensions 4.1 (Intel SSE4.1)
@ avx512_core_vnni
Intel AVX-512 and Intel Deep Learning Boost (Intel DL Boost) support for Intel Xeon Scalable processo...
@ avx512_core_amx
Intel AVX-512, Intel DL Boost and bfloat16 support and Intel AMX with 8-bit integer and bfloat16 supp...
@ avx512_core_bf16
Intel AVX-512, Intel DL Boost and bfloat16 support for Intel Xeon Scalable processor family and Intel...
@ dnnl_cpu_isa_no_hints
No hints (use default features)
Definition: dnnl_types.h:2837
@ dnnl_cpu_isa_prefer_ymm
Prefer to exclusively use Ymm registers for computations.
Definition: dnnl_types.h:2840
@ no_hints
No hints (use default features)
@ prefer_ymm
Prefer to exclusively use Ymm registers for computations.
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.
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.
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.
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_stream_flags_t
Stream flags.
Definition: dnnl_types.h:2711
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_stream_get_engine(const_dnnl_stream_t stream, dnnl_engine_t *engine)
Returns the engine of a stream object.
dnnl_status_t DNNL_API dnnl_stream_destroy(dnnl_stream_t stream)
Destroys an execution stream.
dnnl_status_t DNNL_API dnnl_stream_create(dnnl_stream_t *stream, dnnl_engine_t engine, unsigned flags)
Creates an execution stream.
@ dnnl_stream_out_of_order
Out-of-order execution.
Definition: dnnl_types.h:2715
@ dnnl_stream_default_flags
Default stream configuration.
Definition: dnnl_types.h:2717
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.
dnnl_status_t
Status values returned by the library functions.
Definition: dnnl_types.h:39
@ dnnl_iterator_ends
Primitive iterator passed over last primitive descriptor.
Definition: dnnl_types.h:49
@ dnnl_runtime_error
Primitive or engine failed on execution.
Definition: dnnl_types.h:51
@ dnnl_unimplemented
The operation failed because requested functionality is not implemented.
Definition: dnnl_types.h:47
@ dnnl_out_of_memory
The operation failed due to an out-of-memory condition.
Definition: dnnl_types.h:43
@ dnnl_success
The operation was successful.
Definition: dnnl_types.h:41
@ dnnl_invalid_arguments
The operation failed because of incorrect function arguments.
Definition: dnnl_types.h:45
@ dnnl_not_required
Queried element is not required for given primitive.
Definition: dnnl_types.h:53
oneDNN namespace
Definition: dnnl.hpp:74
oneAPI namespace
Definition: dnnl.hpp:11059
Descriptor for a batch normalization backward propagation primitive.
Definition: dnnl.hpp:6683
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:6698
Primitive descriptor for a batch normalization backward propagation primitive.
Definition: dnnl.hpp:6712
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:6729
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6772
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:6762
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6797
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6778
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6792
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:6749
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6775
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6769
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:6781
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:6784
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6789
Batch normalization backward propagation primitive.
Definition: dnnl.hpp:6681
batch_normalization_backward()=default
Default constructor. Produces an empty object.
batch_normalization_backward(const primitive_desc &pd)
Constructs a batch normalization backward propagation primitive.
Definition: dnnl.hpp:6806
Descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6554
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:6571
Primitive descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6584
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6632
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6638
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6645
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:6598
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:6614
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6641
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6649
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:6625
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6635
Batch normalization forward propagation primitive.
Definition: dnnl.hpp:6552
batch_normalization_forward()=default
Default constructor. Produces an empty object.
batch_normalization_forward(const primitive_desc &pd)
Constructs a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6677
Descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:9832
desc()=default
Default constructor. Produces an empty object.
dnnl_binary_desc_t data
Underlying C operation descriptor.
Definition: dnnl.hpp:9834
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:9846
Primitive descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:9857
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:9885
memory::desc src_desc(int idx=0) const
Returns a source memory descriptor.
Definition: dnnl.hpp:9898
memory::desc src0_desc() const
Returns the memory descriptor for source #0.
Definition: dnnl.hpp:9901
primitive_desc()=default
Default constructor. Produces an empty object.
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:9894
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:9907
memory::desc src1_desc() const
Returns the memory descriptor for source #1.
Definition: dnnl.hpp:9904
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:9870
Elementwise binary operator primitive.
Definition: dnnl.hpp:9830
binary()=default
Default constructor. Produces an empty object.
binary(const primitive_desc &pd)
Constructs an elementwise binary operation primitive.
Definition: dnnl.hpp:9916
Primitive descriptor for a concat primitive.
Definition: dnnl.hpp:3773
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3842
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:3835
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:3789
primitive_desc()=default
Default constructor. Produces an empty object.
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:3816
memory::desc src_desc(int idx=0) const
Returns a source memory descriptor.
Definition: dnnl.hpp:3839
Tensor concatenation (concat) primitive.
Definition: dnnl.hpp:3771
concat()=default
Default constructor. Produces an empty object.
concat(const primitive_desc &pd)
Constructs a concatenation primitive.
Definition: dnnl.hpp:3850
Descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:4314
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:4385
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:4342
Primitive descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:4406
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:4464
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4467
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:4456
primitive_desc()=default
Default constructor. Produces an empty object.
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:4423
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:4461
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:4443
Convolution backward propagation primitive.
Definition: dnnl.hpp:4311
convolution_backward_data()=default
Default constructor. Produces an empty object.
convolution_backward_data(const primitive_desc &pd)
Constructs a convolution backward propagation primitive.
Definition: dnnl.hpp:4476
Descriptor for a convolution weights gradient primitive.
Definition: dnnl.hpp:4482
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:4555
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:4600
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:4647
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:4512
Primitive descriptor for a convolution weights gradient primitive.
Definition: dnnl.hpp:4668
memory::desc diff_bias_desc() const
Returns the diff bias memory descriptor.
Definition: dnnl.hpp:4735
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:4724
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:4703
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:4716
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4721
primitive_desc()=default
Default constructor. Produces an empty object.
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:4684
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4729
Convolution weights gradient primitive.
Definition: dnnl.hpp:4480
convolution_backward_weights()=default
Default constructor. Produces an empty object.
convolution_backward_weights(const primitive_desc &pd)
Constructs a convolution weights gradient primitive.
Definition: dnnl.hpp:4746
Descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:4041
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:4169
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:4120
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:4218
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:4074
Primitive descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:4239
primitive_desc()=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 convolution forward propagation primitive.
Definition: dnnl.hpp:4253
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:4269
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4286
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:4280
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:4298
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:4289
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:4292
Convolution forward propagation primitive.
Definition: dnnl.hpp:4039
convolution_forward(const primitive_desc &pd)
Constructs a convolution forward propagation primitive.
Definition: dnnl.hpp:4307
convolution_forward()=default
Default constructor. Produces an empty object.
Descriptor for a deconvolution backward propagation primitive.
Definition: dnnl.hpp:5027
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:5096
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:5054
Primitive descriptor for a deconvolution backward propagation primitive.
Definition: dnnl.hpp:5117
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:5154
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:5175
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5178
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:5172
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:5134
primitive_desc()=default
Default constructor. Produces an empty object.
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:5167
Deconvolution backward propagation primitive.
Definition: dnnl.hpp:5025
deconvolution_backward_data()=default
Default constructor. Produces an empty object.
deconvolution_backward_data(const primitive_desc &pd)
Constructs a deconvolution backward propagation primitive.
Definition: dnnl.hpp:5187
Descriptor for a deconvolution weights gradient primitive.
Definition: dnnl.hpp:5193
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:5354
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:5308
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:5264
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:5222
Primitive descriptor for a deconvolution weights gradient primitive.
Definition: dnnl.hpp:5375
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5430
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5438
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:5425
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:5412
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:5392
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:5433
memory::desc diff_bias_desc() const
Returns the diff bias memory descriptor.
Definition: dnnl.hpp:5441
primitive_desc()=default
Default constructor. Produces an empty object.
Deconvolution weights gradient primitive.
Definition: dnnl.hpp:5191
deconvolution_backward_weights()=default
Default constructor. Produces an empty object.
deconvolution_backward_weights(const primitive_desc &pd)
Constructs a deconvolution weights gradient primitive.
Definition: dnnl.hpp:5452
Descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4762
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:4887
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:4839
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:4794
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:4935
Primitive descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4956
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:4997
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5009
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5003
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:4986
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:4970
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:5012
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:5006
Deconvolution forward propagation primitive.
Definition: dnnl.hpp:4760
deconvolution_forward(const primitive_desc &pd)
Constructs a deconvolution forward propagation primitive.
Definition: dnnl.hpp:5021
deconvolution_forward()=default
Default constructor. Produces an empty object.
Descriptor for an elementwise backward propagation primitive.
Definition: dnnl.hpp:6021
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:6035
Primitive descriptor for eltwise backward propagation.
Definition: dnnl.hpp:6048
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6106
primitive_desc()=default
Default constructor. Produces an empty object.
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:6065
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:6085
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6103
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:6109
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:6098
Elementwise unary operation backward propagation primitive.
Definition: dnnl.hpp:6019
eltwise_backward()=default
Default constructor. Produces an empty object.
eltwise_backward(const primitive_desc &pd)
Constructs an eltwise backward propagation primitive.
Definition: dnnl.hpp:6118
Descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5928
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:5943
Primitive descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5956
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:5986
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6006
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6003
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:5970
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:5997
Elementwise unary operation forward propagation primitive.
Definition: dnnl.hpp:5926
eltwise_forward(const primitive_desc &pd)
Constructs an eltwise forward propagation primitive.
Definition: dnnl.hpp:6015
eltwise_forward()=default
Default constructor. Produces an empty object.
An execution engine.
Definition: dnnl.hpp:895
static engine query(const primitive_desc &pd)
Returns the engine of a primitive descriptor.
Definition: dnnl.hpp:964
kind
Kinds of engines.
Definition: dnnl.hpp:900
@ any
An unspecified engine.
engine(kind akind, size_t index)
Constructs an engine.
Definition: dnnl.hpp:928
engine()=default
Constructs an empty engine.
static size_t get_count(kind akind)
Returns the number of engines of a certain kind.
Definition: dnnl.hpp:919
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:940
kind get_kind() const
Returns the kind of the engine.
Definition: dnnl.hpp:951
oneDNN exception class.
Definition: dnnl.hpp:84
error(dnnl_status_t status, const char *message)
Constructs an instance of an exception class.
Definition: dnnl.hpp:92
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:103
const char * what() const noexcept override
Returns the explanatory string.
Definition: dnnl.hpp:96
Descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:9079
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:9126
Primitive descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:9160
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:9176
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:9262
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:9234
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:9221
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:9218
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:9267
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:9226
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:9231
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:9277
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:9272
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:9208
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:9213
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:9242
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:9195
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:9247
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:9252
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:9257
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:9239
GRU backward propagation primitive.
Definition: dnnl.hpp:9077
gru_backward()=default
Default constructor. Produces an empty object.
gru_backward(const primitive_desc &pd)
Constructs a GRU backward propagation primitive.
Definition: dnnl.hpp:9288
Descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:8930
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:8965
Primitive descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:8988
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:9001
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:9046
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:9033
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:9054
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:9041
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:9051
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:9059
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:9062
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:9038
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:9027
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:9016
GRU forward propagation primitive.
Definition: dnnl.hpp:8928
gru_forward(const primitive_desc &pd)
Constructs a GRU forward propagation primitive.
Definition: dnnl.hpp:9073
gru_forward()=default
Default constructor. Produces an empty object.
A class that provides the destructor for a oneDNN C API handle.
Definition: dnnl.hpp:120
oneDNN C API handle wrapper class.
Definition: dnnl.hpp:136
handle(const handle< T, traits > &)=default
Copy constructor.
bool operator==(const handle< T, traits > &other) const
Equality operator.
Definition: dnnl.hpp:210
bool operator!=(const handle &other) const
Inequality operator.
Definition: dnnl.hpp:220
T get(bool allow_empty=false) const
Returns the underlying C API handle.
Definition: dnnl.hpp:185
handle< T, traits > & operator=(const handle< T, traits > &)=default
Assignment operator.
handle()=default
Constructs an empty handle object.
void reset(T t, bool weak=false)
Resets the handle wrapper objects to wrap a new C API handle.
Definition: dnnl.hpp:176
handle(T t, bool weak=false)
Constructs a handle wrapper object from a C API handle.
Definition: dnnl.hpp:169
handle(handle< T, traits > &&)=default
Move constructor.
handle< T, traits > & operator=(handle< T, traits > &&)=default
Move assignment operator.
Descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:7270
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:7283
Primitive descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:7296
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:7357
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:7313
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:7354
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:7346
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:7333
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:7351
primitive_desc()=default
Default constructor. Produces an empty object.
Inner product backward propagation primitive.
Definition: dnnl.hpp:7268
inner_product_backward_data(const primitive_desc &pd)
Constructs an inner product backward propagation primitive.
Definition: dnnl.hpp:7366
inner_product_backward_data()=default
Default constructor. Produces an empty object.
Descriptor for an inner product weights gradient primitive.
Definition: dnnl.hpp:7372
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:7386
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:7408
Primitive descriptor for an inner product weights gradient primitive.
Definition: dnnl.hpp:7421
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:7476
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:7479
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:7484
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:7471
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:7458
memory::desc diff_bias_desc() const
Returns the diff bias memory descriptor.
Definition: dnnl.hpp:7487
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:7438
Inner product weights gradient primitive.
Definition: dnnl.hpp:7370
inner_product_backward_weights(const primitive_desc &pd)
Constructs an inner product weights gradient primitive.
Definition: dnnl.hpp:7498
inner_product_backward_weights()=default
Default constructor. Produces an empty object.
Descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:7145
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:7186
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:7162
Primitive descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:7199
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:7240
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:7252
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:7213
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:7249
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:7255
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:7246
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:7229
Inner product forward propagation primitive.
Definition: dnnl.hpp:7143
inner_product_forward(const primitive_desc &pd)
Constructs an inner product forward propagation primitive.
Definition: dnnl.hpp:7264
inner_product_forward()=default
Default constructor. Produces an empty object.
Descriptor for a layer normalization backward propagation primitive.
Definition: dnnl.hpp:6981
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:7021
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:6997
Primitive descriptor for a layer normalization backward propagation primitive.
Definition: dnnl.hpp:7035
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:7101
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:7112
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7120
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:7085
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:7104
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:7098
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:7115
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:7095
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:7072
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:7107
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:7052
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:7092
Layer normalization backward propagation primitive.
Definition: dnnl.hpp:6979
layer_normalization_backward(const primitive_desc &pd)
Constructs a layer normalization backward propagation primitive.
Definition: dnnl.hpp:7129
layer_normalization_backward()=default
Default constructor. Produces an empty object.
Descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6836
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:6850
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:6871
Primitive descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6884
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:6898
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6935
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6932
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6941
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:6925
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6947
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:6914
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6938
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6944
Layer normalization forward propagation primitive.
Definition: dnnl.hpp:6834
layer_normalization_forward()=default
Default constructor. Produces an empty object.
layer_normalization_forward(const primitive_desc &pd)
Constructs a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6975
Descriptor for a LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9446
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:9494
Primitive descriptor for an LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9528
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:9591
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:9627
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:9545
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:9647
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:9637
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:9565
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:9609
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:9596
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:9588
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:9622
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:9578
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:9612
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:9601
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:9604
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:9583
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:9632
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:9642
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:9617
LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9444
lbr_gru_backward(const primitive_desc &pd)
Constructs an LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9658
lbr_gru_backward()=default
Default constructor. Produces an empty object.
Descriptor for an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9294
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:9330
Primitive descriptor for an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9353
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:9426
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:9405
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:9383
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:9421
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:9429
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:9394
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:9367
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:9418
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:9400
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:9413
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:9408
LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9292
lbr_gru_forward()=default
Default constructor. Produces an empty object.
lbr_gru_forward(const primitive_desc &pd)
Constructs an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9440
Descriptor for a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:6428
desc()=default
Default constructor. Produces an empty object.
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:6441
Primitive descriptor for a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:6452
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6511
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6517
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6514
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:6502
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:6489
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:6469
Logsoftmax backward propagation primitive.
Definition: dnnl.hpp:6426
logsoftmax_backward(const primitive_desc &pd)
Constructs a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:6526
logsoftmax_backward()=default
Default constructor. Produces an empty object.
Descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6334
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:6348
desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6359
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6413
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6410
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:6389
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:6400
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:6373
primitive_desc()=default
Default constructor. Produces an empty object.
Logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6332
logsoftmax_forward()=default
Default constructor. Produces an empty object.
logsoftmax_forward(const primitive_desc &pd)
Constructs a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:6422
Descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:5564
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:5579
Primitive descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:5592
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:5627
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:5640
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5648
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:5608
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5651
memory::desc diff_src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5645
primitive_desc()=default
Default constructor. Produces an empty object.
Local response normalization (LRN) backward propagation primitive.
Definition: dnnl.hpp:5562
lrn_backward(const primitive_desc &pd)
Constructs an LRN backward propagation primitive.
Definition: dnnl.hpp:5660
lrn_backward()=default
Default constructor. Produces an empty object.
Descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:5469
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:5485
Primitive descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:5498
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5543
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5546
primitive_desc()=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 LRN forward propagation primitive.
Definition: dnnl.hpp:5526
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5549
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:5511
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:5537
Local response normalization (LRN) forward propagation primitive.
Definition: dnnl.hpp:5467
lrn_forward()=default
Default constructor. Produces an empty object.
lrn_forward(const primitive_desc &pd)
Constructs an LRN forward propagation primitive.
Definition: dnnl.hpp:5558
Descriptor for an LSTM backward propagation primitive.
Definition: dnnl.hpp:8426
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:8504
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:8715
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:8616
Primitive descriptor for an LSTM backward propagation primitive.
Definition: dnnl.hpp:8756
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8827
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:8908
memory::desc diff_weights_projection_desc() const
Returns diff weights projection memory descriptor.
Definition: dnnl.hpp:8893
memory::desc weights_peephole_desc() const
Returns weights peephole memory descriptor.
Definition: dnnl.hpp:8832
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:8804
memory::desc diff_weights_peephole_desc() const
Returns diff weights peephole memory descriptor.
Definition: dnnl.hpp:8888
memory::desc dst_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8853
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8809
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8850
primitive_desc()=default
Default constructor. Produces an empty object.
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:8772
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:8863
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8814
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:8883
memory::desc weights_projection_desc() const
Returns weights projection memory descriptor.
Definition: dnnl.hpp:8837
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:8898
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:8791
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8842
memory::desc src_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8817
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8845
memory::desc diff_dst_iter_c_desc() const
Returns diff destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:8913
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:8868
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:8903
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8822
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:8878
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8858
memory::desc diff_src_iter_c_desc() const
Returns diff source recurrent cell state memory descriptor.
Definition: dnnl.hpp:8873
LSTM backward propagation primitive.
Definition: dnnl.hpp:8424
lstm_backward()=default
Default constructor. Produces an empty object.
lstm_backward(const primitive_desc &pd)
Constructs an LSTM backward propagation primitive.
Definition: dnnl.hpp:8924
Descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:8109
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:8289
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:8160
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:8228
Primitive descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:8315
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8401
memory::desc weights_peephole_desc() const
Returns weights peephole memory descriptor.
Definition: dnnl.hpp:8383
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8378
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8396
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8409
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:8328
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:8354
memory::desc dst_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8404
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8373
memory::desc weights_projection_desc() const
Returns weights projection memory descriptor.
Definition: dnnl.hpp:8388
memory::desc src_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8368
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:8343
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8365
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8393
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8360
LSTM forward propagation primitive.
Definition: dnnl.hpp:8107
lstm_forward(const primitive_desc &pd)
Constructs an LSTM forward propagation primitive.
Definition: dnnl.hpp:8420
lstm_forward()=default
Default constructor. Produces an empty object.
Descriptor for a matmul primitive.
Definition: dnnl.hpp:9934
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:9942
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:9956
Primitive descriptor for a matmul primitive.
Definition: dnnl.hpp:9966
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:9992
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:10008
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:10001
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:10013
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10005
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:10018
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a matmul primitive.
Definition: dnnl.hpp:9978
Matrix multiplication (matmul) primitive.
Definition: dnnl.hpp:9932
matmul(const primitive_desc &pd)
Constructs a matmul primitive.
Definition: dnnl.hpp:10026
matmul()=default
Default constructor. Produces an empty object.
A memory descriptor.
Definition: dnnl.hpp:2062
desc(const dims &adims, data_type adata_type, format_tag aformat_tag, bool allow_empty=false)
Constructs a memory descriptor.
Definition: dnnl.hpp:2086
desc()
Constructs a zero (empty) memory descriptor.
Definition: dnnl.hpp:2069
bool operator!=(const desc &other) const
An inequality operator.
Definition: dnnl.hpp:2297
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:2248
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:2144
bool operator==(const desc &other) const
An equality operator.
Definition: dnnl.hpp:2289
bool is_zero() const
Checks whether the memory descriptor is zero (empty).
Definition: dnnl.hpp:2283
memory::dims dims() const
Returns dimensions of the memory descriptor.
Definition: dnnl.hpp:2270
memory::data_type data_type() const
Returns the data type of the memory descriptor.
Definition: dnnl.hpp:2262
desc reshape(const dims &adims, bool allow_empty=false) const
Constructs a memory descriptor by reshaping an existing one.
Definition: dnnl.hpp:2200
desc(const dims &adims, data_type adata_type, const dims &strides, bool allow_empty=false)
Constructs a memory descriptor by strides.
Definition: dnnl.hpp:2114
size_t get_size() const
Returns size of the memory descriptor in bytes.
Definition: dnnl.hpp:2278
desc(const dnnl_memory_desc_t &data)
Constructs a memory descriptor from a C API data structure.
Definition: dnnl.hpp:2131
dnnl_memory_desc_t data
The underlying C API data structure.
Definition: dnnl.hpp:2065
Memory object.
Definition: dnnl.hpp:1134
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:2463
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:2446
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:1150
memory()=default
Default constructor.
dnnl_dim_t dim
Integer type for representing dimension sizes and indices.
Definition: dnnl.hpp:1138
memory(const desc &md, const engine &aengine, void *handle)
Constructs a memory object.
Definition: dnnl.hpp:2330
void set_data_handle(void *handle, const stream &astream) const
Sets the underlying memory buffer.
Definition: dnnl.hpp:2402
void * get_data_handle() const
Returns the underlying memory buffer.
Definition: dnnl.hpp:2367
format_tag
Memory format tag specification.
Definition: dnnl.hpp:1237
data_type
Data type specification.
Definition: dnnl.hpp:1156
@ undef
Undefined data type (used for empty memory descriptors).
engine get_engine() const
Returns the associated engine.
Definition: dnnl.hpp:2356
format_kind
Memory format kind.
Definition: dnnl.hpp:1181
memory(const desc &md, const engine &aengine)
Constructs a memory object.
Definition: dnnl.hpp:2344
void set_data_handle(void *handle) const
Sets the underlying memory buffer.
Definition: dnnl.hpp:2418
static size_t data_type_size(data_type adata_type)
Returns size of data type in bytes.
Definition: dnnl.hpp:1176
desc get_desc() const
Returns the associated memory descriptor.
Definition: dnnl.hpp:2348
std::vector< dim > dims
Vector of dimensions.
Definition: dnnl.hpp:1141
Descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:5788
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:5812
Primitive descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:5831
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:5847
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5887
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5890
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:5866
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5884
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:5879
Pooling backward propagation primitive.
Definition: dnnl.hpp:5786
pooling_backward()=default
Default constructor. Produces an empty object.
pooling_backward(const primitive_desc &pd)
Constructs a pooling backward propagation primitive.
Definition: dnnl.hpp:5899
Descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:5676
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:5703
Primitive descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:5722
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:5750
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5770
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5767
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:5761
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5773
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:5735
Pooling forward propagation primitive.
Definition: dnnl.hpp:5674
pooling_forward(const primitive_desc &pd)
Constructs a pooling forward propagation primitive.
Definition: dnnl.hpp:5782
pooling_forward()=default
Default constructor. Produces an empty object.
Descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:10433
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:10459
Primitive descriptor for a pooling v2 (dilated pooling) backward propagation primitive.
Definition: dnnl.hpp:10480
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:10539
memory::desc diff_src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10536
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a pooling v2 (dilated pooling) backward propagation primitive f...
Definition: dnnl.hpp:10531
primitive_desc()=default
Default constructor. Produces an empty object.
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:10497
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:10517
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:10542
Pooling v2 (dilated pooling) backward propagation primitive.
Definition: dnnl.hpp:10431
pooling_v2_backward(const primitive_desc &pd)
Constructs a pooling v2 (dilated pooling) backward propagation primitive.
Definition: dnnl.hpp:10552
pooling_v2_backward()=default
Default constructor. Produces an empty object.
Descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:10312
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:10341
Primitive descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:10363
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:10417
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:10414
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10411
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:10393
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a pooling v2 (dilated pooling) forward propagation primitive fr...
Definition: dnnl.hpp:10405
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:10377
Pooling v2 (dilated pooling) forward propagation primitive.
Definition: dnnl.hpp:10310
pooling_v2_forward()=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:10427
Post-ops.
Definition: dnnl.hpp:2528
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:2704
void get_params_binary(int index, algorithm &aalgorithm, memory::desc &src1_desc) const
Returns the parameters of a binary post-op.
Definition: dnnl.hpp:2840
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:2605
void append_eltwise(float scale, algorithm aalgorithm, float alpha, float beta)
Appends an elementwise post-op.
Definition: dnnl.hpp:2627
void append_binary(algorithm aalgorithm, const memory::desc &src1_desc)
Appends a binary post-op.
Definition: dnnl.hpp:2829
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:2678
primitive::kind kind(int index) const
Returns the primitive kind of post-op at entry with a certain index.
Definition: dnnl.hpp:2545
int len() const
Returns the number of post-ops entries.
Definition: dnnl.hpp:2540
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:2763
post_ops()
Constructs an empty sequence of post-ops.
Definition: dnnl.hpp:2532
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:2789
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:2641
void get_params_sum(int index, float &scale) const
Returns the parameters of an accumulation (sum) post-op.
Definition: dnnl.hpp:2595
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:2580
Descriptor for a PReLU backward propagation primitive.
Definition: dnnl.hpp:10656
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:10667
Primitive descriptor for prelu backward propagation.
Definition: dnnl.hpp:10680
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10735
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:10738
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:10717
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:10697
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:10741
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:10730
primitive_desc()=default
Default constructor. Produces an empty object.
PReLU backward propagation primitive.
Definition: dnnl.hpp:10654
prelu_backward()=default
Default constructor. Produces an empty object.
prelu_backward(const primitive_desc &pd)
Constructs a prelu backward propagation primitive.
Definition: dnnl.hpp:10750
Descriptor for a PReLU forward propagation primitive.
Definition: dnnl.hpp:10569
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:10580
Primitive descriptor for a PReLU forward propagation primitive.
Definition: dnnl.hpp:10591
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:10641
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10638
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:10605
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:10621
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:10632
PReLU forward propagation primitive.
Definition: dnnl.hpp:10567
prelu_forward(const primitive_desc &pd)
Constructs a prelu forward propagation primitive.
Definition: dnnl.hpp:10650
prelu_forward()=default
Default constructor. Produces an empty object.
Primitive attributes.
Definition: dnnl.hpp:2864
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:3031
const post_ops get_post_ops() const
Returns post-ops previously set via set_post_ops().
Definition: dnnl.hpp:3077
void set_rnn_data_qparams(float scale, float shift)
Sets quantization scale and shift parameters for RNN data tensors.
Definition: dnnl.hpp:3132
void get_rnn_weights_qparams(int &mask, std::vector< float > &scales)
Returns the quantization scaling factors for RNN projection weights tensors.
Definition: dnnl.hpp:3210
void get_rnn_data_qparams(float &scale, float &shift)
Returns the quantization scale and shift parameters for RNN data tensors.
Definition: dnnl.hpp:3148
void set_output_scales(int mask, const std::vector< float > &scales)
Sets output scaling factors correspondence mask and values.
Definition: dnnl.hpp:2966
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:3279
void set_rnn_weights_qparams(int mask, const std::vector< float > &scales)
Sets quantization scaling factors for RNN weights tensors.
Definition: dnnl.hpp:3184
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:3251
void set_scratchpad_mode(scratchpad_mode mode)
Sets scratchpad mode.
Definition: dnnl.hpp:2895
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:3014
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:2984
void get_output_scales(int &mask, std::vector< float > &scales) const
Returns output scaling factors correspondence mask and values.
Definition: dnnl.hpp:2910
primitive_attr(dnnl_primitive_attr_t attr)
Creates primitive attributes from a C API dnnl_primitive_attr_t handle.
Definition: dnnl.hpp:2880
void set_post_ops(const post_ops ops)
Sets post-ops.
Definition: dnnl.hpp:3094
primitive_attr()
Constructs default (empty) primitive attributes.
Definition: dnnl.hpp:2868
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:3066
scratchpad_mode get_scratchpad_mode() const
Returns the scratchpad mode.
Definition: dnnl.hpp:2884
Base class for all primitive descriptors.
Definition: dnnl.hpp:3303
primitive_attr get_primitive_attr() const
Returns the primitive attributes.
Definition: dnnl.hpp:3487
memory::desc diff_weights_desc(int idx) const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:3413
primitive_desc_base()=default
Default constructor. Produces an empty object.
engine get_engine() const
Returns the engine of the primitive descriptor.
Definition: dnnl.hpp:3311
memory::desc query_md(query what, int idx=0) const
Returns a memory descriptor.
Definition: dnnl.hpp:3348
memory::desc dst_desc(int idx) const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3377
memory::desc diff_dst_desc(int idx) const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:3404
memory::desc scratchpad_desc() const
Returns the scratchpad memory descriptor.
Definition: dnnl.hpp:3469
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:3511
dnnl::primitive::kind get_kind() const
Returns the kind of the primitive descriptor.
Definition: dnnl.hpp:3499
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:3448
memory::desc diff_src_desc(int idx) const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:3395
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:3436
primitive_desc_base(dnnl_primitive_desc_t pd, dnnl::primitive::kind prim_kind, dnnl::prop_kind prop_kind1, dnnl::prop_kind prop_kind2)
Constructs a primitive descriptor base object from a clone of a C API primitive descriptor after veri...
Definition: dnnl.hpp:3563
primitive_desc_base(dnnl_primitive_desc_t pd, dnnl::primitive::kind prim_kind)
Constructs a primitive descriptor base object from a clone of a C API primitive descriptor after veri...
Definition: dnnl.hpp:3531
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:3442
memory::desc weights_desc(int idx) const
Returns a weights memory descriptor.
Definition: dnnl.hpp:3386
memory::dim query_s64(query what) const
Returns a memory::dim value (same as int64_t).
Definition: dnnl.hpp:3327
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:3460
engine scratchpad_engine() const
Returns the engine on which the scratchpad memory is located.
Definition: dnnl.hpp:3475
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3430
const char * impl_info_str() const
Returns implementation name.
Definition: dnnl.hpp:3315
memory::desc src_desc(int idx) const
Returns a source memory descriptor.
Definition: dnnl.hpp:3368
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:3424
primitive_desc_base(dnnl_primitive_desc_t pd, dnnl::primitive::kind prim_kind, dnnl::prop_kind aprop_kind)
Constructs a primitive descriptor base object from a clone of a C API primitive descriptor after veri...
Definition: dnnl.hpp:3546
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:3454
A base class for descriptors of all primitives that have an operation descriptor and that support ite...
Definition: dnnl.hpp:3957
primitive_desc(const_dnnl_op_desc_t desc, const primitive_attr *attr, const engine &aengine, const_dnnl_primitive_desc_t hint_fwd_pd, bool allow_empty=false)
Constructs a primitive descriptor.
Definition: dnnl.hpp:3984
bool next_impl()
Advances the primitive iterator to the next implementation.
Definition: dnnl.hpp:4002
Base class for all computational primitives.
Definition: dnnl.hpp:269
void execute(const stream &astream, const std::unordered_map< int, memory > &args) const
Executes computations specified by the primitive in a specified stream.
primitive()=default
Default constructor. Constructs an empty object.
primitive(const primitive_desc &pd)
Constructs a primitive from a primitive descriptor.
kind
Kinds of primitives supported by the library.
Definition: dnnl.hpp:271
@ deconvolution
A deconvolution primitive.
@ pooling_v2
A pooling version 2 primitive.
@ inner_product
An inner product primitive.
@ logsoftmax
A logsoftmax primitive.
@ layer_normalization
A layer normalization primitive.
@ pooling
A pooling primitive.
@ resampling
A resampling primitive.
@ shuffle
A shuffle primitive.
@ batch_normalization
A batch normalization primitive.
@ prelu
A PReLU primitive.
@ eltwise
An element-wise primitive.
@ convolution
A convolution primitive.
@ softmax
A softmax primitive.
@ undef
Undefined primitive.
primitive(const_dnnl_primitive_desc_t c_pd)
Constructs a primitive from a C API primitive descriptor.
Descriptor for reduction.
Definition: dnnl.hpp:10767
desc()=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:10790
Primitive descriptor for a reduction primitive.
Definition: dnnl.hpp:10800
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10839
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:10842
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:10835
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:10826
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a reduction primitive.
Definition: dnnl.hpp:10812
Reduction.
Definition: dnnl.hpp:10765
reduction(const primitive_desc &pd)
Constructs a reduction primitive.
Definition: dnnl.hpp:10850
reduction()=default
Default constructor. Produces an empty object.
Primitive descriptor for a reorder primitive.
Definition: dnnl.hpp:3627
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:3712
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:3650
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:3676
engine get_src_engine() const
Returns the engine on which the source memory is allocated.
Definition: dnnl.hpp:3701
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:3696
engine get_dst_engine() const
Returns the engine on which the destination memory is allocated.
Definition: dnnl.hpp:3707
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3715
Reorder primitive.
Definition: dnnl.hpp:3625
reorder(const primitive_desc &pd)
Constructs a reorder primitive.
Definition: dnnl.hpp:3723
void execute(const stream &astream, memory &src, memory &dst) const
Executes the reorder primitive.
Definition: dnnl.hpp:3744
reorder()=default
Default constructor. Produces an empty object.
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:3732
Descriptor for a resampling backward propagation primitive.
Definition: dnnl.hpp:10188
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:10199
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:10216
Primitive descriptor for resampling backward propagation primitive.
Definition: dnnl.hpp:10229
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:10279
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:10284
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:10246
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:10287
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:10266
Resampling backward propagation primitive.
Definition: dnnl.hpp:10186
resampling_backward(const primitive_desc &pd)
Constructs a resampling backward propagation primitive.
Definition: dnnl.hpp:10296
resampling_backward()=default
Default constructor. Produces an empty object.
Descriptor for resampling forward propagation.
Definition: dnnl.hpp:10044
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:10062
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:10082
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:10109
Primitive descriptor for a resampling forward propagation primitive.
Definition: dnnl.hpp:10123
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:10137
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:10173
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:10170
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:10164
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:10153
primitive_desc()=default
Default constructor. Produces an empty object.
Resampling forward propagation.
Definition: dnnl.hpp:10042
resampling_forward()=default
Default constructor. Produces an empty object.
resampling_forward(const primitive_desc &pd)
Constructs a resampling forward propagation primitive.
Definition: dnnl.hpp:10182
Base class for primitive descriptors for RNN primitives.
Definition: dnnl.hpp:7512
memory::desc dst_iter_c_desc() const
Returns destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:7597
memory::desc weights_peephole_desc() const
Returns weights peephole memory descriptor.
Definition: dnnl.hpp:7563
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:7623
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7551
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7557
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:7611
memory::desc diff_dst_iter_c_desc() const
Returns diff destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:7671
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:7629
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:7665
rnn_primitive_desc_base()=default
Default constructor. Produces an empty object.
memory::desc diff_src_iter_c_desc() const
Returns diff source recurrent cell state memory descriptor.
Definition: dnnl.hpp:7617
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:7525
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:7651
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7583
memory::desc diff_weights_projection_desc() const
Returns diff weights projection memory descriptor.
Definition: dnnl.hpp:7642
memory::desc src_iter_c_desc() const
Returns source recurrent cell state memory descriptor.
Definition: dnnl.hpp:7545
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7539
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7577
memory::desc weights_projection_desc() const
Returns weights projection memory descriptor.
Definition: dnnl.hpp:7569
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7531
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:7657
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7591
memory::desc diff_weights_peephole_desc() const
Returns diff weights peephole memory descriptor.
Definition: dnnl.hpp:7635
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:7603
Descriptor for a shuffle primitive backward propagation primitive.
Definition: dnnl.hpp:9749
desc(const memory::desc &diff_data_desc, int axis, int group_size)
Constructs a descriptor for a shuffle backward propagation primitive.
Definition: dnnl.hpp:9759
Primitive descriptor for a shuffle backward propagation primitive.
Definition: dnnl.hpp:9768
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:9799
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:9804
primitive_desc()=default
Default constructor. Produces an empty object.
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:9786
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:9807
Shuffle backward propagation primitive.
Definition: dnnl.hpp:9746
shuffle_backward()=default
Default constructor. Produces an empty object.
shuffle_backward(const primitive_desc &pd)
Constructs a shuffle backward propagation primitive.
Definition: dnnl.hpp:9816
Descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:9674
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:9686
Primitive descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:9697
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:9733
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:9730
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:9724
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:9712
primitive_desc()=default
Default constructor. Produces an empty object.
Shuffle forward propagation primitive.
Definition: dnnl.hpp:9672
shuffle_forward()=default
Default constructor. Produces an empty object.
shuffle_forward(const primitive_desc &pd)
Constructs a shuffle forward propagation primitive.
Definition: dnnl.hpp:9742
Descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:6224
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:6237
desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:6248
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:6298
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:6285
memory::desc diff_dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6309
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6306
primitive_desc()=default
Default constructor. Produces an empty object.
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:6265
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6303
Softmax backward propagation primitive.
Definition: dnnl.hpp:6222
softmax_backward()=default
Default constructor. Produces an empty object.
softmax_backward(const primitive_desc &pd)
Constructs a softmax backward propagation primitive.
Definition: dnnl.hpp:6318
Descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:6134
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:6148
desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:6159
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6206
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:6173
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6209
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:6200
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:6189
primitive_desc()=default
Default constructor. Produces an empty object.
Softmax forward propagation primitive.
Definition: dnnl.hpp:6132
softmax_forward()=default
Default constructor. Produces an empty object.
softmax_forward(const primitive_desc &pd)
Constructs a softmax forward propagation primitive.
Definition: dnnl.hpp:6218
An execution stream.
Definition: dnnl.hpp:1011
engine get_engine() const
Returns the associated engine.
Definition: dnnl.hpp:1042
stream & wait()
Waits for all primitives executing in the stream to finish.
Definition: dnnl.hpp:1051
stream(const engine &aengine, flags aflags=flags::default_flags)
Constructs a stream for the specified engine and with behavior controlled by the specified flags.
Definition: dnnl.hpp:1033
flags
Stream flags. Can be combined using the bitwise OR operator.
Definition: dnnl.hpp:1015
@ out_of_order
Out-of-order execution.
@ default_flags
Default stream configuration.
@ in_order
In-order execution.
stream()=default
Constructs an empty stream.
Primitive descriptor for a sum primitive.
Definition: dnnl.hpp:3866
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3939
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:3936
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:3880
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:3910
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:3932
Out-of-place summation (sum) primitive.
Definition: dnnl.hpp:3864
sum()=default
Default constructor. Produces an empty object.
sum(const primitive_desc &pd)
Constructs a sum primitive.
Definition: dnnl.hpp:3947
Descriptor for a vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7882
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:7937
Primitive descriptor for an RNN backward propagation primitive.
Definition: dnnl.hpp:7973
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:8010
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8033
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:8087
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8049
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:8067
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:8077
primitive_desc()=default
Default constructor. Produces an empty object.
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:7990
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:8082
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8041
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:8023
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8036
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8046
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8054
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:8092
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:8062
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8028
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:8072
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8057
Vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7880
vanilla_rnn_backward(const primitive_desc &pd)
Constructs a vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:8103
vanilla_rnn_backward()=default
Default constructor. Produces an empty object.
Descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7721
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:7764
Primitive descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7789
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:7803
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:7830
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7836
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7841
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7849
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7844
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7865
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7862
primitive_desc()=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 a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7819
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7857
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7854
Vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7719
vanilla_rnn_forward()=default
Default constructor. Produces an empty object.
vanilla_rnn_forward(const primitive_desc &pd)
Constructs a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7876
A descriptor of a Batch Normalization operation.
Definition: dnnl_types.h:1942
A descriptor of a binary operation.
Definition: dnnl_types.h:2150
A descriptor of a convolution operation.
Definition: dnnl_types.h:1646
A descriptor of a element-wise operation.
Definition: dnnl_types.h:1721
An opaque structure to describe an engine.
A descriptor of an inner product operation.
Definition: dnnl_types.h:2012
A descriptor of a Layer Normalization operation.
Definition: dnnl_types.h:1975
A descriptor of a Local Response Normalization (LRN) operation.
Definition: dnnl_types.h:1911
A descriptor of a matrix multiplication operation.
Definition: dnnl_types.h:2176
Memory descriptor.
Definition: dnnl_types.h:1557
dnnl_data_type_t data_type
Data type of the tensor elements.
Definition: dnnl_types.h:1577
dnnl_dims_t dims
Dimensions in the following order:
Definition: dnnl_types.h:1574
int ndims
Number of dimensions.
Definition: dnnl_types.h:1559
An opaque structure to describe a memory.
A descriptor of a pooling operation.
Definition: dnnl_types.h:1811
A descriptor of a pooling operation.
Definition: dnnl_types.h:1849
An opaque structure for a chain of post operations.
An opaque structure for primitive descriptor attributes.
An opaque structure to describe a primitive descriptor iterator.
An opaque structure to describe a primitive descriptor.
An opaque structure to describe a primitive.
A descriptor of reduction operation.
Definition: dnnl_types.h:2226
A descriptor of resampling operation.
Definition: dnnl_types.h:2198
A descriptor for an RNN operation.
Definition: dnnl_types.h:2068
A descriptor of a shuffle operation.
Definition: dnnl_types.h:1699
A descriptor of a Softmax operation.
Definition: dnnl_types.h:1781
An opaque structure to describe an execution stream.
Structure containing version information as per Semantic Versioning
Definition: dnnl_types.h:2759