23 #include "dnnl_config.h" 32 #include <unordered_map> 36 #if DNNL_CPU_THREADING_RUNTIME == DNNL_RUNTIME_THREADPOOL 37 #include "dnnl_threadpool_iface.hpp" 40 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL 49 #ifndef DNNL_ENABLE_EXCEPTIONS 50 #if __cpp_exceptions || __EXCEPTIONS \ 51 || (defined(_MSC_VER) && !defined(__clang__)) 52 #define DNNL_ENABLE_EXCEPTIONS 1 54 #define DNNL_ENABLE_EXCEPTIONS 0 58 #if defined(__GNUC__) || defined(__clang__) 59 #define DNNL_TRAP() __builtin_trap() 60 #elif defined(__INTEL_COMPILER) || defined(_MSC_VER) 61 #define DNNL_TRAP() __debugbreak() 63 #error "unknown compiler" 66 #if DNNL_ENABLE_EXCEPTIONS 67 #define DNNL_THROW_ERROR(status, msg) throw error(status, msg) 70 #define DNNL_THROW_ERROR(status, msg) \ 91 struct error :
public std::exception {
103 const char *
what() const noexcept
override {
return message; }
116 template <
typename T>
117 void validate_container_size(
const T &v,
const char *error_message,
118 int min_size = 1,
int max_size = -1) {
119 const int size = (int)v.size();
120 if (size < min_size || (max_size >= 0 && size > max_size))
126 template <
typename T>
142 template <
typename T,
typename traits = handle_traits<T>>
146 std::shared_ptr<typename std::remove_pointer<T>::type> data_ {0};
149 bool operator==(
const T other)
const {
return other == data_.get(); }
150 bool operator!=(
const T other)
const {
return !(*
this == other); }
183 void reset(T t,
bool weak =
false) {
184 data_.reset(t, weak ? &dummy_destructor : traits::destructor);
192 T
get(
bool allow_empty =
false)
const {
193 T result = data_.get();
194 if (allow_empty ==
false && result ==
nullptr)
204 explicit operator T()
const {
return get(
true); }
209 explicit operator bool()
const {
return get(
true) !=
nullptr; }
218 return other.data_.get() == data_.get();
264 struct primitive_desc;
358 const std::unordered_map<int, memory> &args)
const;
372 "could not get a primitive descriptor from a primitive");
383 "could not get a primitive kind from a primitive descriptor");
473 undef = dnnl_alg_kind_undef,
643 #define DNNL_DEFINE_BITMASK_OPS(enum_name) \ 644 inline enum_name operator|(enum_name lhs, enum_name rhs) { \ 645 return static_cast<enum_name>( \ 646 static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); \ 649 inline enum_name operator&(enum_name lhs, enum_name rhs) { \ 650 return static_cast<enum_name>( \ 651 static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); \ 654 inline enum_name operator^(enum_name lhs, enum_name rhs) { \ 655 return static_cast<enum_name>( \ 656 static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); \ 659 inline enum_name &operator|=(enum_name &lhs, enum_name rhs) { \ 660 lhs = static_cast<enum_name>( \ 661 static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); \ 665 inline enum_name &operator&=(enum_name &lhs, enum_name rhs) { \ 666 lhs = static_cast<enum_name>( \ 667 static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); \ 671 inline enum_name &operator^=(enum_name &lhs, enum_name rhs) { \ 672 lhs = static_cast<enum_name>( \ 673 static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); \ 677 inline enum_name operator~(enum_name rhs) { \ 678 return static_cast<enum_name>(~static_cast<unsigned>(rhs)); \ 877 "could not create an engine");
881 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL 882 engine(
kind akind, cl_device_id device, cl_context context) {
892 "could not create an engine");
906 "could not get an engine from a primitive_desc");
907 reset(c_engine,
true);
915 "could not get kind of an engine");
919 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL 923 cl_context context =
nullptr;
925 "could not get an OpenCL context from an engine");
932 cl_device_id device =
nullptr;
934 "could not get an OpenCL device from an engine");
944 template <
typename primitive_desc>
954 template <
typename primitive_desc>
959 "could not get an engine from a primitive_desc");
960 return engine(c_engine,
true);
1011 "could not create stream attributes");
1015 #if DNNL_CPU_THREADING_RUNTIME == DNNL_RUNTIME_THREADPOOL 1025 "could not set stream threadpool attribute");
1036 "could not set stream threadpool attribute");
1075 "could not create a stream");
1079 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL 1080 stream(
const engine &aengine, cl_command_queue queue) {
1087 "could not create a stream");
1094 cl_command_queue queue =
nullptr;
1096 "could not get an OpenCL command queue from a stream");
1197 template <
typename T>
1199 validate_container_size(
1454 Abc16a = dnnl_Abc16a,
1455 ABc16a16b = dnnl_ABc16a16b,
1456 ABc4a4b = dnnl_ABc4a4b,
1459 ABc16b16a = dnnl_ABc16b16a,
1462 ABc4b16a4b = dnnl_ABc4b16a4b,
1463 ABc2b8a4b = dnnl_ABc2b8a4b,
1464 ABc16b16a4b = dnnl_ABc16b16a4b,
1465 ABc16b16a2b = dnnl_ABc16b16a2b,
1466 ABc4b4a = dnnl_ABc4b4a,
1467 ABc8a16b2a = dnnl_ABc8a16b2a,
1468 ABc8a8b = dnnl_ABc8a8b,
1469 ABc8a4b = dnnl_ABc8a4b,
1471 ABc8b16a2b = dnnl_ABc8b16a2b,
1472 ABc8b8a = dnnl_ABc8b8a,
1473 Abcd8a = dnnl_Abcd8a,
1474 Abcd16a = dnnl_Abcd16a,
1475 Abcd32a = dnnl_Abcd32a,
1476 ABcd16a16b = dnnl_ABcd16a16b,
1479 ABcd16b16a = dnnl_ABcd16b16a,
1480 aBCd16b16c = dnnl_aBCd16b16c,
1481 aBCd16c16b = dnnl_aBCd16c16b,
1482 Abcd4a = dnnl_Abcd4a,
1484 ABcd4b16a4b = dnnl_ABcd4b16a4b,
1485 ABcd2b8a4b = dnnl_ABcd2b8a4b,
1486 ABcd4b4a = dnnl_ABcd4b4a,
1487 ABcd4a4b = dnnl_ABcd4a4b,
1488 aBCd4c16b4c = dnnl_aBCd4c16b4c,
1489 aBCd2c8b4c = dnnl_aBCd2c8b4c,
1490 ABcd16b16a4b = dnnl_ABcd16b16a4b,
1491 ABcd16b16a2b = dnnl_ABcd16b16a2b,
1492 aBCd16c16b4c = dnnl_aBCd16c16b4c,
1493 aBCd16c16b2c = dnnl_aBCd16c16b2c,
1494 aBCd4c4b = dnnl_aBCd4c4b,
1495 aBCd4b4c = dnnl_aBCd4b4c,
1496 ABcd8a16b2a = dnnl_ABcd8a16b2a,
1497 ABcd8a8b = dnnl_ABcd8a8b,
1498 ABcd8a4b = dnnl_ABcd8a4b,
1501 ABcd8b16a2b = dnnl_ABcd8b16a2b,
1502 aBCd8b16c2b = dnnl_aBCd8b16c2b,
1505 aBCd8b8c = dnnl_aBCd8b8c,
1506 aBCd8b4c = dnnl_aBCd8b4c,
1507 aBCd8c16b2c = dnnl_aBCd8c16b2c,
1508 aBCd8c8b = dnnl_aBCd8c8b,
1509 Abcde16a = dnnl_Abcde16a,
1510 Abcde32a = dnnl_Abcde32a,
1511 ABcde16a16b = dnnl_ABcde16a16b,
1514 ABcde16b16a = dnnl_ABcde16b16a,
1515 aBCde16b16c = dnnl_aBCde16b16c,
1516 aBCde16c16b = dnnl_aBCde16c16b,
1517 aBCde2c8b4c = dnnl_aBCde2c8b4c,
1518 Abcde4a = dnnl_Abcde4a,
1520 ABcde4b4a = dnnl_ABcde4b4a,
1521 ABcde4a4b = dnnl_ABcde4a4b,
1522 aBCde4b4c = dnnl_aBCde4b4c,
1523 aBCde4c16b4c = dnnl_aBCde4c16b4c,
1524 aBCde16c16b4c = dnnl_aBCde16c16b4c,
1525 aBCde16c16b2c = dnnl_aBCde16c16b2c,
1526 aBCde4c4b = dnnl_aBCde4c4b,
1527 Abcde8a = dnnl_Abcde8a,
1528 ABcde8a8b = dnnl_ABcde8a8b,
1529 ABcde8a4b = dnnl_ABcde8a4b,
1531 ABcde8b16a2b = dnnl_ABcde8b16a2b,
1534 aBCde8b16c2b = dnnl_aBCde8b16c2b,
1535 ABcde8b8a = dnnl_ABcde8b8a,
1536 aBCde8b8c = dnnl_aBCde8b8c,
1537 aBCde8b4c = dnnl_aBCde8b4c,
1538 ABcd4a8b8a4b = dnnl_ABcd4a8b8a4b,
1539 ABcd2a8b8a2b = dnnl_ABcd2a8b8a2b,
1540 aBCde4b8c8b4c = dnnl_aBCde4b8c8b4c,
1541 aBCde2b8c8b2c = dnnl_aBCde2b8c8b2c,
1542 aBCde8c16b2c = dnnl_aBCde8c16b2c,
1543 aBCde8c8b = dnnl_aBCde8c8b,
1545 aBCdef16b16c = dnnl_aBCdef16b16c,
1546 aBCdef16c16b = dnnl_aBCdef16c16b,
1549 aBCdef4c4b = dnnl_aBCdef4c4b,
1550 aBCdef4b4c = dnnl_aBCdef4b4c,
1551 aBCdef8b8c = dnnl_aBCdef8b8c,
1552 aBCdef8b4c = dnnl_aBCdef8b4c,
1553 aBCdef8c16b2c = dnnl_aBCdef8c16b2c,
1554 aBCdef4c16b4c = dnnl_aBCdef4c16b4c,
1555 aBCdef8c8b = dnnl_aBCdef8c8b,
1556 aBdc16b = dnnl_aBdc16b,
1557 aBdc4b = dnnl_aBdc4b,
1558 aBdc8b = dnnl_aBdc8b,
1559 aBdec16b = dnnl_aBdec16b,
1560 aBdec4b = dnnl_aBdec4b,
1561 aBdec8b = dnnl_aBdec8b,
1562 aBdefc16b = dnnl_aBdefc16b,
1563 aCBdef16c16b = dnnl_aCBdef16c16b,
1564 aCBdef16b16c = dnnl_aCBdef16b16c,
1565 aBdefc4b = dnnl_aBdefc4b,
1566 aBdefc8b = dnnl_aBdefc8b,
1567 Acb16a = dnnl_Acb16a,
1570 aCBd16b16c = dnnl_aCBd16b16c,
1571 aCBd16c16b = dnnl_aCBd16c16b,
1572 aCBde16b16c = dnnl_aCBde16b16c,
1573 aCBde16c16b = dnnl_aCBde16c16b,
1574 Acdb16a = dnnl_Acdb16a,
1575 Acdb4a = dnnl_Acdb4a,
1576 Acdb8a = dnnl_Acdb8a,
1577 Acdeb16a = dnnl_Acdeb16a,
1578 Acdeb4a = dnnl_Acdeb4a,
1579 Acdeb8a = dnnl_Acdeb8a,
1580 BAc16a16b = dnnl_BAc16a16b,
1581 BAc16b16a = dnnl_BAc16b16a,
1582 BAcd16a16b = dnnl_BAcd16a16b,
1583 BAcd16b16a = dnnl_BAcd16b16a,
1584 ABcd32a32b = dnnl_ABcd32a32b,
1585 BAcde16b16a = dnnl_BAcde16b16a,
1586 BAcde16a16b = dnnl_BAcde16a16b,
1587 aBdec32b = dnnl_aBdec32b,
1588 Abcdef16a = dnnl_Abcdef16a,
1589 Abcdef32a = dnnl_Abcdef32a,
1590 Acdb32a = dnnl_Acdb32a,
1594 aBCd2c4b2c = dnnl_aBCd2c4b2c,
1595 aBCde2c4b2c = dnnl_aBCde2c4b2c,
1596 aBCdef2c4b2c = dnnl_aBCdef2c4b2c,
1597 aBCd4b8c2b = dnnl_aBCd4b8c2b,
1598 aBCde4b8c2b = dnnl_aBCde4b8c2b,
1599 aBCdef4b8c2b = dnnl_aBCdef4b8c2b,
1600 aBCd4c8b2c = dnnl_aBCd4c8b2c,
1601 aBCde4c8b2c = dnnl_aBCde4c8b2c,
1602 aBCdef4c8b2c = dnnl_aBCdef4c8b2c,
1615 NCw16n16c = dnnl_NCw16n16c,
1616 NChw16n16c = dnnl_NChw16n16c,
1617 NCdhw16n16c = dnnl_NCdhw16n16c,
1618 NCdhw32n32c = dnnl_NCdhw32n32c,
1619 NChw32n32c = dnnl_NChw32n32c,
1620 IOhw16i16o = dnnl_IOhw16i16o,
1621 Ohwi32o = dnnl_Ohwi32o,
1622 IOdhw16i16o = dnnl_IOdhw16i16o,
1623 gIOhw16i16o = dnnl_gIOhw16i16o,
1624 gOhwi32o = dnnl_gOhwi32o,
1625 Goidhw16g = dnnl_Goidhw16g,
1626 IOw16o16i = dnnl_IOw16o16i,
1627 OIw16i16o = dnnl_OIw16i16o,
1628 IOw16i16o = dnnl_IOw16i16o,
1629 gIOw16i16o = dnnl_gIOw16i16o,
1630 OIw16o16i = dnnl_OIw16o16i,
1631 Oiw16o = dnnl_Oiw16o,
1632 OIw4i16o4i = dnnl_OIw4i16o4i,
1633 OIw2i8o4i = dnnl_OIw2i8o4i,
1634 OIw4i4o = dnnl_OIw4i4o,
1635 OIw4o4i = dnnl_OIw4o4i,
1637 OIw8i16o2i = dnnl_OIw8i16o2i,
1638 OIw8i8o = dnnl_OIw8i8o,
1639 OIw8o16i2o = dnnl_OIw8o16i2o,
1640 OIw8o8i = dnnl_OIw8o8i,
1641 OIw8o4i = dnnl_OIw8o4i,
1642 Owi16o = dnnl_Owi16o,
1643 OwI16o2i = dnnl_OwI16o2i,
1646 IOhw16o16i = dnnl_IOhw16o16i,
1647 Ohwi16o = dnnl_Ohwi16o,
1648 OhwI16o2i = dnnl_OhwI16o2i,
1649 Ohwi4o = dnnl_Ohwi4o,
1650 Ohwi8o = dnnl_Ohwi8o,
1651 OIhw16i16o = dnnl_OIhw16i16o,
1652 OIhw16o16i = dnnl_OIhw16o16i,
1653 Oihw16o = dnnl_Oihw16o,
1654 OIhw4i16o4i = dnnl_OIhw4i16o4i,
1655 OIhw4i4o = dnnl_OIhw4i4o,
1656 OIhw4o4i = dnnl_OIhw4o4i,
1657 Oihw4o = dnnl_Oihw4o,
1658 OIhw8i16o2i = dnnl_OIhw8i16o2i,
1659 OIhw8i8o = dnnl_OIhw8i8o,
1660 OIhw8o16i2o = dnnl_OIhw8o16i2o,
1661 OIhw8o8i = dnnl_OIhw8o8i,
1662 OIhw8o4i = dnnl_OIhw8o4i,
1663 OIhw2i8o4i = dnnl_OIhw2i8o4i,
1664 IOdhw16o16i = dnnl_IOdhw16o16i,
1665 Odhwi16o = dnnl_Odhwi16o,
1666 OdhwI16o2i = dnnl_OdhwI16o2i,
1667 Odhwi4o = dnnl_Odhwi4o,
1668 Odhwi8o = dnnl_Odhwi8o,
1669 OIdhw16i16o = dnnl_OIdhw16i16o,
1670 OIdhw16o16i = dnnl_OIdhw16o16i,
1671 Oidhw16o = dnnl_Oidhw16o,
1672 OIdhw4i4o = dnnl_OIdhw4i4o,
1673 OIdhw4o4i = dnnl_OIdhw4o4i,
1674 Oidhw4o = dnnl_Oidhw4o,
1675 OIdhw8i16o2i = dnnl_OIdhw8i16o2i,
1676 OIdhw4i16o4i = dnnl_OIdhw4i16o4i,
1677 OIdhw2i8o4i = dnnl_OIdhw2i8o4i,
1678 OIdhw8i8o = dnnl_OIdhw8i8o,
1679 OIdhw8o8i = dnnl_OIdhw8o8i,
1680 OIdhw8o4i = dnnl_OIdhw8o4i,
1681 gIOw16o16i = dnnl_gIOw16o16i,
1682 gOIw16i16o = dnnl_gOIw16i16o,
1683 gOIw16o16i = dnnl_gOIw16o16i,
1684 gOiw16o = dnnl_gOiw16o,
1685 gOIw4i16o4i = dnnl_gOIw4i16o4i,
1686 gOIw2i8o4i = dnnl_gOIw2i8o4i,
1687 gOIw4i4o = dnnl_gOIw4i4o,
1688 gOIw4o4i = dnnl_gOIw4o4i,
1689 gOiw4o = dnnl_gOiw4o,
1690 gOIw8i16o2i = dnnl_gOIw8i16o2i,
1691 gOIw8i8o = dnnl_gOIw8i8o,
1692 gOIw8o16i2o = dnnl_gOIw8o16i2o,
1693 gOIw8o8i = dnnl_gOIw8o8i,
1694 gOIw8o4i = dnnl_gOIw8o4i,
1695 gOwi16o = dnnl_gOwi16o,
1696 gOwI16o2i = dnnl_gOwI16o2i,
1697 gOwi4o = dnnl_gOwi4o,
1698 gOwi8o = dnnl_gOwi8o,
1699 Goiw8g = dnnl_Goiw8g,
1700 Goiw16g = dnnl_Goiw16g,
1701 gIOhw16o16i = dnnl_gIOhw16o16i,
1702 gOhwi16o = dnnl_gOhwi16o,
1703 gOhwI16o2i = dnnl_gOhwI16o2i,
1704 gOhwi4o = dnnl_gOhwi4o,
1705 gOhwi8o = dnnl_gOhwi8o,
1706 Goihw16g = dnnl_Goihw16g,
1707 gOIhw16i16o = dnnl_gOIhw16i16o,
1708 gOIhw16o16i = dnnl_gOIhw16o16i,
1709 gOihw16o = dnnl_gOihw16o,
1710 gOIhw4i16o4i = dnnl_gOIhw4i16o4i,
1711 gOIhw2i8o4i = dnnl_gOIhw2i8o4i,
1712 gOIhw4i4o = dnnl_gOIhw4i4o,
1713 gOIhw4o4i = dnnl_gOIhw4o4i,
1714 gOihw4o = dnnl_gOihw4o,
1715 Goihw8g = dnnl_Goihw8g,
1716 gOIhw8i16o2i = dnnl_gOIhw8i16o2i,
1717 gOIhw8i8o = dnnl_gOIhw8i8o,
1718 gOIhw8o16i2o = dnnl_gOIhw8o16i2o,
1719 OIw4o8i8o4i = dnnl_OIw4o8i8o4i,
1720 OIdhw4o8i8o4i = dnnl_OIdhw4o8i8o4i,
1721 OIhw4o8i8o4i = dnnl_OIhw4o8i8o4i,
1722 OIhw2o8i8o2i = dnnl_OIhw2o8i8o2i,
1723 gOIw4o8i8o4i = dnnl_gOIw4o8i8o4i,
1724 gOIdhw4o8i8o4i = dnnl_gOIdhw4o8i8o4i,
1725 gOIhw4o8i8o4i = dnnl_gOIhw4o8i8o4i,
1726 gOIhw2o8i8o2i = dnnl_gOIhw2o8i8o2i,
1727 OIhw16i16o4i = dnnl_OIhw16i16o4i,
1728 OIhw16i16o2i = dnnl_OIhw16i16o2i,
1729 gOIhw16i16o4i = dnnl_gOIhw16i16o4i,
1730 gOIhw16i16o2i = dnnl_gOIhw16i16o2i,
1731 gOIhw8o8i = dnnl_gOIhw8o8i,
1732 gOIhw8o4i = dnnl_gOIhw8o4i,
1733 gIOdhw16i16o = dnnl_gIOdhw16i16o,
1734 gIOdhw16o16i = dnnl_gIOdhw16o16i,
1735 gOdhwi16o = dnnl_gOdhwi16o,
1736 gOdhwI16o2i = dnnl_gOdhwI16o2i,
1737 gOdhwi4o = dnnl_gOdhwi4o,
1738 gOdhwi8o = dnnl_gOdhwi8o,
1739 gOIdhw16i16o = dnnl_gOIdhw16i16o,
1740 gOIdhw16o16i = dnnl_gOIdhw16o16i,
1741 gOidhw16o = dnnl_gOidhw16o,
1742 gOIdhw4i4o = dnnl_gOIdhw4i4o,
1743 gOIdhw4o4i = dnnl_gOIdhw4o4i,
1744 gOidhw4o = dnnl_gOidhw4o,
1745 gOIdhw8i16o2i = dnnl_gOIdhw8i16o2i,
1746 gOIdhw4i16o4i = dnnl_gOIdhw4i16o4i,
1747 gOIdhw2i8o4i = dnnl_gOIdhw2i8o4i,
1748 gOIdhw8i8o = dnnl_gOIdhw8i8o,
1749 gOIdhw8o8i = dnnl_gOIdhw8o8i,
1750 gOIdhw8o4i = dnnl_gOIdhw8o4i,
1751 gOIw2i4o2i = dnnl_gOIw2i4o2i,
1752 gOIhw2i4o2i = dnnl_gOIhw2i4o2i,
1753 gOIdhw2i4o2i = dnnl_gOIdhw2i4o2i,
1754 gOIw2o4i2o = dnnl_gOIw2o4i2o,
1755 gOIhw2o4i2o = dnnl_gOIhw2o4i2o,
1756 gOIdhw2o4i2o = dnnl_gOIdhw2o4i2o,
1757 gOIw4i8o2i = dnnl_gOIw4i8o2i,
1758 gOIhw4i8o2i = dnnl_gOIhw4i8o2i,
1759 gOIdhw4i8o2i = dnnl_gOIdhw4i8o2i,
1760 gOIw4o8i2o = dnnl_gOIw4o8i2o,
1761 gOIhw4o8i2o = dnnl_gOIhw4o8i2o,
1762 gOIdhw4o8i2o = dnnl_gOIdhw4o8i2o,
1791 bool allow_empty =
false)
1793 validate_dims(adims);
1795 (
int)adims.size(), adims.data(),
convert_to_c(adata_type),
1799 "could not construct a memory descriptor using a " 1819 bool allow_empty =
false)
1821 validate_dims(adims);
1822 if (!strides.empty()) validate_dims(strides, (
int)adims.size());
1824 (
int)adims.size(), adims.data(),
convert_to_c(adata_type),
1825 strides.empty() ? nullptr : &strides[0]);
1828 "could not construct a memory descriptor using " 1849 bool allow_empty =
false)
const {
1850 validate_dims(adims, data.
ndims);
1851 validate_dims(offsets, data.
ndims);
1854 &sub_md, &data, adims.data(), offsets.data());
1857 return desc(sub_md);
1905 if (data.
ndims) validate_dims(adims, 1);
1908 &out_md, &data, (
int)adims.size(), adims.data());
1911 status,
"could not reshape a memory descriptor");
1912 return desc(out_md);
1952 bool allow_empty =
false)
const {
1953 validate_dims(permutation, data.
ndims);
1956 &out_md, &data, permutation.data());
1959 "could not permute axes of a memory descriptor");
1960 return desc(out_md);
2005 explicit operator bool()
const {
return data.
ndims != 0; }
2038 "could not create a memory object");
2049 :
memory(md, aengine, DNNL_MEMORY_ALLOCATE) {}
2055 "could not get a memory descriptor from a memory object");
2056 return desc(*cdesc);
2063 "could not get an engine from a memory object");
2064 return engine(c_engine,
true);
2073 "could not get a native handle from a memory object");
2106 "could not set native handle of a memory object");
2120 "could not set native handle of a memory object");
2143 template <
typename T =
void>
2147 "could not map memory object data");
2148 return static_cast<T *
>(mapped_ptr);
2162 "could not unmap memory object data");
2165 #if DNNL_GPU_RUNTIME == DNNL_RUNTIME_OCL 2166 cl_mem get_ocl_mem_object()
const {
2170 "could not get OpenCL buffer object from a memory object");
2183 "could not set OpenCL buffer object from a memory object");
2266 "post-ops index is out of range");
2305 "could not append a sum post-op");
2308 memory::convert_to_c(data_type)),
2309 "could not append a sum post-op");
2318 "could not get parameters of a sum post-op");
2330 get(), index, &scale, &c_data_type),
2331 "could not get parameters of a sum post-op");
2349 float scale,
algorithm aalgorithm,
float alpha,
float beta) {
2352 "could not append an elementwise post-op");
2363 float &alpha,
float &beta)
const {
2366 get(), index, &scale, &c_alg, &alpha, &beta),
2367 "could not get parameters of an elementwise post-op");
2401 int mask,
const std::vector<float> &scales) {
2404 memory::convert_to_c(weights_data_type),
2405 memory::convert_to_c(bias_data_type),
2406 memory::convert_to_c(dst_data_type),
2407 scales.size(), mask, &scales[0]),
2408 "could not append depthwise post-op");
2427 int &mask, std::vector<float> &scales)
const {
2434 const float *c_scales;
2436 &c_weights_data_type, &c_bias_data_type,
2437 &c_dst_data_type, &count, &c_mask, &c_scales),
2438 "could not get parameters of depthwise post-op");
2443 scales.resize(count);
2447 scales[c] = c_scales[c];
2486 int mask,
const std::vector<float> &scales) {
2489 memory::convert_to_c(weights_data_type),
2490 memory::convert_to_c(bias_data_type),
2491 memory::convert_to_c(dst_data_type),
2492 scales.size(), mask, &scales[0]),
2493 "could not append depthwise post-op");
2512 int &mask, std::vector<float> &scales)
const {
2519 const float *c_scales;
2521 &c_weights_data_type, &c_bias_data_type,
2522 &c_dst_data_type, &count, &c_mask, &c_scales),
2523 "could not get parameters of depthwise post-op");
2528 scales.resize(count);
2532 scales[c] = c_scales[c];
2556 "could not create primitive attribute");
2573 "could not get scratchpad mode primitive attribute");
2583 "could not set scratchpad mode primitive attribute");
2598 const float *c_scales;
2600 get(), &count, &c_mask, &c_scales),
2601 "could not get output scales primitive attribute");
2602 scales.resize(count);
2606 scales[c] = c_scales[c];
2654 get(), (
dnnl_dim_t)scales.size(), mask, scales.data()),
2655 "could not set output scales primitive attribute");
2669 void get_scales(
int arg,
int &mask, std::vector<float> &scales)
const {
2672 const float *c_scales;
2674 get(), arg, &count, &c_mask, &c_scales),
2675 "could not get scales primitive attributes");
2676 scales.resize(count);
2680 scales[c] = c_scales[c];
2699 void set_scales(
int arg,
int mask,
const std::vector<float> &scales) {
2702 (
dnnl_dim_t)scales.size(), mask, scales.data()),
2703 "could not set scales primitive attribute");
2717 int arg,
int &mask, std::vector<int32_t> &zero_points)
const {
2720 const int32_t *c_zero_points;
2722 get(), arg, &count, &c_mask, &c_zero_points),
2723 "could not get zero points primitive attribute");
2724 zero_points.resize(count);
2728 zero_points[c] = c_zero_points[c];
2752 int arg,
int mask,
const std::vector<int32_t> &zero_points) {
2755 zero_points.data()),
2756 "could not set zero points primitive attribute");
2766 "could not get post-ops primitive attribute");
2767 result.
reset(const_cast<dnnl_post_ops_t>(c_result),
true);
2781 "could not set post-ops primitive attribute");
2820 "could not set RNN data quantization parameters primitive " 2852 (
int)scales.size(), mask, scales.data()),
2853 "could not set RNN weights quantization parameters primitive " 2880 "could not retrieve implementation info string from a " 2881 "primitive descriptor");
2914 if (!std::any_of(valid_q.cbegin(), valid_q.cend(),
2915 [=](
query q) {
return what == q; }))
2917 "memory descriptor query is invalid");
3041 "could not retrieve scratchpad engine from a primitive " 3043 return engine(c_engine,
true);
3051 "could not get attributes from a primitive descriptor");
3054 "could not clone primitive attributes");
3064 "could not get primitive kind from a primitive descriptor");
3075 "could not clone a primitive descriptor");
3128 if (pd ==
nullptr)
return;
3141 rc,
"could not get primitive kind from a primitive descriptor");
3142 if (pd_kind != c_prim_kind)
3144 "primitive descriptor operation kind mismatch");
3154 "could not get propagation kind from the primitive " 3160 && (pd_prop_kind == c_prop_kind1
3161 || pd_prop_kind == c_prop_kind2))) {
3168 "primitive descriptor propagation kind mismatch");
3214 bool allow_empty =
false) {
3218 dst_engine.
get(), attr.get());
3221 "could not create a primitive descriptor for a reorder " 3239 bool allow_empty =
false) {
3248 "could not create a primitive descriptor for a reorder " 3322 const std::vector<memory::desc> &mems) {
3323 std::vector<dnnl_memory_desc_t> c_mems;
3324 c_mems.reserve(mems.size());
3325 for (
const auto &s : mems)
3326 c_mems.push_back(s.data);
3351 const std::vector<memory::desc> &srcs,
const engine &aengine,
3358 (
int)c_srcs.size(), concat_dimension, c_srcs.data(),
3359 attr.get(), aengine.
get()),
3360 "could not create a primitive descriptor for a concat " 3378 const std::vector<memory::desc> &srcs,
const engine &aengine,
3385 (
int)c_api_srcs.size(), concat_dimension,
3386 c_api_srcs.data(), attr.get(), aengine.
get()),
3387 "could not create a primitive descriptor for a concat " 3442 const std::vector<float> &scales,
3443 const std::vector<memory::desc> &srcs,
const engine &aengine,
3445 validate_container_size(scales,
3446 "counts of scales and sources are not equal",
3447 (
int)srcs.size(), (int)srcs.size());
3454 (
int)c_api_srcs.size(), scales.data(),
3455 c_api_srcs.data(), attr.get(), aengine.
get()),
3456 "could not create a primitive descriptor for a sum " 3472 const std::vector<memory::desc> &srcs,
const engine &aengine,
3474 validate_container_size(scales,
3475 "counts of scales and sources are not equal",
3476 (
int)srcs.size(), (int)srcs.size());
3482 (
int)c_api_srcs.size(), scales.data(),
3483 c_api_srcs.data(), attr.get(), aengine.
get()),
3484 "could not create a primitive descriptor for a sum " 3547 bool allow_empty =
false)
3548 : allow_empty_(allow_empty) {
3551 desc, attr ? attr->
get() :
nullptr, aengine.
get(), hint_fwd_pd);
3554 status,
"could not create a primitive descriptor iterator");
3555 pd_iterator.reset(iterator);
3568 status,
"could not advance a primitive descriptor iterator");
3574 bool allow_empty_ =
false;
3578 pd_iterator.
get(allow_empty_));
3581 "could not fetch a primitive descriptor from a primitive " 3582 "descriptor iterator");
3648 &strides[0], &padding_l[0], &padding_r[0]),
3649 "could not create a descriptor for a convolution forward " 3650 "propagation primitive");
3692 &weights_desc.
data,
nullptr, &dst_desc.
data,
3693 &strides[0], &padding_l[0], &padding_r[0]),
3694 "could not create a descriptor for a convolution forward " 3695 "propagation primitive");
3742 &weights_desc.
data, &bias_desc.
data,
3743 &dst_desc.
data, &strides[0], &dilates[0],
3744 &padding_l[0], &padding_r[0]),
3745 "could not create a descriptor for a dilated convolution " 3746 "forward propagation primitive");
3791 &weights_desc.
data,
nullptr,
3792 &dst_desc.
data, &strides[0], &dilates[0],
3793 &padding_l[0], &padding_r[0]),
3794 "could not create a descriptor for a dilated convolution " 3795 "forward propagation primitive");
3815 bool allow_empty =
false)
3817 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
3831 const engine &aengine,
bool allow_empty =
false)
3833 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
3913 &weights_desc.
data, &diff_dst_desc.
data,
3914 &strides[0], &padding_l[0], &padding_r[0]),
3915 "could not create a descriptor for a convolution backward " 3916 "propagation primitive");
3958 &weights_desc.
data, &diff_dst_desc.
data,
3959 &strides[0], &dilates[0], &padding_l[0],
3961 "could not create a descriptor for a dilated convolution " 3962 "backward propagation primitive");
3986 bool allow_empty =
false)
3988 hint_fwd_pd.
get(), allow_empty) {}
4007 bool allow_empty =
false)
4009 hint_fwd_pd.
get(), allow_empty) {}
4084 &diff_weights_desc.
data, &diff_bias_desc.
data,
4085 &diff_dst_desc.
data, &strides[0], &padding_l[0],
4087 "could not create a descriptor for a convolution weights " 4088 "update primitive");
4125 &diff_weights_desc.
data,
nullptr,
4126 &diff_dst_desc.
data, &strides[0],
4127 &padding_l[0], &padding_r[0]),
4128 "could not create a descriptor for a convolution weights " 4129 "update primitive");
4174 &diff_weights_desc.
data, &diff_bias_desc.
data,
4175 &diff_dst_desc.
data, &strides[0], &dilates[0],
4176 &padding_l[0], &padding_r[0]),
4177 "could not create a descriptor for a dilated convolution " 4178 "weights gradient primitive");
4220 &diff_weights_desc.
data,
nullptr,
4221 &diff_dst_desc.
data, &strides[0], &dilates[0],
4222 &padding_l[0], &padding_r[0]),
4223 "could not create a descriptor for a dilated convolution " 4224 "weights gradient primitive");
4247 bool allow_empty =
false)
4249 hint_fwd_pd.
get(), allow_empty) {}
4267 bool allow_empty =
false)
4269 hint_fwd_pd.
get(), allow_empty) {}
4368 &strides[0], &padding_l[0], &padding_r[0]),
4369 "could not create a descriptor for a deconvolution forward " 4370 "propagation primitive");
4411 &weights_desc.
data,
nullptr, &dst_desc.
data,
4412 &strides[0], &padding_l[0], &padding_r[0]),
4413 "could not create a descriptor for a deconvolution forward " 4414 "propagation primitive");
4460 &weights_desc.
data, &bias_desc.
data,
4461 &dst_desc.
data, &strides[0], &dilates[0],
4462 &padding_l[0], &padding_r[0]),
4463 "could not create a descriptor for a dilated deconvolution " 4464 "forward propagation primitive");
4508 &weights_desc.
data,
nullptr,
4509 &dst_desc.
data, &strides[0], &dilates[0],
4510 &padding_l[0], &padding_r[0]),
4511 "could not create a descriptor for a dilated deconvolution " 4512 "forward propagation primitive");
4532 bool allow_empty =
false)
4534 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
4548 const engine &aengine,
bool allow_empty =
false)
4550 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
4625 &weights_desc.
data, &diff_dst_desc.
data,
4626 &strides[0], &padding_l[0], &padding_r[0]),
4627 "could not create a descriptor for a deconvolution " 4628 "backward propagation primitive");
4669 &weights_desc.
data, &diff_dst_desc.
data,
4670 &strides[0], &dilates[0], &padding_l[0],
4672 "could not create a descriptor for a dilated deconvolution " 4673 "backward propagation primitive");
4697 bool allow_empty =
false)
4699 hint_fwd_pd.
get(), allow_empty) {}
4718 bool allow_empty =
false)
4720 hint_fwd_pd.
get(), allow_empty) {}
4794 &diff_weights_desc.
data, &diff_bias_desc.
data,
4795 &diff_dst_desc.
data, &strides[0], &padding_l[0],
4797 "could not create a descriptor for a deconvolution weights " 4798 "update primitive");
4834 &src_desc.
data, &diff_weights_desc.
data,
4835 nullptr, &diff_dst_desc.
data, &strides[0],
4836 &padding_l[0], &padding_r[0]),
4837 "could not create a descriptor for a deconvolution weights " 4838 "update primitive");
4882 &diff_weights_desc.
data, &diff_bias_desc.
data,
4883 &diff_dst_desc.
data, &strides[0], &dilates[0],
4884 &padding_l[0], &padding_r[0]),
4885 "could not create a descriptor for a dilated deconvolution " 4886 "weights gradient primitive");
4927 &diff_weights_desc.
data,
nullptr,
4928 &diff_dst_desc.
data, &strides[0], &dilates[0],
4929 &padding_l[0], &padding_r[0]),
4930 "could not create a descriptor for a dilated deconvolution " 4931 "weights gradient primitive");
4955 bool allow_empty =
false)
4957 hint_fwd_pd.
get(), allow_empty) {}
4976 bool allow_empty =
false)
4978 hint_fwd_pd.
get(), allow_empty) {}
5048 float alpha,
float beta,
float k = 1.f) {
5052 local_size, alpha, beta, k),
5053 "could not create a descriptor for a lrn forward " 5054 "propagation primitive");
5073 bool allow_empty =
false)
5075 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5088 const engine &aengine,
bool allow_empty =
false)
5090 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
5142 float alpha,
float beta,
float k = 1.f) {
5145 &diff_data_desc.
data, &data_desc.
data, local_size,
5147 "could not create a descriptor for a lrn backward " 5148 "propagation primitive");
5171 bool allow_empty =
false)
5173 hint_fwd_pd.
get(), allow_empty) {}
5191 bool allow_empty =
false)
5193 hint_fwd_pd.
get(), allow_empty) {}
5275 &dst_desc.
data, &strides[0], &kernel[0],
5276 &padding_l[0], &padding_r[0]),
5277 "could not create a descriptor for a pooling forward " 5278 "propagation primitive");
5297 bool allow_empty =
false)
5299 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5312 const engine &aengine,
bool allow_empty =
false)
5314 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
5384 &diff_dst_desc.
data, &strides[0], &kernel[0],
5385 &padding_l[0], &padding_r[0]),
5386 "could not create a descriptor for a pooling backward " 5387 "propagation primitive");
5410 bool allow_empty =
false)
5412 hint_fwd_pd.
get(), allow_empty) {}
5430 bool allow_empty =
false)
5432 hint_fwd_pd.
get(), allow_empty) {}
5510 &data_desc.
data, alpha, beta),
5511 "could not create a descriptor for an eltwise forward " 5512 "propagation primitive");
5532 bool allow_empty =
false)
5534 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5548 const engine &aengine,
bool allow_empty =
false)
5550 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
5602 &diff_data_desc.
data, &data_desc.
data, alpha, beta),
5603 "could not create a descriptor for an eltwise backward " 5604 "propagation primitive");
5628 bool allow_empty =
false)
5630 hint_fwd_pd.
get(), allow_empty) {}
5649 bool allow_empty =
false)
5651 hint_fwd_pd.
get(), allow_empty) {}
5713 &data_desc.
data, softmax_axis),
5714 "could not create a descriptor for a softmax forward " 5715 "propagation primitive");
5735 bool allow_empty =
false)
5737 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5751 const engine &aengine,
bool allow_empty =
false)
5753 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
5802 &data_desc.
data, softmax_axis),
5803 "could not create a descriptor for a softmax backward " 5804 "propagation primitive");
5828 bool allow_empty =
false)
5830 hint_fwd_pd.
get(), allow_empty) {}
5849 bool allow_empty =
false)
5851 hint_fwd_pd.
get(), allow_empty) {}
5910 int logsoftmax_axis) {
5913 &data_desc.
data, logsoftmax_axis),
5914 "could not create a descriptor for a logsoftmax forward " 5915 "propagation primitive");
5935 bool allow_empty =
false)
5937 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
5951 const engine &aengine,
bool allow_empty =
false)
5953 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6003 int logsoftmax_axis) {
6005 &diff_data_desc.
data, &data_desc.
data,
6007 "could not create a descriptor for a logsoftmax backward " 6008 "propagation primitive");
6032 bool allow_empty =
false)
6034 hint_fwd_pd.
get(), allow_empty) {}
6053 bool allow_empty =
false)
6055 hint_fwd_pd.
get(), allow_empty) {}
6138 "could not create a descriptor for a batch normalization " 6139 "forward propagation primitive");
6160 bool allow_empty =
false)
6162 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6176 const engine &aengine,
bool allow_empty =
false)
6178 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6223 "could not retrieve a descriptor from a primitive " 6224 "descriptor for batch normalization forward propagation " 6264 &diff_data_desc.
data, &data_desc.
data,
6266 "could not create a descriptor for a batch normalization " 6267 "backward propagation primitive");
6292 bool allow_empty =
false)
6294 hint_fwd_pd.
get(), allow_empty) {}
6313 bool allow_empty =
false)
6315 hint_fwd_pd.
get(), allow_empty) {}
6418 "could not create a descriptor for a layer normalization " 6419 "forward propagation primitive");
6438 "could not create a descriptor for a layer normalization " 6439 "forward propagation primitive");
6460 bool allow_empty =
false)
6462 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6476 const engine &aengine,
bool allow_empty =
false)
6478 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6521 "could not retrieve a descriptor from a primitive " 6522 "descriptor for layer normalization forward propagation " 6564 &diff_data_desc.
data, &data_desc.
data,
6566 "could not create a descriptor for a batch normalization " 6567 "backward propagation primitive");
6587 &diff_data_desc.
data, &data_desc.
data,
6589 "could not create a descriptor for a batch normalization " 6590 "backward propagation primitive");
6615 bool allow_empty =
false)
6617 hint_fwd_pd.
get(), allow_empty) {}
6636 bool allow_empty =
false)
6638 hint_fwd_pd.
get(), allow_empty) {}
6728 &src_desc.
data, &weights_desc.
data,
6730 "could not create a descriptor for an inner product " 6731 "forward propagation primitive");
6753 &weights_desc.
data,
nullptr, &dst_desc.
data),
6754 "could not create a descriptor for an inner product " 6755 "forward propagation primitive");
6775 bool allow_empty =
false)
6777 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
6791 const engine &aengine,
bool allow_empty =
false)
6793 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
6848 &diff_src_desc.
data, &weights_desc.
data,
6849 &diff_dst_desc.
data),
6850 "could not create a descriptor for an inner product " 6851 "backward propagation primitive");
6876 bool allow_empty =
false)
6878 hint_fwd_pd.
get(), allow_empty) {}
6897 bool allow_empty =
false)
6899 hint_fwd_pd.
get(), allow_empty) {}
6953 &src_desc.
data, &diff_weights_desc.
data,
6954 &diff_bias_desc.
data, &diff_dst_desc.
data),
6955 "could not create a descriptor for an inner product " 6956 "weights gradient primitive");
6974 &src_desc.
data, &diff_weights_desc.
data,
nullptr,
6975 &diff_dst_desc.
data),
6976 "could not create a descriptor for an inner product " 6977 "weights gradient primitive");
7001 bool allow_empty =
false)
7003 hint_fwd_pd.
get(), allow_empty) {}
7022 bool allow_empty =
false)
7024 hint_fwd_pd.
get(), allow_empty) {}
7074 using primitive_desc::primitive_desc;
7258 "could not retrieve a descriptor from a primitive descriptor " 7259 "for an RNN primitive");
7266 && (
rnn_d->prop_kind == c_prop_kind1
7267 ||
rnn_d->prop_kind == c_prop_kind2)
7268 &&
rnn_d->cell_kind == c_cell_kind;
7272 "mismatch between expected and provided descriptors for an " 7334 float beta = 0.0f) {
7340 &src_iter_desc.
data, &weights_layer_desc.
data,
7341 &weights_iter_desc.
data, &bias_desc.
data,
7342 &dst_layer_desc.
data, &dst_iter_desc.
data,
7344 "could not create a descriptor for a vanilla RNN forward " 7345 "propagation primitive");
7365 bool allow_empty =
false)
7367 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
7381 const engine &aengine,
bool allow_empty =
false)
7383 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
7514 float beta = 0.0f) {
7520 &src_iter_desc.
data, &weights_layer_desc.
data,
7521 &weights_iter_desc.
data, &bias_desc.
data,
7522 &dst_layer_desc.
data, &dst_iter_desc.
data,
7523 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
7524 &diff_weights_layer_desc.
data,
7525 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
7526 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
7528 "could not create a descriptor for a vanilla RNN backward " 7529 "propagation primitive");
7553 bool allow_empty =
false)
7555 hint_fwd_pd.
get(), allow_empty) {}
7574 bool allow_empty =
false)
7576 hint_fwd_pd.
get(), allow_empty) {}
7738 &src_iter_desc.
data, &src_iter_c_desc.
data,
7739 &weights_layer_desc.
data, &weights_iter_desc.
data,
7740 &weights_peephole_desc.
data,
7741 &weights_projection_desc.
data, &bias_desc.
data,
7742 &dst_layer_desc.
data, &dst_iter_desc.
data,
7744 "could not create a descriptor for an LSTM forward " 7745 "propagation primitive");
7805 &src_iter_desc.
data, &src_iter_c_desc.
data,
7806 &weights_layer_desc.
data, &weights_iter_desc.
data,
7807 &weights_peephole_desc.
data, &bias_desc.
data,
7808 &dst_layer_desc.
data, &dst_iter_desc.
data,
7810 "could not create a descriptor for an LSTM forward " 7811 "propagation primitive");
7865 &src_iter_desc.
data, &src_iter_c_desc.
data,
7866 &weights_layer_desc.
data, &weights_iter_desc.
data,
7867 &bias_desc.
data, &dst_layer_desc.
data,
7868 &dst_iter_desc.
data, &dst_iter_c_desc.
data,
7870 "could not create a descriptor for an LSTM forward " 7871 "propagation primitive");
7890 bool allow_empty =
false)
7892 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
7905 const engine &aengine,
bool allow_empty =
false)
7907 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
8093 &src_iter_desc.
data, &src_iter_c_desc.
data,
8094 &weights_layer_desc.
data, &weights_iter_desc.
data,
8095 &weights_peephole_desc.
data,
8096 &weights_projection_desc.
data, &bias_desc.
data,
8097 &dst_layer_desc.
data, &dst_iter_desc.
data,
8098 &dst_iter_c_desc.
data, &diff_src_layer_desc.
data,
8099 &diff_src_iter_desc.
data,
8100 &diff_src_iter_c_desc.
data,
8101 &diff_weights_layer_desc.
data,
8102 &diff_weights_iter_desc.
data,
8103 &diff_weights_peephole_desc.
data,
8104 &diff_weights_projection_desc.
data,
8105 &diff_bias_desc.
data, &diff_dst_layer_desc.
data,
8106 &diff_dst_iter_desc.
data,
8107 &diff_dst_iter_c_desc.
data,
8109 "could not create a descriptor for an LSTM backward " 8110 "propagation primitive");
8203 &src_iter_desc.
data, &src_iter_c_desc.
data,
8204 &weights_layer_desc.
data, &weights_iter_desc.
data,
8205 &weights_peephole_desc.
data, &bias_desc.
data,
8206 &dst_layer_desc.
data, &dst_iter_desc.
data,
8207 &dst_iter_c_desc.
data, &diff_src_layer_desc.
data,
8208 &diff_src_iter_desc.
data,
8209 &diff_src_iter_c_desc.
data,
8210 &diff_weights_layer_desc.
data,
8211 &diff_weights_iter_desc.
data,
8212 &diff_weights_peephole_desc.
data,
8213 &diff_bias_desc.
data, &diff_dst_layer_desc.
data,
8214 &diff_dst_iter_desc.
data,
8215 &diff_dst_iter_c_desc.
data,
8217 "could not create a descriptor for an LSTM backward " 8218 "propagation primitive");
8300 &src_iter_desc.
data, &src_iter_c_desc.
data,
8301 &weights_layer_desc.
data, &weights_iter_desc.
data,
8302 &bias_desc.
data, &dst_layer_desc.
data,
8303 &dst_iter_desc.
data, &dst_iter_c_desc.
data,
8304 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
8305 &diff_src_iter_c_desc.
data,
8306 &diff_weights_layer_desc.
data,
8307 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
8308 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
8309 &diff_dst_iter_c_desc.
data,
8311 "could not create a descriptor for an LSTM backward " 8312 "propagation primitive");
8335 bool allow_empty =
false)
8337 hint_fwd_pd.
get(), allow_empty) {}
8355 bool allow_empty =
false)
8357 hint_fwd_pd.
get(), allow_empty) {}
8539 &src_iter_desc.
data, &weights_layer_desc.
data,
8540 &weights_iter_desc.
data, &bias_desc.
data,
8541 &dst_layer_desc.
data, &dst_iter_desc.
data,
8543 "could not create a descriptor for a GRU forward " 8544 "propagation primitive");
8563 bool allow_empty =
false)
8565 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
8578 const engine &aengine,
bool allow_empty =
false)
8580 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
8707 &src_iter_desc.
data, &weights_layer_desc.
data,
8708 &weights_iter_desc.
data, &bias_desc.
data,
8709 &dst_layer_desc.
data, &dst_iter_desc.
data,
8710 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
8711 &diff_weights_layer_desc.
data,
8712 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
8713 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
8715 "could not create a descriptor for a GRU backward " 8716 "propagation primitive");
8739 bool allow_empty =
false)
8741 hint_fwd_pd.
get(), allow_empty) {}
8759 bool allow_empty =
false)
8761 hint_fwd_pd.
get(), allow_empty) {}
8904 &src_iter_desc.
data, &weights_layer_desc.
data,
8905 &weights_iter_desc.
data, &bias_desc.
data,
8906 &dst_layer_desc.
data, &dst_iter_desc.
data,
8908 "could not create a descriptor for an LBR GRU forward " 8909 "propagation primitive");
8929 bool allow_empty =
false)
8931 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
8945 const engine &aengine,
bool allow_empty =
false)
8947 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9075 &src_iter_desc.
data, &weights_layer_desc.
data,
9076 &weights_iter_desc.
data, &bias_desc.
data,
9077 &dst_layer_desc.
data, &dst_iter_desc.
data,
9078 &diff_src_layer_desc.
data, &diff_src_iter_desc.
data,
9079 &diff_weights_layer_desc.
data,
9080 &diff_weights_iter_desc.
data, &diff_bias_desc.
data,
9081 &diff_dst_layer_desc.
data, &diff_dst_iter_desc.
data,
9083 "could not create a descriptor for an LBR GRU backward " 9084 "propagation primitive");
9108 bool allow_empty =
false)
9110 hint_fwd_pd.
get(), allow_empty) {}
9129 bool allow_empty =
false)
9131 hint_fwd_pd.
get(), allow_empty) {}
9251 &data_desc.
data, axis, group_size),
9252 "could not create a descriptor for a shuffle forward " 9253 "propagation primitive");
9275 bool allow_empty =
false)
9277 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9322 &diff_data_desc.
data, axis, group_size),
9323 "could not create a descriptor for a shuffle backward " 9324 "propagation primitive");
9350 bool allow_empty =
false)
9352 hint_fwd_pd.
get(), allow_empty) {}
9412 "could not create a descriptor for a binary operation " 9432 bool allow_empty =
false)
9434 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
9447 const engine &aengine,
bool allow_empty =
false)
9449 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9507 &weights_desc.
data,
nullptr, &dst_desc.
data),
9508 "could not create a descriptor for a matmul primitive");
9520 &weights_desc.
data, &bias_desc.
data,
9522 "could not create a descriptor for a matmul primitive");
9540 bool allow_empty =
false)
9542 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
9554 const engine &aengine,
bool allow_empty =
false)
9556 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9629 "could not create a resampling forward descriptor");
9644 const std::vector<float> &factors,
9650 &src_desc.
data,
nullptr),
9651 "could not create a resampling forward descriptor");
9671 const std::vector<float> &factors,
const memory::desc &src_desc,
9673 if (!factors.empty())
9679 "could not create a resampling forward descriptor");
9699 bool allow_empty =
false)
9701 &adesc.data, nullptr, aengine, nullptr, allow_empty) {}
9715 const engine &aengine,
bool allow_empty =
false)
9717 &adesc.data, &attr, aengine, nullptr, allow_empty) {}
9764 &diff_src_desc.
data, &diff_dst_desc.
data),
9765 "could not create a resampling backward data descriptor");
9780 if (!factors.empty())
9784 &diff_src_desc.
data, &diff_dst_desc.
data),
9785 "could not create a resampling backward data descriptor");
9809 bool allow_empty =
false)
9811 hint_fwd_pd.
get(), allow_empty) {}
9830 bool allow_empty =
false)
9832 hint_fwd_pd.
get(), allow_empty) {}
9942 return static_cast<status>(
9964 "could not get primitive cache capacity");
9971 "could not set primitive cache capacity");
9988 transa, transb, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc));
9995 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co) {
9997 K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co));
10004 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co) {
10006 K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co));
10009 #if DNNL_CPU_RUNTIME == DNNL_RUNTIME_THREADPOOL 10015 return static_cast<status>(dnnl_sgemm_tp(
10016 transa, transb, M, N, K, alpha, A, lda, B, ldb, beta, C, ldc, tp));
10022 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co,
10024 return static_cast<status>(dnnl_gemm_u8s8s32_tp(transa, transb, offsetc, M,
10025 N, K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co, tp));
10032 float beta, int32_t *C,
dnnl_dim_t ldc,
const int32_t *co,
10034 return static_cast<status>(dnnl_gemm_s8s8s32_tp(transa, transb, offsetc, M,
10035 N, K, alpha, A, lda, ao, B, ldb, bo, beta, C, ldc, co, tp));
10047 "could not create a primitive");
10053 inline void primitive::execute(
const stream &astream,
10054 const std::unordered_map<int, memory> &args)
const {
10055 std::vector<dnnl_exec_arg_t> c_args;
10056 c_args.reserve(args.size());
10057 for (
const auto &a : args)
10058 c_args.push_back({a.first, a.second.get(
true)});
10061 (int)c_args.size(), c_args.data()),
10062 "could not execute a primitive");
10067 #undef DNNL_DEFINE_BITMASK_OPS 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:6432
#define DNNL_ARG_WEIGHTS_PROJECTION
A special mnemonic for RNN weights applied to the projection weights.
Definition: dnnl_types.h:1944
Layer normalization forward propagation primitive.
Definition: dnnl.hpp:6395
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_post_ops_get_params_dw_k3s1p1(const_dnnl_post_ops_t post_ops, int index, dnnl_data_type_t *weights_data_type, dnnl_data_type_t *bias_data_type, dnnl_data_type_t *dst_data_type, dnnl_dim_t *count, int *mask, const float **scales)
Returns the parameters of an depthwise post-op with stride 1.
primitive_desc(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:9347
A layer normalization primitive.
Definition: dnnl_types.h:814
cl_device_id get_ocl_device() const
Returns the OpenCL device associated with the engine.
Definition: dnnl.hpp:931
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:6723
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_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.
deconvolution_forward(const primitive_desc &pd)
Constructs a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4582
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:7086
primitive_desc(const desc &adesc, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a matmul primitive.
Definition: dnnl.hpp:9539
destination grad. memory desc
Definition: dnnl_types.h:2145
void * get_data_handle() const
Returns the underlying memory buffer.
Definition: dnnl.hpp:2070
An element-wise primitive.
Definition: dnnl_types.h:804
flags
Stream flags. Can be combined using the bitwise OR operator.
Definition: dnnl.hpp:1047
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:4994
Primitive descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:9258
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:3779
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.
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:6774
lrn_backward(const primitive_desc &pd)
Constructs an LRN backward propagation primitive.
Definition: dnnl.hpp:5221
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:3257
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:5750
prop_kind
Propagation kind.
Definition: dnnl.hpp:436
6D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:347
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7418
memory::desc diff_dst_desc(int idx) const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:2965
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:9566
memory::desc src_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8378
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...
execution engine
Definition: dnnl_types.h:2096
A batch normalization primitive.
Definition: dnnl_types.h:812
sum()=default
Default constructor. Produces an empty object.
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:6844
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:7380
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:5867
primitive_desc()=default
Default constructor. Produces an empty object.
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.
Deconvolution forward propagation primitive.
Definition: dnnl.hpp:4321
Eltwise: bounded_relu.
Definition: dnnl_types.h:863
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8974
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5104
Undefined memory format tag.
Definition: dnnl_types.h:169
3D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:214
shuffle_backward(const primitive_desc &pd)
Constructs a shuffle backward propagation primitive.
Definition: dnnl.hpp:9377
A tensor in a generic format described by the stride and blocking values in each dimension.
Definition: dnnl_types.h:89
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:8469
Primitive descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:5283
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:6790
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:4017
Descriptor for a vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7443
CPU engine.
Definition: dnnl_types.h:1741
inner_product_backward_data()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
Eltwise: ReLU (dst for backward)
Definition: dnnl_types.h:890
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:9294
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_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...
#define DNNL_ARG_DIFF_WEIGHTS_ITER
A special mnemonic for diff of RNN weights applied to the recurrent input.
Definition: dnnl_types.h:2018
destination memory desc
Definition: dnnl_types.h:2144
Direct deconvolution.
Definition: dnnl_types.h:845
Elementwise: exponential linear unit (ELU)
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
A descriptor for an RNN operation.
Definition: dnnl_types.h:1577
The user manages the scratchpad allocation by querying and providing the scratchpad memory to primiti...
Definition: dnnl_types.h:1813
The operation failed due to an out-of-memory condition.
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8388
layer normalization descriptor
Definition: dnnl_types.h:2129
gru_backward(const primitive_desc &pd)
Constructs a GRU backward propagation primitive.
Definition: dnnl.hpp:8849
memory::desc diff_weights_peephole_desc() const
Returns diff weights peephole memory descriptor.
Definition: dnnl.hpp:7196
Elementwise: erf-based gelu.
memory consumption – extra
Definition: dnnl_types.h:2103
Average pooling exclude padding, alias for dnnl::algorithm::pooling_avg_include_padding.
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7112
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:10001
dnnl_primitive_kind_t
Kinds of primitives.
Definition: dnnl_types.h:788
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:2425
Average pooling include padding.
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:5140
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:6874
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:5264
eltwise_forward()=default
Default constructor. Produces an empty object.
permuted 3D tensor
Definition: dnnl_types.h:194
Eltwise: linear.
Definition: dnnl_types.h:861
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:6323
Primitive descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:3967
softmax_backward(const primitive_desc &pd)
Constructs a softmax backward propagation primitive.
Definition: dnnl.hpp:5879
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5107
Bidirectional execution of RNN primitive with concatenation of the results.
Primitive descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:5392
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:7325
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7962
memory::desc weights_projection_desc() const
Returns weights projection memory descriptor.
Definition: dnnl.hpp:8398
Elementwise: logistic (dst for backward)
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:6668
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:6918
void set_scratchpad_mode(scratchpad_mode mode)
Sets scratchpad mode.
Definition: dnnl.hpp:2580
vanilla_rnn_backward()=default
Default constructor. Produces an empty object.
A resampling primitive.
Definition: dnnl_types.h:828
shuffle_forward(const primitive_desc &pd)
Constructs a shuffle forward propagation primitive.
Definition: dnnl.hpp:9303
logsoftmax_backward(const primitive_desc &pd)
Constructs a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:6087
An opaque structure to describe a primitive.
GRU cell with linear before reset.
Definition: dnnl_types.h:926
deconvolution_backward_weights(const primitive_desc &pd)
Constructs a deconvolution weights gradient primitive.
Definition: dnnl.hpp:5013
oneDNN namespace
Definition: dnnl.hpp:81
Descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:3602
Any ISA (excepting those listed as initial support)
Definition: dnnl_types.h:2246
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:6345
Undefined data type, used for empty memory descriptors.
Definition: dnnl_types.h:64
primitive_desc()=default
Default constructor. Produces an empty object.
status set_max_cpu_isa(cpu_isa isa)
Sets the maximal ISA the library can dispatch to on the CPU.
Definition: dnnl.hpp:9941
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:4615
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...
static engine query(const primitive_desc &pd)
Returns the engine of a primitive descriptor.
Definition: dnnl.hpp:945
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8375
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:5188
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.
primitive_desc()=default
Default constructor. Produces an empty object.
desc(const dnnl_memory_desc_t &data)
Constructs a memory descriptor from a C API data structure.
Definition: dnnl.hpp:1835
stream_attr(engine::kind akind)
Constructs stream attributes for a stream that runs on an engine of a particular kind.
Definition: dnnl.hpp:1008
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7594
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:3859
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:7184
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:5531
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:9157
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. ...
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5567
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:9149
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.
Primitive descriptor for a convolution weights gradient primitive.
Definition: dnnl.hpp:4229
static size_t get_count(kind akind)
Returns the number of engines of a certain kind.
Definition: dnnl.hpp:864
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:8687
binary()=default
Default constructor. Produces an empty object.
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.
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:8756
#define DNNL_ARG_WEIGHTS_LAYER
A special mnemonic for RNN weights applied to the layer input.
Definition: dnnl_types.h:1926
Use no normalization flags.
Definition: dnnl_types.h:951
scratchpad memory desc
Definition: dnnl_types.h:2147
Elementwise: natural logarithm.
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.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8803
const void * const_dnnl_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: dnnl_types.h:1212
Intel Streaming SIMD Extensions 4.1 (Intel SSE4.1)
Definition: dnnl_types.h:2249
Eltwise: clip.
Definition: dnnl_types.h:882
inner_product_backward_data(const primitive_desc &pd)
Constructs an inner product backward propagation primitive.
Definition: dnnl.hpp:6927
Shuffle backward propagation primitive.
Definition: dnnl.hpp:9307
sum(const primitive_desc &pd)
Constructs a sum primitive.
Definition: dnnl.hpp:3508
Intel AVX-512, Intel DL Boost and bfloat16 support and Intel AMX with 8-bit integer and bfloat16 supp...
Definition: dnnl_types.h:2282
An opaque structure for primitive descriptor attributes.
reorder destination engine
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:3107
cl_context get_ocl_context() const
Returns the OpenCL context associated with the engine.
Definition: dnnl.hpp:922
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8987
Deconvolution weights gradient primitive.
Definition: dnnl.hpp:4752
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:9562
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:7045
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:8424
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:9291
gru_forward()=default
Default constructor. Produces an empty object.
logsoftmax descriptor
Definition: dnnl_types.h:2134
Backward propagation (with respect to all parameters).
kind
Kinds of primitives supported by the library.
Definition: dnnl.hpp:278
permuted 4D tensor
Definition: dnnl_types.h:191
void get_output_scales(int &mask, std::vector< float > &scales) const
Returns output scaling factors correspondence mask and values.
Definition: dnnl.hpp:2595
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:7789
void append_eltwise(float scale, algorithm aalgorithm, float alpha, float beta)
Appends an elementwise post-op.
Definition: dnnl.hpp:2348
Use scale and shift parameters.
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:7172
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:3903
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7926
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:4567
Primitive iterator passed over last primitive descriptor.
Definition: dnnl_types.h:49
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:3681
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:7212
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.
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:4715
#define DNNL_ARG_DST_LAYER
A special mnemonic for RNN output vector. An alias for DNNL_ARG_DST_0.
Definition: dnnl_types.h:1902
Local response normalization (LRN) forward propagation primitive.
Definition: dnnl.hpp:5028
memory::desc src_desc(int idx) const
Returns a source memory descriptor.
Definition: dnnl.hpp:2929
An opaque structure to describe a memory.
void execute(const stream &astream, const std::unordered_map< int, memory > &args) const
Executes computations specified by the primitive in a specified stream.
Base class for primitive descriptors for RNN primitives.
Definition: dnnl.hpp:7073
void reset(T t, bool weak=false)
Resets the handle wrapper objects to wrap a new C API handle.
Definition: dnnl.hpp:183
Descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:6831
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:9360
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:3635
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:6665
Elementwise: hyperbolic tangent non-linearity (tanh) (dst for backward)
permuted 5D tensor
Definition: dnnl_types.h:192
dnnl_memory_desc_t data
The underlying C API data structure.
Definition: dnnl.hpp:1769
LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9005
Descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6397
dnnl_engine_kind_t
Kinds of engines.
Definition: dnnl_types.h:1737
struct dnnl_primitive_desc * dnnl_primitive_desc_t
A primitive descriptor handle.
Definition: dnnl_types.h:1780
Eltwise: square root (dst for backward)
Definition: dnnl_types.h:896
non-standard 16-bit (bfloat16 w/ 7 bit mantissa) floating point.
Definition: dnnl_types.h:68
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5670
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7405
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:3847
primitive_desc()=default
Default constructor. Produces an empty object.
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:5761
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8620
batch_normalization_backward()=default
Default constructor. Produces an empty object.
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...
Intel AVX-512 and Intel Deep Learning Boost (Intel DL Boost) support for Intel Xeon Scalable processo...
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:9407
lbr_gru_forward()=default
Default constructor. Produces an empty object.
Primitive descriptor for a concat primitive.
Definition: dnnl.hpp:3334
memory::dims dims() const
Returns dimensions of the memory descriptor.
Definition: dnnl.hpp:1967
#define DNNL_ARG_SRC_LAYER
A special mnemonic for RNN input vector.
Definition: dnnl_types.h:1876
Elementwise: square root (dst for backward)
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:5798
Undefined primitive.
Definition: dnnl_types.h:790
Intel Advanced Vector Extensions 512 (Intel AVX-512) subset for Intel Xeon Phi processors x200 Series...
void set_post_ops(const post_ops ops)
Sets post-ops.
Definition: dnnl.hpp:2779
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:5504
number of outputs expected
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7426
primitive::kind kind(int index) const
Returns the primitive kind of post-op at entry with a certain index.
Definition: dnnl.hpp:2264
Unidirectional execution of RNN primitive from left to right.
Definition: dnnl_types.h:1563
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:4245
The library manages the scratchpad allocation according to the policy specified by the DNNL_ENABLE_CO...
Definition: dnnl_types.h:1808
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:7164
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:6475
Descriptor for an inner product weights gradient primitive.
Definition: dnnl.hpp:6933
dnnl_status_t DNNL_API dnnl_memory_destroy(dnnl_memory_t memory)
Destroys a memory object.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5331
dnnl_status_t DNNL_API dnnl_memory_get_data_handle(const_dnnl_memory_t memory, void **handle)
Returns memory object's data handle.
3D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:220
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:6002
memory::desc weights_peephole_desc() const
Returns weights peephole memory descriptor.
Definition: dnnl.hpp:7124
batch normalization descriptor
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8594
3D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBc8b ...
Definition: dnnl_types.h:562
Nearest Neighbor resampling method.
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:8444
Intel AVX-512 subset for Intel Xeon Phi processors 7235, 7285, 7295 Series.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5974
dnnl_dims_t dims
Dimensions in the following order:
Definition: dnnl_types.h:1157
primitive_desc()=default
Default constructor. Produces an empty object.
4D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcd16b ...
Definition: dnnl_types.h:544
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8979
binary descriptor
Definition: dnnl_types.h:2133
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:5311
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6810
Elementwise: square root.
primitive_desc()=default
Default constructor. Produces an empty object.
The operation was successful.
permuted 4D tensor
Definition: dnnl_types.h:186
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:3009
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:9731
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6075
Any ISA (excepting those listed as initial support)
Intel Streaming SIMD Extensions 4.1 (Intel SSE4.1)
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:6411
dnnl_status_t DNNL_API dnnl_primitive_attr_destroy(dnnl_primitive_attr_t attr)
Destroys primitive attributes.
#define DNNL_ARG_WEIGHTS_ITER
A special mnemonic for RNN weights applied to the recurrent input.
Definition: dnnl_types.h:1932
Descriptor for a batch normalization backward propagation primitive.
Definition: dnnl.hpp:6244
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:9623
memory::desc diff_weights_peephole_desc() const
Returns diff weights peephole memory descriptor.
Definition: dnnl.hpp:8449
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:7653
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:8439
A descriptor of a pooling operation.
Definition: dnnl_types.h:1382
status set_jit_profiling_jitdumpdir(const std::string &dir)
Sets JIT dump output path.
Definition: dnnl.hpp:9912
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:1951
plain 2D tensor
Definition: dnnl_types.h:178
kind get_kind() const
Returns the kind of the engine.
Definition: dnnl.hpp:912
A memory descriptor.
Definition: dnnl.hpp:1766
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:8177
permuted 5D tensor
Definition: dnnl_types.h:199
rnn_direction
A direction of RNN primitive execution.
Definition: dnnl.hpp:685
void set_threadpool(threadpool_iface *threadpool)
Sets the threadpool attribute.
Definition: dnnl.hpp:1023
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3853
destination gradient (diff) memory desc
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8795
vanilla_rnn_forward()=default
Default constructor. Produces an empty object.
Undefined memory format kind, used for empty memory descriptors.
Definition: dnnl_types.h:82
GRU cell with linear before reset.
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:8526
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:8838
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.
32-bit signed integer.
Definition: dnnl_types.h:72
Bidirectional execution of RNN primitive with summation of the results.
Definition: dnnl_types.h:1571
dnnl_status_t DNNL_API dnnl_post_ops_get_params_eltwise(const_dnnl_post_ops_t post_ops, int index, float *scale, dnnl_alg_kind_t *alg_kind, float *alpha, float *beta)
Returns the parameters of an elementwise post-up.
An inner product primitive.
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7957
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4991
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5971
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:6613
Direct convolution.
Definition: dnnl_types.h:839
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:6159
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:2985
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:9188
A container for stream attributes.
Definition: dnnl.hpp:998
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:1848
Just a sentinel, not real memory format tag.
Definition: dnnl_types.h:410
Primitive descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:5059
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:6947
Descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:7670
5D tensor blocked by 1st dimension with block size 8
Definition: dnnl_types.h:289
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8800
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:365
An opaque structure to describe a primitive descriptor iterator.
eltwise_forward(const primitive_desc &pd)
Constructs an eltwise forward propagation primitive.
Definition: dnnl.hpp:5576
pooling descriptor
Definition: dnnl_types.h:2126
Convolution algorithm(either direct or Winograd) is chosen just in time.
Definition: dnnl_types.h:843
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:9178
Elementwise: bounded_relu.
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:3730
Logsoftmax backward propagation primitive.
Definition: dnnl.hpp:5987
memory(const desc &md, const engine &aengine)
Constructs a memory object.
Definition: dnnl.hpp:2048
An execution engine.
Definition: dnnl.hpp:840
matmul(const primitive_desc &pd)
Constructs a matmul primitive.
Definition: dnnl.hpp:9587
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6072
GRU forward propagation primitive.
Definition: dnnl.hpp:8489
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.
Primitive descriptor for a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6445
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.
convolution_backward_data(const primitive_desc &pd)
Constructs a convolution backward propagation primitive.
Definition: dnnl.hpp:4037
dnnl_status_t DNNL_API dnnl_memory_unmap_data(const_dnnl_memory_t memory, void *mapped_ptr)
Unmaps a memory object and writes back any changes made to the previously mapped memory buffer...
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:3273
const char * impl_info_str() const
Returns implementation name.
Definition: dnnl.hpp:2876
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:9152
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:2160
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8612
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:6030
Descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:5125
Primitive descriptor for an inner product weights gradient primitive.
Definition: dnnl.hpp:6982
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8623
layer_normalization_forward()=default
Default constructor. Produces an empty object.
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...
An element-wise primitive.
desc(prop_kind aprop_kind, rnn_direction direction, const memory::desc &src_layer_desc, const memory::desc &src_iter_desc, const memory::desc &src_iter_c_desc, const memory::desc &weights_layer_desc, const memory::desc &weights_iter_desc, const memory::desc &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:8065
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.
dnnl_status_t DNNL_API dnnl_deconvolution_backward_weights_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a deconvolution weights gradient primitive.
memory desc of an execute argument
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8969
Unidirectional execution of RNN primitive from right to left.
Definition: dnnl_types.h:1565
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.
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:7850
A deconvolution primitive.
Definition: dnnl_types.h:802
Descriptor for an LRN forward propagation primitive.
Definition: dnnl.hpp:5030
A class that provides the destructor for a oneDNN C API handle.
Definition: dnnl.hpp:127
lstm_backward()=default
Default constructor. Produces an empty object.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:7037
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:3841
LSTM backward propagation primitive.
Definition: dnnl.hpp:7985
engine(kind akind, size_t index)
Constructs an engine.
Definition: dnnl.hpp:873
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7100
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.
5D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:315
8-bit unsigned integer.
Definition: dnnl_types.h:76
A descriptor of a matrix multiplication operation.
Definition: dnnl_types.h:1685
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:4285
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6505
Alias for dnnl::rnn_direction::unidirectional_left2right.
memory::desc src_desc(int idx=0) const
Returns a source memory descriptor.
Definition: dnnl.hpp:3497
deconvolution_backward_data()=default
Default constructor. Produces an empty object.
permuted 6D tensor
Definition: dnnl_types.h:205
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...
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:9165
dnnl_status_t DNNL_API dnnl_set_jit_profiling_flags(unsigned flags)
Sets library profiling flags.
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.
number of inputs expected
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:4022
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:7643
layer_normalization_forward(const primitive_desc &pd)
Constructs a layer normalization forward propagation primitive.
Definition: dnnl.hpp:6536
#define DNNL_ARG_DIFF_DST_ITER
A special mnemonic for gradient (diff) of RNN input recurrent hidden state vector.
Definition: dnnl_types.h:1994
dnnl_query_t
Primitive descriptor query specification.
Definition: dnnl_types.h:2093
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6656
Intel Advanced Vector Extensions (Intel AVX)
Definition: dnnl_types.h:2252
Intel AVX-512 subset for Intel Xeon Phi processors 7235, 7285, 7295 Series.
Definition: dnnl_types.h:2263
Backward data propagation.
Definition: dnnl_types.h:779
Inner product forward propagation primitive.
Definition: dnnl.hpp:6704
Average pooling exclude padding.
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5448
A descriptor of a binary operation.
Definition: dnnl_types.h:1659
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.
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7402
source gradient memory desc
Definition: dnnl_types.h:2141
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:8352
void execute(const stream &astream, memory &src, memory &dst) const
Executes the reorder primitive.
Definition: dnnl.hpp:3305
engine get_engine() const
Returns the engine of the primitive descriptor.
Definition: dnnl.hpp:2872
A binary primitive.
Definition: dnnl_types.h:822
Structure containing version information as per Semantic Versioning
Definition: dnnl_types.h:2214
Elementwise unary operation backward propagation primitive.
Definition: dnnl.hpp:5580
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:6582
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:5408
deconvolution_backward_data(const primitive_desc &pd)
Constructs a deconvolution backward propagation primitive.
Definition: dnnl.hpp:4748
void set_rnn_data_qparams(float scale, float shift)
Sets quantization scale and shift parameters for RNN data tensors.
Definition: dnnl.hpp:2817
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8370
4D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:246
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...
#define DNNL_ARG_DIFF_SRC_ITER
A special mnemonic for gradient (diff) of RNN input recurrent hidden state vector.
Definition: dnnl_types.h:1973
primitive_desc()=default
Default constructor. Produces an empty object.
LSTM cell.
Definition: dnnl_types.h:916
memory::desc diff_bias_desc() const
Returns the diff bias memory descriptor.
Definition: dnnl.hpp:7048
Packed weights format used in RNN.
Definition: dnnl_types.h:93
desc()=default
Default constructor. Produces an empty object.
int DNNL_API dnnl_post_ops_len(const_dnnl_post_ops_t post_ops)
Returns the length of post-ops.
#define DNNL_ARG_DST_ITER
A special mnemonic for RNN input recurrent hidden state vector.
Definition: dnnl_types.h:1908
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:3396
Descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5489
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:6063
4D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:240
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:9173
#define DNNL_ARG_SRC_ITER_C
A special mnemonic for RNN input recurrent cell state vector.
Definition: dnnl_types.h:1891
Inner product weights gradient primitive.
Definition: dnnl.hpp:6931
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc diff_bias_desc() const
Returns the diff bias memory descriptor.
Definition: dnnl.hpp:5002
A reorder primitive.
Definition: dnnl_types.h:792
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:9579
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:9162
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.
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:6310
pooling_forward()=default
Default constructor. Produces an empty object.
A descriptor of a convolution operation.
Definition: dnnl_types.h:1224
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.
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:7551
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:7190
Descriptor for a resampling backward propagation primitive.
Definition: dnnl.hpp:9749
normalization_flags
Flags for normalization primitives.
Definition: dnnl.hpp:588
matmul()=default
Default constructor. Produces an empty object.
convolution_forward()=default
Default constructor. Produces an empty object.
status set_verbose(int level)
Configures verbose output to stdout.
Definition: dnnl.hpp:9892
softmax descriptor
Definition: dnnl_types.h:2125
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:5098
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8779
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:8588
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.
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:4531
Elementwise: tanh-based gelu.
softmax_forward(const primitive_desc &pd)
Constructs a softmax forward propagation primitive.
Definition: dnnl.hpp:5779
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:5950
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:3211
Intel AVX-512 subset for Intel Xeon Scalable processor family and Intel Core processor family...
Definition: dnnl_types.h:2267
format_kind
Memory format kind.
Definition: dnnl.hpp:1222
binary(const primitive_desc &pd)
Constructs an elementwise binary operation primitive.
Definition: dnnl.hpp:9477
no query
Definition: dnnl_types.h:2094
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6807
dnnl_scratchpad_mode_t
Scratchpad mode.
Definition: dnnl_types.h:1791
Fuse with ReLU.
Definition: dnnl_types.h:990
data_type
Data type specification.
Definition: dnnl.hpp:1204
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc weights_desc(int idx) const
Returns a weights memory descriptor.
Definition: dnnl.hpp:2947
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7970
Primitive descriptor for a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:6013
Forward data propagation (training mode).
batch normalization descriptor
Definition: dnnl_types.h:2128
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:7571
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8383
The operation failed because requested functionality is not implemented.
primitive_desc()=default
Default constructor. Produces an empty object.
Out-of-place summation (sum) primitive.
Definition: dnnl.hpp:3425
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:4558
memory::desc diff_weights_projection_desc() const
Returns diff weights projection memory descriptor.
Definition: dnnl.hpp:8454
memory::desc weights_peephole_desc() const
Returns weights peephole memory descriptor.
Definition: dnnl.hpp:7944
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:9734
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8782
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:9170
runtime estimation (seconds)
Definition: dnnl_types.h:2102
Backward propagation (with respect to all parameters).
Definition: dnnl_types.h:777
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:9848
An unspecified engine.
Definition: dnnl_types.h:1739
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:9285
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:3493
Backward weights propagation.
eltwise_backward()=default
Default constructor. Produces an empty object.
threadpool_iface * get_threadpool()
Returns the threadpool attribute.
Definition: dnnl.hpp:1033
handle()=default
Constructs an empty handle object.
dnnl_status_t DNNL_API dnnl_logsoftmax_backward_desc_init(dnnl_logsoftmax_desc_t *logsoftmax_desc, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, int logsoftmax_axis)
Initializes a descriptor for logsoftmax backward propagation primitive.
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8599
gru_forward(const primitive_desc &pd)
Constructs a GRU forward propagation primitive.
Definition: dnnl.hpp:8634
5D tensor blocked by 1st dimension with block size 16
Definition: dnnl_types.h:287
Eltwise: ReLU.
Definition: dnnl_types.h:849
memory::desc diff_weights_desc(int idx) const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:2974
Descriptor for an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:8855
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.
GPU engine.
Definition: dnnl_types.h:1743
Local response normalization (LRN) across multiple channels.
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.
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:4657
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6912
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.
softmax_backward()=default
Default constructor. Produces an empty object.
Batch normalization forward propagation primitive.
Definition: dnnl.hpp:6113
Convolution forward propagation primitive.
Definition: dnnl.hpp:3600
primitive_desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for a deconvolution weights gradient primitive.
Definition: dnnl.hpp:4936
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6350
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5451
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:6342
inner_product_forward(const primitive_desc &pd)
Constructs an inner product forward propagation primitive.
Definition: dnnl.hpp:6825
Use no normalization flags.
vanilla_rnn_forward(const primitive_desc &pd)
Constructs a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7437
3D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:218
Descriptor for an elementwise backward propagation primitive.
Definition: dnnl.hpp:5582
eltwise_backward(const primitive_desc &pd)
Constructs an eltwise backward propagation primitive.
Definition: dnnl.hpp:5679
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:4953
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:3072
(scratch) memory, additional to all inputs and outputs memory (bytes)
Definition: dnnl_types.h:2108
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:9183
cl_command_queue get_ocl_command_queue() const
Returns the underlying OpenCL queue object.
Definition: dnnl.hpp:1093
memory::desc scratchpad_desc() const
Returns the scratchpad memory descriptor.
Definition: dnnl.hpp:3030
Elementwise unary operation forward propagation primitive.
Definition: dnnl.hpp:5487
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8607
Local response normalization (LRN) backward propagation primitive.
Definition: dnnl.hpp:5123
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8406
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:8828
primitive_desc()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
Eltwise: pow.
Definition: dnnl_types.h:884
memory::desc src_iter_c_desc() const
Returns source recurrent cell state memory descriptor.
Definition: dnnl.hpp:7106
5D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:300
lstm_forward()=default
Default constructor. Produces an empty object.
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:8429
permuted 4D tensor
Definition: dnnl_types.h:201
An opaque structure to describe an engine.
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:2716
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5564
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:2484
desc()=default
Default constructor. Produces an empty object.
Vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7280
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4282
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:8944
resampling_backward(const primitive_desc &pd)
Constructs a resampling backward propagation primitive.
Definition: dnnl.hpp:9857
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:3092
lrn_forward()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
#define DNNL_ARG_SRC_ITER
A special mnemonic for RNN input recurrent hidden state vector.
Definition: dnnl_types.h:1885
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5110
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:5046
inner_product_backward_weights(const primitive_desc &pd)
Constructs an inner product weights gradient primitive.
Definition: dnnl.hpp:7059
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:9840
Forward data propagation (inference mode).
Definition: dnnl_types.h:771
Undefined RNN flags.
Definition: dnnl_types.h:1557
memory::desc query_md(query what, int idx=0) const
Returns a memory descriptor.
Definition: dnnl.hpp:2909
A sum primitive.
Definition: dnnl_types.h:798
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6676
oneDNN exception class.
Definition: dnnl.hpp:91
memory::desc weights_projection_desc() const
Returns weights projection memory descriptor.
Definition: dnnl.hpp:7949
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:9365
#define DNNL_ARG_BIAS
Bias tensor argument.
Definition: dnnl_types.h:1947
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7602
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:4264
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:9055
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:2510
size_t DNNL_API dnnl_memory_desc_get_size(const dnnl_memory_desc_t *memory_desc)
Returns the size of a memory descriptor.
Intel Advanced Vector Extensions 512 (Intel AVX-512) subset for Intel Xeon Phi processors x200 Series...
Definition: dnnl_types.h:2259
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:7721
primitive_desc()=default
Default constructor. Produces an empty object.
void set_data_handle(void *handle) const
Sets the underlying memory buffer.
Definition: dnnl.hpp:2117
Forward data propagation (inference mode).
A descriptor of a element-wise operation.
Definition: dnnl_types.h:1299
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.
A descriptor of a Softmax operation.
Definition: dnnl_types.h:1352
Descriptor for a convolution weights gradient primitive.
Definition: dnnl.hpp:4043
An opaque structure for a chain of post operations.
A descriptor of an inner product operation.
Definition: dnnl_types.h:1521
Eltwise: round.
Definition: dnnl_types.h:888
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:3441
Descriptor for a deconvolution weights gradient primitive.
Definition: dnnl.hpp:4754
The operation failed because of incorrect function arguments.
Definition: dnnl_types.h:45
Forward data propagation, alias for dnnl::prop_kind::forward_training.
int len() const
Returns the number of post-ops entries.
Definition: dnnl.hpp:2259
runtime estimation (seconds), unimplemented
resampling_forward(const primitive_desc &pd)
Constructs a resampling forward propagation primitive.
Definition: dnnl.hpp:9743
Pooling forward propagation primitive.
Definition: dnnl.hpp:5235
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:3350
dnnl_rnn_direction_t
A direction of RNN primitive execution.
Definition: dnnl_types.h:1561
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:3850
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7589
inner product descriptor
Definition: dnnl_types.h:2130
5D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:291
6D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:349
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:6801
batch_normalization_forward(const primitive_desc &pd)
Constructs a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6238
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:9992
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.
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:5373
dnnl_status_t
Status values returned by the library functions.
Definition: dnnl_types.h:39
memory::desc diff_src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5445
stream()=default
Constructs an empty stream.
Pooling backward propagation primitive.
Definition: dnnl.hpp:5347
Undefined data type (used for empty memory descriptors).
memory::desc dst_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7965
dnnl_status_t DNNL_API dnnl_primitive_create(dnnl_primitive_t *primitive, const_dnnl_primitive_desc_t primitive_desc)
Creates a primitive.
Abstract threadpool interface.
Definition: dnnl_threadpool_iface.hpp:27
Binary mul.
Definition: dnnl_types.h:930
LRN within a single channel.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5334
dnnl_status_t DNNL_API dnnl_post_ops_destroy(dnnl_post_ops_t post_ops)
Destroys post-ops.
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8403
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.
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:8818
Primitive descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6145
Elementwise: rectified linear unit (ReLU)
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7921
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:6646
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:8787
A softmax primitive.
Definition: dnnl_types.h:806
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5664
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:7218
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:6132
memory::desc weights_peephole_desc() const
Returns weights peephole memory descriptor.
Definition: dnnl.hpp:8393
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition: dnnl_types.h:1034
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.
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:7904
Forward data propagation (alias for dnnl_forward_training).
Definition: dnnl_types.h:775
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8982
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8990
stream & wait()
Waits for all primitives executing in the stream to finish.
Definition: dnnl.hpp:1103
primitive kind
Definition: dnnl_types.h:2097
dnnl_status_t DNNL_API dnnl_engine_get_ocl_context(dnnl_engine_t engine, cl_context *context)
Returns the OpenCL context associated with an engine.
matrix multiplication (matmul) descriptor
Definition: dnnl_types.h:2135
shuffle_backward()=default
Default constructor. Produces an empty object.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:9468
Default stream configuration.
Definition: dnnl_types.h:2171
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6336
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:6186
Shuffle forward propagation primitive.
Definition: dnnl.hpp:9233
error(dnnl_status_t status, const char *message)
Constructs an instance of an exception class.
Definition: dnnl.hpp:99
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:9553
LRN within a single channel.
Definition: dnnl_types.h:912
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:6290
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_data_type_t
Data type specification.
Definition: dnnl_types.h:62
post_ops()
Constructs an empty sequence of post-ops.
Definition: dnnl.hpp:2251
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6493
plain 4D tensor
Definition: dnnl_types.h:180
const_dnnl_primitive_desc_t get_primitive_desc() const
Returns the C API primitive descriptor of the underlying C API primitive.
Definition: dnnl.hpp:369
bool next_impl()
Advances the primitive iterator to the next implementation.
Definition: dnnl.hpp:3563
pooling_backward(const primitive_desc &pd)
Constructs a pooling backward propagation primitive.
Definition: dnnl.hpp:5460
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:7584
memory::desc diff_dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5870
batch_normalization_forward()=default
Default constructor. Produces an empty object.
plain 6D tensor
Definition: dnnl_types.h:182
Tensor concatenation (concat) primitive.
Definition: dnnl.hpp:3332
Primitive attributes.
Definition: dnnl.hpp:2549
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:9144
dnnl_status_t DNNL_API dnnl_engine_create(dnnl_engine_t *engine, dnnl_engine_kind_t kind, size_t index)
Creates an engine.
Eltwise: exp (dst for backward)
Definition: dnnl_types.h:900
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:4025
Winograd convolution.
Definition: dnnl_types.h:841
void get_params_eltwise(int index, float &scale, algorithm &aalgorithm, float &alpha, float &beta) const
Returns parameters of an elementwise post-up.
Definition: dnnl.hpp:2362
5D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:337
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:9961
desc reshape(const dims &adims, bool allow_empty=false) const
Constructs a memory descriptor by reshaping an existing one.
Definition: dnnl.hpp:1904
Intel AVX-512 subset for Intel Xeon Scalable processor family and Intel Core processor family...
primitive_attr(dnnl_primitive_attr_t attr)
Creates primitive attributes from a C API dnnl_primitive_attr_t handle.
Definition: dnnl.hpp:2565
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:6999
#define DNNL_ARG_DIFF_SRC_ITER_C
A special mnemonic for gradient (diff) of RNN input recurrent cell state vector.
Definition: dnnl_types.h:1979
Vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7441
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:6486
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4999
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:5209
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7144
Layer normalization backward propagation primitive.
Definition: dnnl.hpp:6540
dnnl_format_tag_t
Memory format tag specification.
Definition: dnnl_types.h:164
Max pooling.
Definition: dnnl_types.h:902
dnnl_status_t DNNL_API dnnl_memory_get_engine(const_dnnl_memory_t memory, dnnl_engine_t *engine)
Returns the engine of a memory object.
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7415
Eltwise: natural logarithm.
Definition: dnnl_types.h:880
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:7623
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:5072
memory::desc diff_bias_desc() const
Returns the diff bias memory descriptor.
Definition: dnnl.hpp:4296
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:7915
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:3124
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:9273
const char * what() const noexcept override
Returns the explanatory string.
Definition: dnnl.hpp:103
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 convolution forward propagation primitive.
Definition: dnnl.hpp:3830
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...
#define DNNL_ARG_DIFF_WEIGHTS_PROJECTION
A special mnemonic for diff of RNN weights applied to the projection weights.
Definition: dnnl_types.h:2030
Unidirectional execution of RNN primitive from left to right.
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.
primitive_desc()=default
Default constructor. Produces an empty object.
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:3545
const dnnl_version_t DNNL_API * dnnl_version()
Returns library version information.
kind
Kinds of engines.
Definition: dnnl.hpp:845
4D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcd4b ...
Definition: dnnl_types.h:547
Base class for all computational primitives.
Definition: dnnl.hpp:276
T get(bool allow_empty=false) const
Returns the underlying C API handle.
Definition: dnnl.hpp:192
Primitive descriptor for a batch normalization backward propagation primitive.
Definition: dnnl.hpp:6273
const version_t * version()
Returns library version information.
Definition: dnnl.hpp:9897
4D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:267
Out-of-order execution.
Definition: dnnl_types.h:2169
Descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:8640
Fuse normalization with ReLU.
Binary min.
Definition: dnnl_types.h:934
pooling_backward()=default
Default constructor. Produces an empty object.
Batch normalization backward propagation primitive.
Definition: dnnl.hpp:6242
status
Status values returned by the library functions.
Definition: dnnl.hpp:9874
desc(const dims &adims, data_type adata_type, const dims &strides, bool allow_empty=false)
Constructs a memory descriptor by strides.
Definition: dnnl.hpp:1818
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:7019
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6499
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:4573
Primitive descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5920
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4028
Default stream configuration.
permuted 3D tensor
Definition: dnnl_types.h:188
primitive_desc()=default
Default constructor. Produces an empty object.
4D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:285
5D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcde4b ...
Definition: dnnl_types.h:535
layer_normalization_backward()=default
Default constructor. Produces an empty object.
Average pooling (alias for dnnl_pooling_avg_exclude_padding)
Definition: dnnl_types.h:908
Descriptor for a batch normalization forward propagation primitive.
Definition: dnnl.hpp:6115
Primitive descriptor for an LRN backward propagation primitive.
Definition: dnnl.hpp:5153
Descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:9393
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7118
#define DNNL_ARG_DIFF_BIAS
Gradient (diff) of the bias tensor argument.
Definition: dnnl_types.h:2033
memory::desc diff_src_layer_desc() const
Returns diff source layer memory descriptor.
Definition: dnnl.hpp:8808
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6659
3D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:230
Binary add.
Definition: dnnl_types.h:928
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...
memory::desc dst_iter_c_desc() const
Returns destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:7158
deconvolution descriptor
Definition: dnnl_types.h:2122
A pooling primitive.
Definition: dnnl_types.h:808
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:2326
#define DNNL_ARG_WEIGHTS_PEEPHOLE
A special mnemonic for RNN weights applied to the peephole weights.
Definition: dnnl_types.h:1938
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:8769
rnn descriptor
Definition: dnnl_types.h:2131
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:2699
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6915
memory required for scratchpad (bytes)
LSTM forward propagation primitive.
Definition: dnnl.hpp:7668
memory::data_type data_type() const
Returns the data type of the memory descriptor.
Definition: dnnl.hpp:1973
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.
stream(const engine &aengine, flags aflags=flags::default_flags, const stream_attr &attr=stream_attr())
Constructs a stream for the specified engine and with behavior controlled by the specified flags...
Definition: dnnl.hpp:1069
Eltwise: logistic.
Definition: dnnl_types.h:867
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:9984
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6662
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3276
resampling_backward()=default
Default constructor. Produces an empty object.
A descriptor of a shuffle operation.
Definition: dnnl_types.h:1277
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.
resampling_forward()=default
Default constructor. Produces an empty object.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:9845
memory::desc diff_weights_projection_desc() const
Returns diff weights projection memory descriptor.
Definition: dnnl.hpp:7203
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:9777
Intel AVX-512, Intel DL Boost and bfloat16 support for Intel Xeon Scalable processor family and Intel...
cpu_isa get_effective_cpu_isa()
Gets the maximal ISA the library can dispatch to on the CPU.
Definition: dnnl.hpp:9947
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:5826
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3500
Eltwise: hyperbolic tangent non-linearity (tanh) (dst for backward)
Definition: dnnl_types.h:892
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_shuffle_forward_desc_init(dnnl_shuffle_desc_t *shuffle_desc, dnnl_prop_kind_t prop_kind, const dnnl_memory_desc_t *data_desc, int axis, dnnl_dim_t group_size)
Initializes a descriptor for shuffle forward propagation primitive.
primitive_desc(const desc &adesc, const primitive_attr &attr, const engine &aengine, bool allow_empty=false)
Constructs a primitive descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:8577
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.
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:4733
lbr_gru_forward(const primitive_desc &pd)
Constructs an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:9001
Winograd deconvolution.
Definition: dnnl_types.h:847
dnnl_status_t DNNL_API dnnl_set_max_cpu_isa(dnnl_cpu_isa_t isa)
Sets the maximal ISA the library can dispatch to on the CPU.
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:9574
permuted 4D tensor
Definition: dnnl_types.h:202
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6502
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.
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:8792
primitive_desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for an LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9089
layer_normalization_backward(const primitive_desc &pd)
Constructs a layer normalization backward propagation primitive.
Definition: dnnl.hpp:6690
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:7032
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_dim_t dim
Integer type for representing dimension sizes and indices.
Definition: dnnl.hpp:1186
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7597
reorder()=default
Default constructor. Produces an empty object.
Convolution backward propagation primitive.
Definition: dnnl.hpp:3872
number of outputs expected
Definition: dnnl_types.h:2100
Primitive descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4517
memory::desc diff_src_iter_c_desc() const
Returns diff source recurrent cell state memory descriptor.
Definition: dnnl.hpp:7178
reorder(const primitive_desc &pd)
Constructs a reorder primitive.
Definition: dnnl.hpp:3284
memory::desc bias_desc() const
Returns the bias memory descriptor.
Definition: dnnl.hpp:6816
Descriptor for a matmul primitive.
Definition: dnnl.hpp:9495
#define DNNL_MAX_NDIMS
Maximum number of dimensions a tensor can have.
Definition: dnnl_types.h:1002
engine get_dst_engine() const
Returns the engine on which the destination memory is allocated.
Definition: dnnl.hpp:3268
lbr_gru_backward(const primitive_desc &pd)
Constructs an LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9219
gru_backward()=default
Default constructor. Produces an empty object.
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7607
Primitive descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7350
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:6459
plain 1D tensor
Definition: dnnl_types.h:177
The user manages the scratchpad allocation by querying and providing the scratchpad memory to primiti...
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7615
Softmax forward propagation primitive.
Definition: dnnl.hpp:5693
primitive_desc()=default
Default constructor. Produces an empty object.
Bidirectional execution of RNN primitive with concatenation of the results.
Definition: dnnl_types.h:1568
permuted 2D tensor
Definition: dnnl_types.h:193
permuted 5D tensor
Definition: dnnl_types.h:204
A layer normalization primitive.
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.
Descriptor for a deconvolution backward propagation primitive.
Definition: dnnl.hpp:4588
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:9203
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:4161
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:6894
permuted 6D tensor
Definition: dnnl_types.h:190
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7152
int DNNL_API dnnl_memory_desc_equal(const dnnl_memory_desc_t *lhs, const dnnl_memory_desc_t *rhs)
Compares two memory descriptors.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:7618
memory::desc src1_desc() const
Returns the memory descriptor for source #1.
Definition: dnnl.hpp:9465
desc()=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:8434
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:2669
stream_attr()=default
Constructs default (empty) stream attributes.
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:968
memory::desc src_desc(int idx=0) const
Returns a source memory descriptor.
Definition: dnnl.hpp:3400
dnnl::primitive::kind get_kind() const
Returns the kind of the primitive descriptor.
Definition: dnnl.hpp:3060
5D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcde8b ...
Definition: dnnl_types.h:538
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:9446
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:5859
propagation kind
Definition: dnnl_types.h:2116
Descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:8491
inner_product_forward()=default
Default constructor. Produces an empty object.
cpu_isa
CPU instruction set flags.
Definition: dnnl.hpp:9917
An inner product primitive.
Definition: dnnl_types.h:816
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:7364
Use global statistics.
Definition: dnnl_types.h:964
Primitive descriptor for an elementwise binary operator primitive.
Definition: dnnl.hpp:9418
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:5296
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:7498
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:4547
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.
Primitive descriptor for a GRU backward propagation primitive.
Definition: dnnl.hpp:8721
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:9208
engine get_engine() const
Returns the associated engine.
Definition: dnnl.hpp:2060
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:5087
GRU cell.
Definition: dnnl_types.h:918
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6813
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6508
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:5734
The operation was successful.
Definition: dnnl_types.h:41
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:8602
Undefined propagation kind.
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:4728
deconvolution_forward()=default
Default constructor. Produces an empty object.
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:1198
primitive_desc()=default
Default constructor. Produces an empty object.
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.
memory::desc diff_dst_iter_desc() const
Returns diff destination iteration memory descriptor.
Definition: dnnl.hpp:7226
kind get_kind() const
Returns the kind of the primitive.
Definition: dnnl.hpp:376
Elementwise: hyperbolic tangent non-linearity (tanh)
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:9827
A descriptor of a Layer Normalization operation.
Definition: dnnl_types.h:1484
8-bit signed integer.
Definition: dnnl_types.h:74
Primitive descriptor for an elementwise forward propagation primitive.
Definition: dnnl.hpp:5517
convolution descriptor
Definition: dnnl_types.h:2121
concat()=default
Default constructor. Produces an empty object.
RNN cell.
Definition: dnnl_types.h:914
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:6633
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:2997
Alias for dnnl_unidirectional_left2right.
Definition: dnnl_types.h:1573
A (out-of-place) concat primitive.
Definition: dnnl_types.h:796
handle(T t, bool weak=false)
Constructs a handle wrapper object from a C API handle.
Definition: dnnl.hpp:176
convolution_backward_data()=default
Default constructor. Produces an empty object.
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.
desc()=default
Default constructor. Produces an empty object.
dnnl_status_t DNNL_API dnnl_set_jit_profiling_jitdumpdir(const char *dir)
Sets JIT dump output path.
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:4448
dnnl_status_t DNNL_API dnnl_primitive_destroy(dnnl_primitive_t primitive)
Destroys a primitive.
Intel AVX-512 and Intel Deep Learning Boost (Intel DL Boost) support for Intel Xeon Scalable processo...
Definition: dnnl_types.h:2272
Undefined memory format tag.
Definition: dnnl_types.h:166
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:3237
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:9725
#define DNNL_ARG_DIFF_SRC_LAYER
A special mnemonic for gradient (diff) of RNN input vector.
Definition: dnnl_types.h:1967
The operation failed because of incorrect function arguments.
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_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_post_ops_append_sum(dnnl_post_ops_t post_ops, float scale)
Appends an accumulation (sum) to post-ops.
permuted 5D tensor
Definition: dnnl_types.h:189
Eltwise: square root.
Definition: dnnl_types.h:859
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.
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:9714
primitive_desc()=default
Default constructor. Produces an empty object.
lstm_backward(const primitive_desc &pd)
Constructs an LSTM backward propagation primitive.
Definition: dnnl.hpp:8485
primitive_desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for resampling backward propagation primitive.
Definition: dnnl.hpp:9790
void set_output_scales(int mask, const std::vector< float > &scales)
Sets output scaling factors correspondence mask and values.
Definition: dnnl.hpp:2651
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.
memory::desc dst_desc(int idx) const
Returns a destination memory descriptor.
Definition: dnnl.hpp:2938
Primitive descriptor for an LSTM forward propagation primitive.
Definition: dnnl.hpp:7876
static void wrap_c_api(dnnl_status_t status, const char *message)
A convenience function for wrapping calls to C API functions.
Definition: dnnl.hpp:110
Intel Advanced Vector Extensions (Intel AVX)
lrn_forward(const primitive_desc &pd)
Constructs an LRN forward propagation primitive.
Definition: dnnl.hpp:5119
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:9503
dnnl_status_t DNNL_API dnnl_stream_create_v2(dnnl_stream_t *stream, dnnl_engine_t engine, unsigned flags, const_dnnl_stream_attr_t attr)
Creates an execution stream.
convolution_forward(const primitive_desc &pd)
Constructs a convolution forward propagation primitive.
Definition: dnnl.hpp:3868
permuted 3D tensor
Definition: dnnl_types.h:197
dnnl_status_t DNNL_API dnnl_set_jit_dump(int enable)
Configures dumping of JIT-generated code.
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:3984
Primitive or engine failed on execution.
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:9698
GRU backward propagation primitive.
Definition: dnnl.hpp:8638
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:3946
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.
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:4825
Inner product backward propagation primitive.
Definition: dnnl.hpp:6829
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.
Backward bias propagation.
LBR GRU forward propagation primitive.
Definition: dnnl.hpp:8853
rnn_primitive_desc_base()=default
Default constructor. Produces an empty object.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6681
source memory desc
Definition: dnnl_types.h:2140
A base class for descriptors of all primitives that have an operation descriptor and that support ite...
Definition: dnnl.hpp:3518
#define DNNL_ARG_DIFF_DST_LAYER
A special mnemonic for gradient (diff) of RNN output vector.
Definition: dnnl_types.h:1988
Eltwise: swish.
Definition: dnnl_types.h:878
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4739
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:9368
memory(const desc &md, const engine &aengine, void *handle)
Constructs a memory object.
Definition: dnnl.hpp:2034
engine get_src_engine() const
Returns the engine on which the source memory is allocated.
Definition: dnnl.hpp:3262
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 batch normalization forward propagation primitive.
Definition: dnnl.hpp:6175
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:2991
desc(const memory::desc &diff_data_desc, int axis, int group_size)
Constructs a descriptor for a shuffle backward propagation primitive.
Definition: dnnl.hpp:9320
#define DNNL_ARG_TO
A special mnemonic for reorder destination argument.
Definition: dnnl_types.h:1900
pooling_forward(const primitive_desc &pd)
Constructs a pooling forward propagation primitive.
Definition: dnnl.hpp:5343
status set_jit_profiling_flags(unsigned flags)
Sets library profiling flags.
Definition: dnnl.hpp:9907
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_stream_wait(dnnl_stream_t stream)
Waits for all primitives in the execution stream to finish computations.
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:9139
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.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5328
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_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...
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:8459
Memory descriptor.
Definition: dnnl_types.h:1140
struct dnnl_stream_attr * dnnl_stream_attr_t
An execution stream attributes handle.
Definition: dnnl_types.h:2185
dnnl_status_t DNNL_API dnnl_engine_get_ocl_device(dnnl_engine_t engine, cl_device_id *device)
Returns the OpenCL device associated with an engine.
Elementwise binary operator primitive.
Definition: dnnl.hpp:9391
dnnl_data_type_t data_type
Data type of the tensor elements.
Definition: dnnl_types.h:1160
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:8365
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6673
A matrix multiplication primitive.
Definition: dnnl_types.h:826
Queried element is not required for given primitive.
Definition: dnnl_types.h:53
The library manages the scratchpad allocation according to the policy specified by the DNNL_ENABLE_CO...
void get_params_sum(int index, float &scale) const
Returns the parameters of an accumulation (sum) post-op.
Definition: dnnl.hpp:2316
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5770
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:3377
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.
Descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:5785
primitive_attr get_primitive_attr() const
Returns the primitive attributes.
Definition: dnnl.hpp:3048
Eltwise: erf-based gelu.
Definition: dnnl_types.h:886
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:3403
dnnl_status_t DNNL_API dnnl_engine_destroy(dnnl_engine_t engine)
Destroys an engine.
The operation failed due to an out-of-memory condition.
Definition: dnnl_types.h:43
Deconvolution backward propagation primitive.
Definition: dnnl.hpp:4586
handle< T, traits > & operator=(const handle< T, traits > &)=default
Assignment operator.
Primitive descriptor for a reorder primitive.
Definition: dnnl.hpp:3188
Backward weights propagation.
Definition: dnnl_types.h:781
layer normalization descriptor
5D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:298
Queried element is not required for given primitive.
primitive_desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for a convolution forward propagation primitive.
Definition: dnnl.hpp:3800
Default order execution.
Definition: dnnl_types.h:2165
memory::desc diff_dst_iter_c_desc() const
Returns diff destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:8474
#define DNNL_ARG_DIFF_DST_ITER_C
A special mnemonic for gradient (diff) of RNN input recurrent cell state vector.
Definition: dnnl_types.h:2000
memory::desc diff_weights_layer_desc() const
Returns diff weights layer memory descriptor.
Definition: dnnl.hpp:7633
workspace memory desc
Definition: dnnl_types.h:2146
weights gradient (diff) memory desc
inner_product_backward_weights()=default
Default constructor. Produces an empty object.
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.
Memory object.
Definition: dnnl.hpp:1184
convolution_backward_weights(const primitive_desc &pd)
Constructs a convolution weights gradient primitive.
Definition: dnnl.hpp:4307
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.
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7397
Descriptor for a pooling backward propagation primitive.
Definition: dnnl.hpp:5349
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6199
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:9193
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.
memory::desc weights_layer_desc() const
Returns weights layer memory descriptor.
Definition: dnnl.hpp:7934
Elementwise: exponent (dst for backward)
eltwise descriptor
Definition: dnnl_types.h:2124
number of inputs expected
Definition: dnnl_types.h:2099
shuffle descriptor
Definition: dnnl_types.h:2123
Average pooling include padding.
Definition: dnnl_types.h:904
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7954
Linear (Bilinear, Trilinear) resampling method.
Weights format used in 8bit Winograd convolution.
Definition: dnnl_types.h:91
logsoftmax_backward()=default
Default constructor. Produces an empty object.
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6353
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:5212
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:7092
dnnl_status_t DNNL_API dnnl_primitive_attr_set_rnn_weights_qparams(dnnl_primitive_attr_t attr, dnnl_dim_t count, int mask, const float *scales)
Sets quantization scaling factors for RNN weights tensors.
desc(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:9517
32-bit/single-precision floating point.
Definition: dnnl_types.h:70
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:9670
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:8615
dnnl_status_t DNNL_API dnnl_memory_get_ocl_mem_object(const_dnnl_memory_t memory, cl_mem *mem_object)
Returns an OpenCL memory object associated with a memory object.
permuted 5D tensor
Definition: dnnl_types.h:203
engine scratchpad_engine() const
Returns the engine on which the scratchpad memory is located.
Definition: dnnl.hpp:3036
Intel AVX-512, Intel DL Boost and bfloat16 support for Intel Xeon Scalable processor family and Intel...
Definition: dnnl_types.h:2277
Primitive descriptor for a softmax backward propagation primitive.
Definition: dnnl.hpp:5809
Reorder primitive.
Definition: dnnl.hpp:3186
4D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcd8b ...
Definition: dnnl_types.h:550
bool operator==(const desc &other) const
An equality operator.
Definition: dnnl.hpp:1992
Descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:6706
memory::desc src_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:7929
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:7040
Descriptor for a shuffle forward propagation primitive.
Definition: dnnl.hpp:9235
lrn descriptor
Definition: dnnl_types.h:2127
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.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6653
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_eltwise_backward_desc_init(dnnl_eltwise_desc_t *eltwise_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *diff_data_desc, const dnnl_memory_desc_t *data_desc, float alpha, float beta)
Initializes a descriptor for eltwise backward propagation primitive.
primitive_desc(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:9807
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:5909
memory::desc diff_src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5206
Primitive descriptor for an LSTM backward propagation primitive.
Definition: dnnl.hpp:8317
4D tensor blocked by 1st and 2nd dimension with block size 8
Definition: dnnl_types.h:273
A shuffle primitive.
Definition: dnnl_types.h:794
memory::desc mean_desc() const
Returns memory descriptor for mean.
Definition: dnnl.hpp:6206
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:901
memory::desc diff_dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6078
for creating scratchpad memory
Definition: dnnl_types.h:2111
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_dilated_deconvolution_backward_weights_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated deconvolution weights gradient primitive.
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:8823
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:9760
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6358
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:5667
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:9455
Intel AVX-512, Intel DL Boost and bfloat16 support and Intel AMX with 8-bit integer and bfloat16 supp...
dnnl_status_t DNNL_API dnnl_stream_create_ocl(dnnl_stream_t *stream, dnnl_engine_t engine, cl_command_queue queue)
Creates an execution stream for a given engine associated with an OpenCL command queue.
bool operator!=(const handle &other) const
Inequality operator.
Definition: dnnl.hpp:227
memory::desc diff_weights_desc() const
Returns a diff weights memory descriptor.
Definition: dnnl.hpp:3015
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:8955
permuted 4D tensor
Definition: dnnl_types.h:198
bool operator==(const handle< T, traits > &other) const
Equality operator.
Definition: dnnl.hpp:217
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:6969
Intel Advanced Vector Extensions 2 (Intel AVX2)
4D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:248
Binary max.
Definition: dnnl_types.h:932
Unspecified format kind.
Definition: dnnl_types.h:85
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:2751
Resampling forward propagation.
Definition: dnnl.hpp:9603
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.
desc(const dims &adims, data_type adata_type, format_tag aformat_tag, bool allow_empty=false)
Constructs a memory descriptor.
Definition: dnnl.hpp:1790
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:5846
Average pooling exclude padding.
Definition: dnnl_types.h:906
memory::desc diff_src_desc(int idx) const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:2956
memory::desc diff_dst_desc() const
Returns a diff destination memory descriptor.
Definition: dnnl.hpp:4290
3D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBc16b ...
Definition: dnnl_types.h:556
dnnl_status_t DNNL_API dnnl_get_primitive_cache_capacity(int *capacity)
Returns the number of primitives that can be held in the primitive cache at the same time...
dnnl_alg_kind_t
Kinds of algorithms.
Definition: dnnl_types.h:836
primitive_desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for an RNN backward propagation primitive.
Definition: dnnl.hpp:7534
permuted 3D tensor
Definition: dnnl_types.h:200
memory::desc weights_projection_desc() const
Returns weights projection memory descriptor.
Definition: dnnl.hpp:7130
desc get_desc() const
Returns the associated memory descriptor.
Definition: dnnl.hpp:2052
dnnl_rnn_flags_t
Flags for RNN cell.
Definition: dnnl_types.h:1555
dnnl_status_t DNNL_API dnnl_memory_set_ocl_mem_object(dnnl_memory_t memory, cl_mem mem_object)
Sets OpenCL memory object associated with a memory object.
bool operator!=(const desc &other) const
An inequality operator.
Definition: dnnl.hpp:2000
Base class for all primitive descriptors.
Definition: dnnl.hpp:2864
Primitive descriptor for a layer normalization backward propagation primitive.
Definition: dnnl.hpp:6596
Descriptor for a vanilla RNN forward propagation primitive.
Definition: dnnl.hpp:7282
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:4570
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:8737
memory::desc src0_desc() const
Returns the memory descriptor for source #0.
Definition: dnnl.hpp:9462
dnnl_status_t DNNL_API dnnl_primitive_desc_destroy(dnnl_primitive_desc_t primitive_desc)
Destroys a primitive descriptor.
dnnl_status_t DNNL_API dnnl_post_ops_create(dnnl_post_ops_t *post_ops)
Creates empty post-ops sequence.
dnnl_binary_desc_t data
Underlying C operation descriptor.
Definition: dnnl.hpp:9395
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:2301
An LRN primitive.
Definition: dnnl_types.h:810
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:3293
A descriptor of a Local Response Normalization (LRN) operation.
Definition: dnnl_types.h:1420
Primitive descriptor for a shuffle backward propagation primitive.
Definition: dnnl.hpp:9329
int ndims
Number of dimensions.
Definition: dnnl_types.h:1142
dnnl_stream_flags_t
Stream flags.
Definition: dnnl_types.h:2162
Undefined propagation type.
Definition: dnnl_types.h:764
dnnl_status_t DNNL_API dnnl_engine_get_kind(dnnl_engine_t engine, dnnl_engine_kind_t *kind)
Returns the kind of an engine.
oneDNN C API handle wrapper class.
Definition: dnnl.hpp:143
Primitive or engine failed on execution.
Definition: dnnl_types.h:51
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:8333
void set_rnn_weights_qparams(int mask, const std::vector< float > &scales)
Sets quantization scaling factors for RNN weights tensors.
Definition: dnnl.hpp:2850
op descriptor
Definition: dnnl_types.h:2120
dnnl_status_t DNNL_API dnnl_primitive_attr_clone(dnnl_primitive_attr_t *attr, const_dnnl_primitive_attr_t existing_attr)
Clones primitive attributes.
primitive_desc_base()=default
Default constructor. Produces an empty object.
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:4073
6D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:344
lrn_backward()=default
Default constructor. Produces an empty object.
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:7391
Primitive descriptor for an inner product forward propagation primitive.
Definition: dnnl.hpp:6760
memory::desc src_desc(int idx=0) const
Returns a source memory descriptor.
Definition: dnnl.hpp:9459
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:9106
dnnl_status_t DNNL_API dnnl_stream_attr_destroy(dnnl_stream_attr_t attr)
Destroys execution stream attributes.
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:9247
memory::desc bias_desc() const
Returns bias memory descriptor.
Definition: dnnl.hpp:7138
Descriptor for a deconvolution forward propagation primitive.
Definition: dnnl.hpp:4323
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:5934
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:6050
Eltwise: exponent.
Definition: dnnl_types.h:869
weights memory descriptor desc
lbr_gru_backward()=default
Default constructor. Produces an empty object.
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:5646
dnnl_status_t DNNL_API dnnl_primitive_desc_iterator_destroy(dnnl_primitive_desc_iterator_t iterator)
Destroys a primitive descriptor iterator.
primitive_desc()=default
Default constructor. Produces an empty object.
memory::desc src_iter_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8966
Local response normalization (LRN) across multiple channels.
Definition: dnnl_types.h:910
resampling descriptor
Definition: dnnl_types.h:2136
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:3814
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.
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:8928
Forward data propagation, alias for dnnl::prop_kind::forward_inference.
softmax_forward()=default
Default constructor. Produces an empty object.
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:9643
Descriptor for a logsoftmax backward propagation primitive.
Definition: dnnl.hpp:5989
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:7648
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8774
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:5440
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:4973
Primitive descriptor for a GRU forward propagation primitive.
Definition: dnnl.hpp:8549
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:7889
dnnl_status_t DNNL_API dnnl_inner_product_backward_weights_desc_init(dnnl_inner_product_desc_t *ip_desc, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *diff_weights_desc, const dnnl_memory_desc_t *diff_bias_desc, const dnnl_memory_desc_t *diff_dst_desc)
Initializes descriptor for inner product weights gradient primitive.
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7939
plain 3D tensor
Definition: dnnl_types.h:179
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:3003
Use scale and shift parameters.
Definition: dnnl_types.h:977
A descriptor of a Batch Normalization operation.
Definition: dnnl_types.h:1451
dnnl_status_t DNNL_API dnnl_lbr_gru_forward_desc_init(dnnl_rnn_desc_t *rnn_desc, dnnl_prop_kind_t prop_kind, dnnl_rnn_direction_t direction, const dnnl_memory_desc_t *src_layer_desc, const dnnl_memory_desc_t *src_iter_desc, const dnnl_memory_desc_t *weights_layer_desc, const dnnl_memory_desc_t *weights_iter_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_layer_desc, const dnnl_memory_desc_t *dst_iter_desc, unsigned flags)
Initializes a descriptor for LBR GRU forward propagation primitive.
memory::desc dst_layer_desc() const
Returns destination layer memory descriptor.
Definition: dnnl.hpp:7610
primitive_desc()=default
Default constructor. Produces an empty object.
Intel Advanced Vector Extensions 2 (Intel AVX2)
Definition: dnnl_types.h:2255
3D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBc4b ...
Definition: dnnl_types.h:559
Eltwise: exponential linear unit (elu) (dst for backward)
Definition: dnnl_types.h:894
Logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5893
Convolution algorithm that is chosen to be either direct or Winograd automatically.
Eltwise: exponential linear unit (elu)
Definition: dnnl_types.h:853
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_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.
size_t DNNL_API dnnl_engine_get_count(dnnl_engine_kind_t kind)
Returns the number of engines of a particular kind.
6D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:339
Forward data propagation (alias for dnnl_forward_inference).
Definition: dnnl_types.h:773
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:5767
Primitive descriptor for a matmul primitive.
Definition: dnnl.hpp:9527
5D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcde16b ...
Definition: dnnl_types.h:532
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:4208
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:8891
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:4783
An opaque structure to describe a primitive descriptor.
Descriptor for a LBR GRU backward propagation primitive.
Definition: dnnl.hpp:9007
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:5427
memory::desc diff_src_desc() const
Returns a diff source memory descriptor.
Definition: dnnl.hpp:6339
Eltwise: abs.
Definition: dnnl_types.h:857
bool is_zero() const
Checks whether the memory descriptor is zero (empty).
Definition: dnnl.hpp:1986
Descriptor for resampling forward propagation.
Definition: dnnl.hpp:9605
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:3021
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:6202
Forward data propagation (training mode).
Definition: dnnl_types.h:767
A deconvolution primitive.
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:8562
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:9126
permuted 5D tensor
Definition: dnnl_types.h:187
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:6259
Elementwise: rectified linar unit (ReLU) (dst for backward)
lstm_forward(const primitive_desc &pd)
Constructs an LSTM forward propagation primitive.
Definition: dnnl.hpp:7981
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:5201
Eltwise: tanh-based gelu (alias for dnnl_eltwise_gelu_tanh)
Definition: dnnl_types.h:876
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:5961
Descriptor for an LSTM backward propagation primitive.
Definition: dnnl.hpp:7987
source gradient (diff) memory desc
A rnn primitive.
Definition: dnnl_types.h:818
An opaque structure to describe an execution stream.
Primitive descriptor for an inner product backward propagation primitive.
Definition: dnnl.hpp:6857
Descriptor for a layer normalization backward propagation primitive.
Definition: dnnl.hpp:6542
A logsoftmax primitive.
Definition: dnnl_types.h:824
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:8813
primitive_desc()=default
Default constructor. Produces an empty object.
rnn_flags
RNN cell flags.
Definition: dnnl.hpp:631
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:9431
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.
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6193
Descriptor for a shuffle primitive backward propagation primitive.
Definition: dnnl.hpp:9310
permuted 5D tensor
Definition: dnnl_types.h:196
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.
memory::desc diff_src_iter_desc() const
Returns diff source iteration memory descriptor.
Definition: dnnl.hpp:7628
logsoftmax_forward(const primitive_desc &pd)
Constructs a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5983
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, and memory descriptors.
Definition: dnnl.hpp:8276
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:4355
The operation failed because requested functionality is not implemented.
Definition: dnnl_types.h:47
Eltwise: gelu.
Definition: dnnl_types.h:874
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:5558
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:4564
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:8833
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition: dnnl_types.h:851
primitive_desc()=default
Default constructor. Produces an empty object.
Primitive descriptor for a deconvolution backward propagation primitive.
Definition: dnnl.hpp:4678
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:6747
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:5596
Softmax backward propagation primitive.
Definition: dnnl.hpp:5783
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:9969
Bidirectional execution of RNN primitive with summation of the results.
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:4736
Primitive descriptor for an LBR GRU forward propagation primitive.
Definition: dnnl.hpp:8914
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...
A descriptor of resampling operation.
Definition: dnnl_types.h:1707
void set_ocl_mem_object(cl_mem mem_object)
Sets the OpenCL memory object mem_object associated with the memory.
Definition: dnnl.hpp:2181
dnnl_status_t DNNL_API dnnl_set_verbose(int level)
Configures verbose output to stdout.
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:8411
primitive_desc()=default
Default constructor. Produces an empty object.
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:4695
dnnl_status_t DNNL_API dnnl_primitive_attr_get_post_ops(const_dnnl_primitive_attr_t attr, const_dnnl_post_ops_t *post_ops)
Returns primitive attributes post-ops.
primitive_desc(dnnl_primitive_desc_t pd)
Constructs a primitive descriptor for a convolution weights gradient primitive from a C API primitive...
Definition: dnnl.hpp:4277
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:5709
scratchpad_mode get_scratchpad_mode() const
Returns the scratchpad mode.
Definition: dnnl.hpp:2569
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:3471
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.
query
Primitive descriptor query specification.
Definition: dnnl.hpp:718
memory::desc diff_dst_layer_desc() const
Returns diff destination layer memory descriptor.
Definition: dnnl.hpp:8464
Primitive descriptor for a sum primitive.
Definition: dnnl.hpp:3427
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:2144
dnnl_prop_kind_t
Kinds of propagation.
Definition: dnnl_types.h:761
#define DNNL_ARG_DIFF_WEIGHTS_LAYER
A special mnemonic for diff of RNN weights applied to the layer input.
Definition: dnnl_types.h:2012
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. ...
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:4915
scratchpad_mode
Scratchpad mode.
Definition: dnnl.hpp:402
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:4496
Descriptor for a pooling forward propagation primitive.
Definition: dnnl.hpp:5237
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:5547
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:6333
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:4400
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:5626
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:4116
primitive_desc()=default
Default constructor. Produces an empty object.
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:6558
Convolution weights gradient primitive.
Definition: dnnl.hpp:4041
Elementwise: gelu alias for dnnl::algorithm::eltwise_gelu_tanh.
Nearest Neighbor Resampling Method.
Definition: dnnl_types.h:936
std::vector< dim > dims
Vector of dimensions.
Definition: dnnl.hpp:1189
concat(const primitive_desc &pd)
Constructs a concatenation primitive.
Definition: dnnl.hpp:3411
permuted 4D tensor
Definition: dnnl_types.h:195
memory::dim query_s64(query what) const
Returns a memory::dim value (same as int64_t).
Definition: dnnl.hpp:2888
desc()
Constructs a zero (empty) memory descriptor.
Definition: dnnl.hpp:1773
dnnl_status_t DNNL_API dnnl_stream_destroy(dnnl_stream_t stream)
Destroys an execution stream.
dnnl_status_t DNNL_API dnnl_stream_attr_create(dnnl_stream_attr_t *attr, dnnl_engine_kind_t kind)
Creates execution stream attributes for a stream that runs on an engine of a particular kind...
dnnl_status_t DNNL_API dnnl_stream_get_ocl_command_queue(dnnl_stream_t stream, cl_command_queue *queue)
Returns the OpenCL command queue associated with an execution stream.
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:5659
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.
16-bit/half-precision floating point.
Definition: dnnl_types.h:66
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:4004
Primitive descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:5720
Primitive descriptor for eltwise backward propagation.
Definition: dnnl.hpp:5609
source engine
Definition: dnnl_types.h:2113
Descriptor for a softmax forward propagation primitive.
Definition: dnnl.hpp:5695
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.
logsoftmax_forward()=default
Default constructor. Produces an empty object.
const post_ops get_post_ops() const
Returns post-ops previously set via set_post_ops().
Definition: dnnl.hpp:2762
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:5169
memory::desc dst_iter_c_desc() const
Returns source iteration memory descriptor.
Definition: dnnl.hpp:8414
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_normalization_flags_t
Flags for normalization primitives.
Definition: dnnl_types.h:942
weights grad. memory desc
Definition: dnnl_types.h:2143
engine()=default
Constructs an empty engine.
shuffle_forward()=default
Default constructor. Produces an empty object.
#define DNNL_ARG_DST_ITER_C
A special mnemonic for LSTM output recurrent cell state vector.
Definition: dnnl_types.h:1914
algorithm
Kinds of algorithms.
Definition: dnnl.hpp:471
Resampling backward propagation primitive.
Definition: dnnl.hpp:9747
status set_jit_dump(int enable)
Configures dumping of JIT-generated code.
Definition: dnnl.hpp:9902
memory::desc variance_desc() const
Returns memory descriptor for variance.
Definition: dnnl.hpp:6210
deconvolution_backward_weights()=default
Default constructor. Produces an empty object.
Primitive iterator passed over last primitive descriptor.
memory::desc workspace_desc() const
Returns the workspace memory descriptor.
Definition: dnnl.hpp:8419
Primitive descriptor for a resampling forward propagation primitive.
Definition: dnnl.hpp:9684
format_tag
Memory format tag specification.
Definition: dnnl.hpp:1278
A convolution primitive.
Definition: dnnl_types.h:800
memory desc of an execute argument
Definition: dnnl_types.h:2148
#define DNNL_ARG_FROM
A special mnemonic for reorder source argument.
Definition: dnnl_types.h:1879
Backward bias propagation.
Definition: dnnl_types.h:783
memory::desc dst_iter_desc() const
Returns destination iteration memory descriptor.
Definition: dnnl.hpp:7423
memory::desc src_layer_desc() const
Returns source layer memory descriptor.
Definition: dnnl.hpp:8961
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:4986
Eltwise: logistic (dst for backward)
Definition: dnnl_types.h:898
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:6907
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:5322
weights memory descriptor desc
Definition: dnnl_types.h:2142
memory::desc weights_iter_desc() const
Returns weights iteration memory descriptor.
Definition: dnnl.hpp:7410
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:5864
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_engine_create_ocl(dnnl_engine_t *engine, dnnl_engine_kind_t kind, cl_device_id device, cl_context context)
Creates an engine associated with an OpenCL device and an OpenCL context.
primitive_desc()=default
Default constructor. Produces an empty object.
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:2399
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:4869
Linear Resampling Method.
Definition: dnnl_types.h:938
Descriptor for a logsoftmax forward propagation primitive.
Definition: dnnl.hpp:5895
Eltwise: soft_relu.
Definition: dnnl_types.h:865
vanilla_rnn_backward(const primitive_desc &pd)
Constructs a vanilla RNN backward propagation primitive.
Definition: dnnl.hpp:7664
Unidirectional execution of RNN primitive from right to left.
plain 5D tensor
Definition: dnnl_types.h:181
memory::desc src_desc() const
Returns a source memory descriptor.
Definition: dnnl.hpp:6330
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.
primitive_attr()
Constructs default (empty) primitive attributes.
Definition: dnnl.hpp:2553
destination engine
Definition: dnnl_types.h:2114
size_t get_size() const
Returns size of the memory descriptor in bytes.
Definition: dnnl.hpp:1981
batch_normalization_backward(const primitive_desc &pd)
Constructs a batch normalization backward propagation primitive.
Definition: dnnl.hpp:6367
Eltwise: square.
Definition: dnnl_types.h:855
memory::desc weights_desc() const
Returns a weights memory descriptor.
Definition: dnnl.hpp:9569
#define DNNL_ARG_DIFF_WEIGHTS_PEEPHOLE
A special mnemonic for diff of RNN weights applied to the peephole weights.
Definition: dnnl_types.h:2024
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.
Descriptor for a convolution backward propagation primitive.
Definition: dnnl.hpp:3875
memory::desc diff_dst_iter_c_desc() const
Returns diff destination recurrent cell state memory descriptor.
Definition: dnnl.hpp:7232
A batch normalization primitive.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6196
An execution stream.
Definition: dnnl.hpp:1043
memory::desc diff_bias_desc() const
Returns diff bias memory descriptor.
Definition: dnnl.hpp:9198
Elementwise: exponential linear unit (ELU) (dst for backward)
convolution_backward_weights()=default
Default constructor. Produces an empty object.
memory::desc dst_desc() const
Returns a destination memory descriptor.
Definition: dnnl.hpp:6496
memory::desc diff_weights_iter_desc() const
Returns diff weights iteration memory descriptor.
Definition: dnnl.hpp:7638
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.
Post-ops.
Definition: dnnl.hpp:2247
dnnl_status_t DNNL_API dnnl_dilated_deconvolution_forward_desc_init(dnnl_deconvolution_desc_t *deconv_desc, dnnl_prop_kind_t prop_kind, dnnl_alg_kind_t alg_kind, const dnnl_memory_desc_t *src_desc, const dnnl_memory_desc_t *weights_desc, const dnnl_memory_desc_t *bias_desc, const dnnl_memory_desc_t *dst_desc, const dnnl_dims_t strides, const dnnl_dims_t dilates, const dnnl_dims_t padding_l, const dnnl_dims_t padding_r)
Initializes a descriptor for a dilated deconvolution forward propagation primitive.
primitive()=default
Default constructor. Constructs an empty object.
Backward data propagation.
Matrix multiplication (matmul) primitive.
Definition: dnnl.hpp:9493
void set_data_handle(void *handle, const stream &astream) const
Sets the underlying memory buffer.
Definition: dnnl.hpp:2103