enum dnnl_format_tag_t

Overview

Memory format tag specification. More…

#include <dnnl_types.h>

enum dnnl_format_tag_t
{
    dnnl_format_tag_undef = 0,
    dnnl_format_tag_any,
    dnnl_a,
    dnnl_ab,
    dnnl_abc,
    dnnl_abcd,
    dnnl_acbd,
    dnnl_abcde,
    dnnl_abcdef,
    dnnl_abcdefg,
    dnnl_abcdefgh,
    dnnl_abcdefghi,
    dnnl_abcdefghij,
    dnnl_abcdefghijk,
    dnnl_abcdefghijkl,
    dnnl_abdc,
    dnnl_abdec,
    dnnl_acb,
    dnnl_acbde,
    dnnl_acbdef,
    dnnl_acdb,
    dnnl_acdeb,
    dnnl_ba,
    dnnl_bac,
    dnnl_bacd,
    dnnl_bacde,
    dnnl_bca,
    dnnl_bcda,
    dnnl_bcdea,
    dnnl_cba,
    dnnl_cdba,
    dnnl_dcab,
    dnnl_cdeba,
    dnnl_decab,
    dnnl_defcab,
    dnnl_abced,
    dnnl_abcdfe,
    dnnl_abcdegf,
    dnnl_abcdefhg,
    dnnl_abcdefgih,
    dnnl_abcdefghji,
    dnnl_abcdefghikj,
    dnnl_abcdefghijlk,
    dnnl_Abc16a,
    dnnl_ABc16a16b,
    dnnl_ABc32a32b,
    dnnl_ABc4a4b,
    dnnl_aBc16b,
    dnnl_ABc16b16a,
    dnnl_Abc4a,
    dnnl_aBc32b,
    dnnl_aBc4b,
    dnnl_ABc4b16a4b,
    dnnl_ABc2b8a4b,
    dnnl_ABc16b16a4b,
    dnnl_ABc16b16a2b,
    dnnl_ABc4b4a,
    dnnl_ABc8a16b2a,
    dnnl_ABc8a8b,
    dnnl_ABc8a4b,
    dnnl_aBc8b,
    dnnl_ABc8b16a2b,
    dnnl_BAc8a16b2a,
    dnnl_ABc8b8a,
    dnnl_Abcd16a,
    dnnl_Abcd8a,
    dnnl_ABcd16a16b,
    dnnl_Abcd32a,
    dnnl_ABcd32a32b,
    dnnl_aBcd16b,
    dnnl_ABcd16b16a,
    dnnl_aBCd16b16c,
    dnnl_aBCd16c16b,
    dnnl_Abcd4a,
    dnnl_aBcd32b,
    dnnl_aBcd4b,
    dnnl_ABcd4b16a4b,
    dnnl_ABcd16b16a4b,
    dnnl_ABcd16b16a2b,
    dnnl_ABcd4b4a,
    dnnl_ABcd4a4b,
    dnnl_aBCd2c4b2c,
    dnnl_aBCd4b8c2b,
    dnnl_aBCd4c16b4c,
    dnnl_aBCd2c8b4c,
    dnnl_aBCd16c16b4c,
    dnnl_aBCd16c16b2c,
    dnnl_aBCd4c4b,
    dnnl_aBCd4b4c,
    dnnl_ABcd8a16b2a,
    dnnl_ABcd2b8a4b,
    dnnl_ABcd8a8b,
    dnnl_ABcd8a4b,
    dnnl_aBcd8b,
    dnnl_aBCd4c8b2c,
    dnnl_ABcd8b16a2b,
    dnnl_aBCd8b16c2b,
    dnnl_BAcd8a16b2a,
    dnnl_ABcd8b8a,
    dnnl_aBCd8b8c,
    dnnl_aBCd8b4c,
    dnnl_aBCd8c16b2c,
    dnnl_ABcde8a16b2a,
    dnnl_aCBd8b16c2b,
    dnnl_aBCd8c8b,
    dnnl_Abcde16a,
    dnnl_Abcde32a,
    dnnl_ABcde16a16b,
    dnnl_BAcde8a16b2a,
    dnnl_aBCd2b4c2b,
    dnnl_ABcde4b16a4b,
    dnnl_ABcde2b8a4b,
    dnnl_aBcde16b,
    dnnl_ABcde16b16a,
    dnnl_aBCde16b16c,
    dnnl_aBCde16c16b,
    dnnl_aBCde2c8b4c,
    dnnl_Abcde4a,
    dnnl_aBcde32b,
    dnnl_aBcde4b,
    dnnl_ABcde4b4a,
    dnnl_ABcde4a4b,
    dnnl_aBCde4b4c,
    dnnl_aBCde2c4b2c,
    dnnl_aBCde4b8c2b,
    dnnl_aBCde4c16b4c,
    dnnl_aBCde16c16b4c,
    dnnl_aBCde16c16b2c,
    dnnl_aBCde4c4b,
    dnnl_Abcde8a,
    dnnl_ABcde8a8b,
    dnnl_ABcde8a4b,
    dnnl_BAcde16b16a,
    dnnl_aBcde8b,
    dnnl_ABcde8b16a2b,
    dnnl_aBCde8b16c2b,
    dnnl_aBCde4c8b2c,
    dnnl_aCBde8b16c2b,
    dnnl_ABcde8b8a,
    dnnl_ABcde32a32b,
    dnnl_aBCde8b8c,
    dnnl_aBCde8b4c,
    dnnl_ABc4a8b8a4b,
    dnnl_ABcd4a8b8a4b,
    dnnl_ABcde4a8b8a4b,
    dnnl_BAc4b8a8b4a,
    dnnl_BAcd4b8a8b4a,
    dnnl_BAcde4b8a8b4a,
    dnnl_ABcd2a8b8a2b,
    dnnl_aBCd4b8c8b4c,
    dnnl_aBCde4b8c8b4c,
    dnnl_aBCde2b8c8b2c,
    dnnl_aBCde8c16b2c,
    dnnl_aBCde8c8b,
    dnnl_aBCde2b4c2b,
    dnnl_aBcdef16b,
    dnnl_aBCdef16b16c,
    dnnl_aBCdef16c16b,
    dnnl_aBCdef4c16b4c,
    dnnl_aBCdef2c8b4c,
    dnnl_aBCdef4c8b2c,
    dnnl_aBCdef2b4c2b,
    dnnl_aBcdef4b,
    dnnl_aBCdef4c4b,
    dnnl_aBCdef4b4c,
    dnnl_aBCdef2c4b2c,
    dnnl_aBCdef4b8c2b,
    dnnl_aBCdef8b8c,
    dnnl_aBCdef8b4c,
    dnnl_aBCdef8c16b2c,
    dnnl_aBCdef4b8c8b4c,
    dnnl_aBCdef8b16c2b,
    dnnl_aCBdef8b16c2b,
    dnnl_aBCdef8c8b,
    dnnl_aBdc16b,
    dnnl_aBdC16b2c,
    dnnl_aBdC16b4c,
    dnnl_aBdc4b,
    dnnl_aBdc8b,
    dnnl_aBdec16b,
    dnnl_aBdeC16b2c,
    dnnl_aBdeC16b4c,
    dnnl_aBdec32b,
    dnnl_aBdec4b,
    dnnl_aBdec8b,
    dnnl_aBdefc16b,
    dnnl_aBdefC16b2c,
    dnnl_aCBdef16c16b,
    dnnl_aBdefc4b,
    dnnl_aBdefc8b,
    dnnl_Abcdef16a,
    dnnl_Abcdef32a,
    dnnl_aBedc16b,
    dnnl_Acb16a,
    dnnl_AcB16a2b,
    dnnl_AcB16a4b,
    dnnl_Acb4a,
    dnnl_Acb8a,
    dnnl_aCBd16b16c,
    dnnl_aCBd16c16b,
    dnnl_aCBde16b16c,
    dnnl_aCBde16c16b,
    dnnl_Acdb16a,
    dnnl_AcdB16a2b,
    dnnl_AcdB16a4b,
    dnnl_Acdb32a,
    dnnl_Acdb4a,
    dnnl_Acdb8a,
    dnnl_Acdeb16a,
    dnnl_AcdeB16a2b,
    dnnl_Acdeb4a,
    dnnl_Acdeb8a,
    dnnl_Adcb16a,
    dnnl_BAc16a16b,
    dnnl_BAc16b16a,
    dnnl_BAcd16a16b,
    dnnl_BAcd16b16a,
    dnnl_aCBd4c8b8c4b,
    dnnl_aCBde4c8b8c4b,
    dnnl_aCBdef4c8b8c4b,
    dnnl_BAcde16a16b,
    dnnl_aCBdef16b16c,
    dnnl_abdfce,
    dnnl_abdefc,
    dnnl_ABc16b32a,
    dnnl_ABc16b64a,
    dnnl_ABc4b32a4b,
    dnnl_ABc4b64a4b,
    dnnl_ABc8b32a2b,
    dnnl_ABc8b64a2b,
    dnnl_AB16b16a,
    dnnl_AB16b32a,
    dnnl_AB16b64a,
    dnnl_AB8b16a2b,
    dnnl_AB8b32a2b,
    dnnl_AB8b64a2b,
    dnnl_AB4b16a4b,
    dnnl_AB4b32a4b,
    dnnl_AB4b64a4b,
    dnnl_AB16b16a4b,
    dnnl_ABcd16b32a,
    dnnl_ABcd16b64a,
    dnnl_ABcd4b32a4b,
    dnnl_ABcd4b64a4b,
    dnnl_ABcd8b32a2b,
    dnnl_ABcd8b64a2b,
    dnnl_ABcde4b32a4b,
    dnnl_ABcde4b64a4b,
    dnnl_ABcde16b16a4b,
    dnnl_ABcde16b16a2b,
    dnnl_ABcde16b32a,
    dnnl_ABcde16b64a,
    dnnl_ABcde8b32a2b,
    dnnl_ABcde8b64a2b,
    dnnl_aBCdef16c16b4c,
    dnnl_aBCdef16c16b2c,
    dnnl_AB32a32b8a4b,
    dnnl_AB8a4b,
    dnnl_AB32a32b8a2b,
    dnnl_AB8a2b,
    dnnl_abDc32d,
    dnnl_abDC32d4c,
    dnnl_abdEc32e,
    dnnl_abdEC32e2c,
    dnnl_abdEC32e4c,
    dnnl_aBdefC16b4c,
    dnnl_AcdeB16a4b,
    dnnl_ABcd16a16b2a,
    dnnl_ABc16a16b2a,
    dnnl_aBCd16b16c2b,
    dnnl_aBCde16b16c2b,
    dnnl_Acb32a,
    dnnl_AcB32a2b,
    dnnl_AcB32a4b,
    dnnl_Acb48a,
    dnnl_AcB48a2b,
    dnnl_AcB48a4b,
    dnnl_Acb64a,
    dnnl_AcB64a2b,
    dnnl_AcB64a4b,
    dnnl_cBa2b,
    dnnl_cBa4b,
    dnnl_aBdc32b,
    dnnl_aBdC32b2c,
    dnnl_aBdC32b4c,
    dnnl_aBdc48b,
    dnnl_aBdC48b2c,
    dnnl_aBdC48b4c,
    dnnl_aBdc64b,
    dnnl_aBdC64b2c,
    dnnl_aBdC64b4c,
    dnnl_adcb,
    dnnl_adCb2c,
    dnnl_adCb4c,
    dnnl_AcdB32a2b,
    dnnl_AcdB32a4b,
    dnnl_Acdb48a,
    dnnl_AcdB48a2b,
    dnnl_AcdB48a4b,
    dnnl_Acdb64a,
    dnnl_AcdB64a2b,
    dnnl_AcdB64a4b,
    dnnl_cdBa2b,
    dnnl_cdBa4b,
    dnnl_aBdeC32b2c,
    dnnl_aBdeC32b4c,
    dnnl_aBdec48b,
    dnnl_aBdeC48b2c,
    dnnl_aBdeC48b4c,
    dnnl_aBdec64b,
    dnnl_aBdeC64b2c,
    dnnl_aBdeC64b4c,
    dnnl_adecb,
    dnnl_adeCb2c,
    dnnl_adeCb4c,
    dnnl_Acdeb32a,
    dnnl_AcdeB32a2b,
    dnnl_AcdeB32a4b,
    dnnl_Acdeb48a,
    dnnl_AcdeB48a2b,
    dnnl_AcdeB48a4b,
    dnnl_Acdeb64a,
    dnnl_AcdeB64a2b,
    dnnl_AcdeB64a4b,
    dnnl_cdeBa2b,
    dnnl_cdeBa4b,
    dnnl_aBdefc32b,
    dnnl_aBdefC32b2c,
    dnnl_aBdefC32b4c,
    dnnl_aBdefc48b,
    dnnl_aBdefC48b2c,
    dnnl_aBdefC48b4c,
    dnnl_aBdefc64b,
    dnnl_aBdefC64b2c,
    dnnl_aBdefC64b4c,
    dnnl_adefcb,
    dnnl_adefCb2c,
    dnnl_adefCb4c,
    dnnl_AB16b32a4b,
    dnnl_AB16b48a4b,
    dnnl_AB16b64a4b,
    dnnl_AB16b16a2b,
    dnnl_AB16b32a2b,
    dnnl_AB16b48a2b,
    dnnl_AB16b64a2b,
    dnnl_ABc16b32a4b,
    dnnl_ABc16b48a4b,
    dnnl_ABc16b64a4b,
    dnnl_ABc16b32a2b,
    dnnl_ABc16b48a2b,
    dnnl_ABc16b64a2b,
    dnnl_ABcd16b32a4b,
    dnnl_ABcd16b48a4b,
    dnnl_ABcd16b64a4b,
    dnnl_ABcd16b32a2b,
    dnnl_ABcd16b48a2b,
    dnnl_ABcd16b64a2b,
    dnnl_ABcde16b32a4b,
    dnnl_ABcde16b48a4b,
    dnnl_ABcde16b64a4b,
    dnnl_ABcde16b32a2b,
    dnnl_ABcde16b48a2b,
    dnnl_ABcde16b64a2b,
    dnnl_ABc32a16b,
    dnnl_ABcd32a16b,
    dnnl_ABcde32a16b,
    dnnl_AB48a16b,
    dnnl_AB48a32b,
    dnnl_ABc40a16b,
    dnnl_ABc40a32b,
    dnnl_aBC48b16c,
    dnnl_aBC48b32c,
    dnnl_ABcd40a16b,
    dnnl_ABcd40a32b,
    dnnl_abCd32c,
    dnnl_abdCe32c,
    dnnl_abdCE32c2e,
    dnnl_BA16a16b2a,
    dnnl_BA16a32b2a,
    dnnl_BA16a48b2a,
    dnnl_BA16a64b2a,
    dnnl_BA16a16b4a,
    dnnl_BA16a32b4a,
    dnnl_BA16a48b4a,
    dnnl_BA16a64b4a,
    dnnl_ABcd8a2b,
    dnnl_aBdeC16c16b2c,
    dnnl_aBdeC16c16b4c,
    dnnl_aBdefC16c16b2c,
    dnnl_AcB16b16a2b,
    dnnl_AcB16b16a4b,
    dnnl_AcdB16b16a2b,
    dnnl_AcdB16b16a4b,
    dnnl_AcdeB16b16a2b,
    dnnl_aBdefC16c16b4c,
    dnnl_AcdeB16b16a4b,
    dnnl_AcB16b32a2b,
    dnnl_AcB16b32a4b,
    dnnl_AcB16b48a2b,
    dnnl_AcB16b48a4b,
    dnnl_AcB16b64a2b,
    dnnl_AcB16b64a4b,
    dnnl_aBdC16c16b2c,
    dnnl_aBdC16c16b4c,
    dnnl_aBdC16c32b2c,
    dnnl_aBdC16c32b4c,
    dnnl_aBdC16c48b2c,
    dnnl_aBdC16c48b4c,
    dnnl_aBdC16c64b2c,
    dnnl_aBdC16c64b4c,
    dnnl_AcdB16b32a2b,
    dnnl_AcdB16b32a4b,
    dnnl_AcdB16b48a2b,
    dnnl_AcdB16b48a4b,
    dnnl_AcdB16b64a2b,
    dnnl_AcdB16b64a4b,
    dnnl_aBdeC16c32b2c,
    dnnl_aBdeC16c32b4c,
    dnnl_aBdeC16c48b2c,
    dnnl_aBdeC16c48b4c,
    dnnl_aBdeC16c64b2c,
    dnnl_aBdeC16c64b4c,
    dnnl_AcdeB16b32a2b,
    dnnl_AcdeB16b32a4b,
    dnnl_AcdeB16b48a2b,
    dnnl_AcdeB16b48a4b,
    dnnl_AcdeB16b64a2b,
    dnnl_AcdeB16b64a4b,
    dnnl_aBdefC16c32b2c,
    dnnl_aBdefC16c32b4c,
    dnnl_aBdefC16c48b2c,
    dnnl_aBdefC16c48b4c,
    dnnl_aBdefC16c64b2c,
    dnnl_aBdefC16c64b4c,
    dnnl_decbA16a,
    dnnl_ABc4a2b,
    dnnl_ABc8a2b,
    dnnl_aBCd8b2c,
    dnnl_ABcde4a2b,
    dnnl_ABcde8a2b,
    dnnl_ABcde40a16b,
    dnnl_ABcde40a32b,
    dnnl_aBCde8b2c,
    dnnl_ABcde4a8b8a2b,
    dnnl_ABcd4a8b8a2b,
    dnnl_ABc4a8b8a2b,
    dnnl_aBCdef4b8c8b2c,
    dnnl_aBCde4b8c8b2c,
    dnnl_aBCd4b8c8b2c,
    dnnl_BAcde4b8a8b2a,
    dnnl_BAcd4b8a8b2a,
    dnnl_BAc4b8a8b2a,
    dnnl_aCBdef4c8b8c2b,
    dnnl_aCBde4c8b8c2b,
    dnnl_aCBd4c8b8c2b,
    dnnl_aBCdef8b2c,
    dnnl_AB32a16b,
    dnnl_AB32a32b,
    dnnl_BA4b8a8b2a,
    dnnl_BA4b8a8b4a,
    dnnl_aBC32b16c,
    dnnl_aBC32b32c,
    dnnl_aCB4c8b8c2b,
    dnnl_aCB4c8b8c4b,
    dnnl_ABcd4a2b,
    dnnl_ABc2b8a16b4a,
    dnnl_ABcd2b8a16b4a,
    dnnl_ABcde2b8a16b4a,
    dnnl_ABc2a8b16a4b,
    dnnl_ABc2a8b16a2b,
    dnnl_ABc2b32a8b,
    dnnl_ABcd2a8b16a4b,
    dnnl_ABcd2a8b16a2b,
    dnnl_aCBd2c8b16c2b,
    dnnl_ABcd2b32a8b,
    dnnl_aBCd2c8b16c2b,
    dnnl_ABcde2a8b16a4b,
    dnnl_ABcde2a8b16a2b,
    dnnl_aCBde2c8b16c2b,
    dnnl_ABcde2b32a8b,
    dnnl_aBC2b8c16b2c,
    dnnl_aBCd2b8c16b2c,
    dnnl_aBCde2b8c16b2c,
    dnnl_aBCdef2b8c16b2c,
    dnnl_BAcde2b8a16b4a,
    dnnl_BAcd2b8a16b4a,
    dnnl_BAc2b8a16b4a,
    dnnl_BAcde2b8a16b2a,
    dnnl_BAcd2b8a16b2a,
    dnnl_BAc2b8a16b2a,
    dnnl_aBCde2c8b16c2b,
    dnnl_aBCdef2c8b16c2b,
    dnnl_aCBdef2c8b16c2b,
    dnnl_aBCd2b8c16b4c,
    dnnl_aBCde2b8c16b4c,
    dnnl_BA4b8a16b2a,
    dnnl_BA4b8a16b4a,
    dnnl_aCB4c8b16c2b,
    dnnl_aCB4c8b16c4b,
    dnnl_BA16a16b,
    dnnl_BA16a32b,
    dnnl_BA16a48b,
    dnnl_BA16a64b,
    dnnl_aCB16c2b,
    dnnl_aCB16c4b,
    dnnl_BA16b2a,
    dnnl_BA16b4a,
    dnnl_aBC16b16c,
    dnnl_aBC16b32c,
    dnnl_AB16a16b,
    dnnl_AB16a32b,
    dnnl_format_tag_last,
    dnnl_x                = dnnl_a,
    dnnl_nc               = dnnl_ab,
    dnnl_cn               = dnnl_ba,
    dnnl_tn               = dnnl_ab,
    dnnl_nt               = dnnl_ba,
    dnnl_ncw              = dnnl_abc,
    dnnl_nwc              = dnnl_acb,
    dnnl_nchw             = dnnl_abcd,
    dnnl_nhwc             = dnnl_acdb,
    dnnl_chwn             = dnnl_bcda,
    dnnl_ncdhw            = dnnl_abcde,
    dnnl_ndhwc            = dnnl_acdeb,
    dnnl_oi               = dnnl_ab,
    dnnl_io               = dnnl_ba,
    dnnl_oiw              = dnnl_abc,
    dnnl_owi              = dnnl_acb,
    dnnl_wio              = dnnl_cba,
    dnnl_iwo              = dnnl_bca,
    dnnl_oihw             = dnnl_abcd,
    dnnl_hwio             = dnnl_cdba,
    dnnl_ohwi             = dnnl_acdb,
    dnnl_ihwo             = dnnl_bcda,
    dnnl_iohw             = dnnl_bacd,
    dnnl_oidhw            = dnnl_abcde,
    dnnl_iodhw            = dnnl_bacde,
    dnnl_dhwio            = dnnl_cdeba,
    dnnl_odhwi            = dnnl_acdeb,
    dnnl_idhwo            = dnnl_bcdea,
    dnnl_goiw             = dnnl_abcd,
    dnnl_gowi             = dnnl_abdc,
    dnnl_wigo             = dnnl_dcab,
    dnnl_goihw            = dnnl_abcde,
    dnnl_gohwi            = dnnl_abdec,
    dnnl_hwigo            = dnnl_decab,
    dnnl_giohw            = dnnl_acbde,
    dnnl_goidhw           = dnnl_abcdef,
    dnnl_godhwi           = dnnl_abdefc,
    dnnl_giodhw           = dnnl_acbdef,
    dnnl_dhwigo           = dnnl_defcab,
    dnnl_tnc              = dnnl_abc,
    dnnl_ntc              = dnnl_bac,
    dnnl_ldnc             = dnnl_abcd,
    dnnl_ldigo            = dnnl_abcde,
    dnnl_ldgoi            = dnnl_abdec,
    dnnl_ldio             = dnnl_abcd,
    dnnl_ldoi             = dnnl_abdc,
    dnnl_ldgo             = dnnl_abcd,
    dnnl_ldOi32o          = dnnl_abDc32d,
    dnnl_ldOI32o4i        = dnnl_abDC32d4c,
    dnnl_ldIo32i          = dnnl_abCd32c,
    dnnl_ldgOi32o         = dnnl_abdEc32e,
    dnnl_ldgOI32o2i       = dnnl_abdEC32e2c,
    dnnl_ldgOI32o4i       = dnnl_abdEC32e4c,
    dnnl_ldgIo32i         = dnnl_abdCe32c,
    dnnl_ldgIO32i2o       = dnnl_abdCE32c2e,
    dnnl_nCdhw32c         = dnnl_aBcde32b,
    dnnl_nCdhw16c         = dnnl_aBcde16b,
    dnnl_nCdhw4c          = dnnl_aBcde4b,
    dnnl_nCdhw8c          = dnnl_aBcde8b,
    dnnl_nChw32c          = dnnl_aBcd32b,
    dnnl_nChw16c          = dnnl_aBcd16b,
    dnnl_nChw4c           = dnnl_aBcd4b,
    dnnl_nChw8c           = dnnl_aBcd8b,
    dnnl_nCw32c           = dnnl_aBc32b,
    dnnl_nCw16c           = dnnl_aBc16b,
    dnnl_nCw4c            = dnnl_aBc4b,
    dnnl_nCw8c            = dnnl_aBc8b,
    dnnl_NCw16n16c        = dnnl_ABc16a16b,
    dnnl_NCdhw16n16c      = dnnl_ABcde16a16b,
    dnnl_NChw16n16c       = dnnl_ABcd16a16b,
    dnnl_NCw32n16c        = dnnl_ABc32a16b,
    dnnl_NChw32n16c       = dnnl_ABcd32a16b,
    dnnl_NCdhw32n16c      = dnnl_ABcde32a16b,
    dnnl_NCw32n32c        = dnnl_ABc32a32b,
    dnnl_NChw32n32c       = dnnl_ABcd32a32b,
    dnnl_NCdhw32n32c      = dnnl_ABcde32a32b,
    dnnl_OI16i16o         = dnnl_AB16b16a,
    dnnl_OI16i32o         = dnnl_AB16b32a,
    dnnl_OI16i64o         = dnnl_AB16b64a,
    dnnl_OI8i16o2i        = dnnl_AB8b16a2b,
    dnnl_OI8i32o2i        = dnnl_AB8b32a2b,
    dnnl_OI8i64o2i        = dnnl_AB8b64a2b,
    dnnl_OI4i16o4i        = dnnl_AB4b16a4b,
    dnnl_OI4i32o4i        = dnnl_AB4b32a4b,
    dnnl_OI4i64o4i        = dnnl_AB4b64a4b,
    dnnl_OI16i16o4i       = dnnl_AB16b16a4b,
    dnnl_IOw16o16i        = dnnl_BAc16a16b,
    dnnl_IOw16i16o        = dnnl_BAc16b16a,
    dnnl_OIw16i16o        = dnnl_ABc16b16a,
    dnnl_OIw16i32o        = dnnl_ABc16b32a,
    dnnl_OIw16i64o        = dnnl_ABc16b64a,
    dnnl_OIw16o16i        = dnnl_ABc16a16b,
    dnnl_Oiw16o           = dnnl_Abc16a,
    dnnl_OIw4i16o4i       = dnnl_ABc4b16a4b,
    dnnl_OIw4i32o4i       = dnnl_ABc4b32a4b,
    dnnl_OIw4i64o4i       = dnnl_ABc4b64a4b,
    dnnl_OIw2i8o4i        = dnnl_ABc2b8a4b,
    dnnl_OIw16i16o4i      = dnnl_ABc16b16a4b,
    dnnl_OIw16i16o2i      = dnnl_ABc16b16a2b,
    dnnl_OIw16o16i2o      = dnnl_ABc16a16b2a,
    dnnl_OIw4i4o          = dnnl_ABc4b4a,
    dnnl_OIw4o4i          = dnnl_ABc4a4b,
    dnnl_Oiw4o            = dnnl_Abc4a,
    dnnl_OIw8i16o2i       = dnnl_ABc8b16a2b,
    dnnl_OIw8i32o2i       = dnnl_ABc8b32a2b,
    dnnl_OIw8i64o2i       = dnnl_ABc8b64a2b,
    dnnl_OIw8i8o          = dnnl_ABc8b8a,
    dnnl_OIw8o16i2o       = dnnl_ABc8a16b2a,
    dnnl_IOw8o16i2o       = dnnl_BAc8a16b2a,
    dnnl_OIw8o8i          = dnnl_ABc8a8b,
    dnnl_OIw8o4i          = dnnl_ABc8a4b,
    dnnl_Owi16o           = dnnl_Acb16a,
    dnnl_OwI16o2i         = dnnl_AcB16a2b,
    dnnl_OwI16o4i         = dnnl_AcB16a4b,
    dnnl_Owi4o            = dnnl_Acb4a,
    dnnl_Owi8o            = dnnl_Acb8a,
    dnnl_IOhw16i16o       = dnnl_BAcd16b16a,
    dnnl_IOhw16o16i       = dnnl_BAcd16a16b,
    dnnl_Ohwi16o          = dnnl_Acdb16a,
    dnnl_OhwI16o2i        = dnnl_AcdB16a2b,
    dnnl_OhwI16o4i        = dnnl_AcdB16a4b,
    dnnl_Ohwi32o          = dnnl_Acdb32a,
    dnnl_Ohwi4o           = dnnl_Acdb4a,
    dnnl_Ohwi8o           = dnnl_Acdb8a,
    dnnl_OIhw16i16o       = dnnl_ABcd16b16a,
    dnnl_OIhw16i32o       = dnnl_ABcd16b32a,
    dnnl_OIhw16i64o       = dnnl_ABcd16b64a,
    dnnl_OIhw16o16i       = dnnl_ABcd16a16b,
    dnnl_Oihw16o          = dnnl_Abcd16a,
    dnnl_OIhw4i16o4i      = dnnl_ABcd4b16a4b,
    dnnl_OIhw4i32o4i      = dnnl_ABcd4b32a4b,
    dnnl_OIhw4i64o4i      = dnnl_ABcd4b64a4b,
    dnnl_OIhw16i16o4i     = dnnl_ABcd16b16a4b,
    dnnl_OIhw16i16o2i     = dnnl_ABcd16b16a2b,
    dnnl_OIhw16o16i2o     = dnnl_ABcd16a16b2a,
    dnnl_OIhw4i4o         = dnnl_ABcd4b4a,
    dnnl_OIhw4o4i         = dnnl_ABcd4a4b,
    dnnl_Oihw4o           = dnnl_Abcd4a,
    dnnl_OIhw8i16o2i      = dnnl_ABcd8b16a2b,
    dnnl_OIhw8i32o2i      = dnnl_ABcd8b32a2b,
    dnnl_OIhw8i64o2i      = dnnl_ABcd8b64a2b,
    dnnl_OIhw8i8o         = dnnl_ABcd8b8a,
    dnnl_OIhw8o16i2o      = dnnl_ABcd8a16b2a,
    dnnl_OIhw2i8o4i       = dnnl_ABcd2b8a4b,
    dnnl_IOhw8o16i2o      = dnnl_BAcd8a16b2a,
    dnnl_OIhw8o8i         = dnnl_ABcd8a8b,
    dnnl_OIhw8o4i         = dnnl_ABcd8a4b,
    dnnl_Owhi16o          = dnnl_Adcb16a,
    dnnl_Odhwi16o         = dnnl_Acdeb16a,
    dnnl_OdhwI16o2i       = dnnl_AcdeB16a2b,
    dnnl_OdhwI16o4i       = dnnl_AcdeB16a4b,
    dnnl_Odhwi4o          = dnnl_Acdeb4a,
    dnnl_Odhwi8o          = dnnl_Acdeb8a,
    dnnl_OIdhw16i16o      = dnnl_ABcde16b16a,
    dnnl_OIdhw16i32o      = dnnl_ABcde16b32a,
    dnnl_OIdhw16i64o      = dnnl_ABcde16b64a,
    dnnl_OIdhw16o16i      = dnnl_ABcde16a16b,
    dnnl_Oidhw16o         = dnnl_Abcde16a,
    dnnl_OIdhw4i4o        = dnnl_ABcde4b4a,
    dnnl_OIdhw4o4i        = dnnl_ABcde4a4b,
    dnnl_Oidhw4o          = dnnl_Abcde4a,
    dnnl_OIdhw8i16o2i     = dnnl_ABcde8b16a2b,
    dnnl_OIdhw8i32o2i     = dnnl_ABcde8b32a2b,
    dnnl_OIdhw8i64o2i     = dnnl_ABcde8b64a2b,
    dnnl_OIdhw8i8o        = dnnl_ABcde8b8a,
    dnnl_OIdhw8o16i2o     = dnnl_ABcde8a16b2a,
    dnnl_IOdhw8o16i2o     = dnnl_BAcde8a16b2a,
    dnnl_OIdhw4i16o4i     = dnnl_ABcde4b16a4b,
    dnnl_OIdhw4i32o4i     = dnnl_ABcde4b32a4b,
    dnnl_OIdhw4i64o4i     = dnnl_ABcde4b64a4b,
    dnnl_OIdhw16i16o4i    = dnnl_ABcde16b16a4b,
    dnnl_OIdhw16i16o2i    = dnnl_ABcde16b16a2b,
    dnnl_OIdhw2i8o4i      = dnnl_ABcde2b8a4b,
    dnnl_OIdhw8o8i        = dnnl_ABcde8a8b,
    dnnl_OIdhw8o4i        = dnnl_ABcde8a4b,
    dnnl_IOdhw16i16o      = dnnl_BAcde16b16a,
    dnnl_OIdhw4o8i8o4i    = dnnl_ABcde4a8b8a4b,
    dnnl_IOdhw16o16i      = dnnl_BAcde16a16b,
    dnnl_Goiw16g          = dnnl_Abcd16a,
    dnnl_Goiw8g           = dnnl_Abcd8a,
    dnnl_Goiw4g           = dnnl_Abcd4a,
    dnnl_gIOw16o16i       = dnnl_aCBd16b16c,
    dnnl_gIOw16i16o       = dnnl_aCBd16c16b,
    dnnl_gOIw16i16o       = dnnl_aBCd16c16b,
    dnnl_gOIw16o16i       = dnnl_aBCd16b16c,
    dnnl_gOiw16o          = dnnl_aBcd16b,
    dnnl_gOIw4i16o4i      = dnnl_aBCd4c16b4c,
    dnnl_gOIw2i8o4i       = dnnl_aBCd2c8b4c,
    dnnl_gOIw16i16o4i     = dnnl_aBCd16c16b4c,
    dnnl_gOIw16i16o2i     = dnnl_aBCd16c16b2c,
    dnnl_gOIw16o16i2o     = dnnl_aBCd16b16c2b,
    dnnl_gOIw4i4o         = dnnl_aBCd4c4b,
    dnnl_gOIw4o4i         = dnnl_aBCd4b4c,
    dnnl_gOiw4o           = dnnl_aBcd4b,
    dnnl_gOIw8i16o2i      = dnnl_aBCd8c16b2c,
    dnnl_gOIw8i8o         = dnnl_aBCd8c8b,
    dnnl_gOIw8o16i2o      = dnnl_aBCd8b16c2b,
    dnnl_gIOw8o16i2o      = dnnl_aCBd8b16c2b,
    dnnl_gOIw8o8i         = dnnl_aBCd8b8c,
    dnnl_gOIw8o4i         = dnnl_aBCd8b4c,
    dnnl_gOwi16o          = dnnl_aBdc16b,
    dnnl_gOwI16o2i        = dnnl_aBdC16b2c,
    dnnl_gOwI16o4i        = dnnl_aBdC16b4c,
    dnnl_gOwi4o           = dnnl_aBdc4b,
    dnnl_gOwi8o           = dnnl_aBdc8b,
    dnnl_Goiw32g          = dnnl_Abcd32a,
    dnnl_gOIw2i4o2i       = dnnl_aBCd2c4b2c,
    dnnl_gOIw2o4i2o       = dnnl_aBCd2b4c2b,
    dnnl_gOIw4i8o2i       = dnnl_aBCd4c8b2c,
    dnnl_gOIw4o8i2o       = dnnl_aBCd4b8c2b,
    dnnl_gIOhw16i16o      = dnnl_aCBde16c16b,
    dnnl_gIOhw16o16i      = dnnl_aCBde16b16c,
    dnnl_gOhwi16o         = dnnl_aBdec16b,
    dnnl_gOhwI16o2i       = dnnl_aBdeC16b2c,
    dnnl_gOhwI16o4i       = dnnl_aBdeC16b4c,
    dnnl_gOhwi32o         = dnnl_aBdec32b,
    dnnl_gOhwi4o          = dnnl_aBdec4b,
    dnnl_gOhwi8o          = dnnl_aBdec8b,
    dnnl_Goihw16g         = dnnl_Abcde16a,
    dnnl_gOIhw16i16o      = dnnl_aBCde16c16b,
    dnnl_gOIhw16o16i      = dnnl_aBCde16b16c,
    dnnl_gOihw16o         = dnnl_aBcde16b,
    dnnl_gOIhw2i8o4i      = dnnl_aBCde2c8b4c,
    dnnl_gOIhw4i16o4i     = dnnl_aBCde4c16b4c,
    dnnl_gOIhw16i16o4i    = dnnl_aBCde16c16b4c,
    dnnl_gOIhw16i16o2i    = dnnl_aBCde16c16b2c,
    dnnl_gOIhw16o16i2o    = dnnl_aBCde16b16c2b,
    dnnl_gOIhw4i4o        = dnnl_aBCde4c4b,
    dnnl_gOIhw4o4i        = dnnl_aBCde4b4c,
    dnnl_gOihw4o          = dnnl_aBcde4b,
    dnnl_Goihw8g          = dnnl_Abcde8a,
    dnnl_Goihw4g          = dnnl_Abcde4a,
    dnnl_gOIhw8i16o2i     = dnnl_aBCde8c16b2c,
    dnnl_gOIhw8i8o        = dnnl_aBCde8c8b,
    dnnl_gOIhw8o16i2o     = dnnl_aBCde8b16c2b,
    dnnl_gIOhw8o16i2o     = dnnl_aCBde8b16c2b,
    dnnl_gOIhw8o8i        = dnnl_aBCde8b8c,
    dnnl_gOIhw8o4i        = dnnl_aBCde8b4c,
    dnnl_Goihw32g         = dnnl_Abcde32a,
    dnnl_gOwhi16o         = dnnl_aBedc16b,
    dnnl_OIw4o8i8o4i      = dnnl_ABc4a8b8a4b,
    dnnl_OIhw4o8i8o4i     = dnnl_ABcd4a8b8a4b,
    dnnl_IOw4i8o8i4o      = dnnl_BAc4b8a8b4a,
    dnnl_IOhw4i8o8i4o     = dnnl_BAcd4b8a8b4a,
    dnnl_IOdhw4i8o8i4o    = dnnl_BAcde4b8a8b4a,
    dnnl_OIhw2o8i8o2i     = dnnl_ABcd2a8b8a2b,
    dnnl_gOIw4o8i8o4i     = dnnl_aBCd4b8c8b4c,
    dnnl_gOIhw4o8i8o4i    = dnnl_aBCde4b8c8b4c,
    dnnl_gOIdhw4o8i8o4i   = dnnl_aBCdef4b8c8b4c,
    dnnl_gIOw4i8o8i4o     = dnnl_aCBd4c8b8c4b,
    dnnl_gIOhw4i8o8i4o    = dnnl_aCBde4c8b8c4b,
    dnnl_gIOdhw4i8o8i4o   = dnnl_aCBdef4c8b8c4b,
    dnnl_gOIhw2o8i8o2i    = dnnl_aBCde2b8c8b2c,
    dnnl_gOIhw2i4o2i      = dnnl_aBCde2c4b2c,
    dnnl_gOIhw2o4i2o      = dnnl_aBCde2b4c2b,
    dnnl_gOIhw4i8o2i      = dnnl_aBCde4c8b2c,
    dnnl_gOIhw4o8i2o      = dnnl_aBCde4b8c2b,
    dnnl_gIOdhw16i16o     = dnnl_aCBdef16c16b,
    dnnl_gIOdhw16o16i     = dnnl_aCBdef16b16c,
    dnnl_gOdhwi16o        = dnnl_aBdefc16b,
    dnnl_gOdhwI16o2i      = dnnl_aBdefC16b2c,
    dnnl_gOdhwI16o4i      = dnnl_aBdefC16b4c,
    dnnl_gOdhwi4o         = dnnl_aBdefc4b,
    dnnl_gOdhwi8o         = dnnl_aBdefc8b,
    dnnl_gOIdhw16i16o     = dnnl_aBCdef16c16b,
    dnnl_gOIdhw4i16o4i    = dnnl_aBCdef4c16b4c,
    dnnl_gOIdhw16i16o4i   = dnnl_aBCdef16c16b4c,
    dnnl_gOIdhw2i8o4i     = dnnl_aBCdef2c8b4c,
    dnnl_gOIdhw16i16o2i   = dnnl_aBCdef16c16b2c,
    dnnl_gOIdhw16o16i     = dnnl_aBCdef16b16c,
    dnnl_gOidhw16o        = dnnl_aBcdef16b,
    dnnl_gOIdhw4i4o       = dnnl_aBCdef4c4b,
    dnnl_gOIdhw4o4i       = dnnl_aBCdef4b4c,
    dnnl_gOidhw4o         = dnnl_aBcdef4b,
    dnnl_gOIdhw8i16o2i    = dnnl_aBCdef8c16b2c,
    dnnl_gOIdhw8i8o       = dnnl_aBCdef8c8b,
    dnnl_gOIdhw8o16i2o    = dnnl_aBCdef8b16c2b,
    dnnl_gIOdhw8o16i2o    = dnnl_aCBdef8b16c2b,
    dnnl_gOIdhw8o8i       = dnnl_aBCdef8b8c,
    dnnl_gOIdhw8o4i       = dnnl_aBCdef8b4c,
    dnnl_Goidhw16g        = dnnl_Abcdef16a,
    dnnl_Goidhw32g        = dnnl_Abcdef32a,
    dnnl_gOIdhw2i4o2i     = dnnl_aBCdef2c4b2c,
    dnnl_gOIdhw4i8o2i     = dnnl_aBCdef4c8b2c,
    dnnl_gOIdhw2o4i2o     = dnnl_aBCdef2b4c2b,
    dnnl_gOIdhw4o8i2o     = dnnl_aBCdef4b8c2b,
    dnnl_Owi32o           = dnnl_Acb32a,
    dnnl_OwI32o2i         = dnnl_AcB32a2b,
    dnnl_OwI32o4i         = dnnl_AcB32a4b,
    dnnl_Owi48o           = dnnl_Acb48a,
    dnnl_OwI48o2i         = dnnl_AcB48a2b,
    dnnl_OwI48o4i         = dnnl_AcB48a4b,
    dnnl_Owi64o           = dnnl_Acb64a,
    dnnl_OwI64o2i         = dnnl_AcB64a2b,
    dnnl_OwI64o4i         = dnnl_AcB64a4b,
    dnnl_wIo2i            = dnnl_cBa2b,
    dnnl_wIo4i            = dnnl_cBa4b,
    dnnl_gOwi32o          = dnnl_aBdc32b,
    dnnl_gOwI32o2i        = dnnl_aBdC32b2c,
    dnnl_gOwI32o4i        = dnnl_aBdC32b4c,
    dnnl_gOwi48o          = dnnl_aBdc48b,
    dnnl_gOwI48o2i        = dnnl_aBdC48b2c,
    dnnl_gOwI48o4i        = dnnl_aBdC48b4c,
    dnnl_gOwi64o          = dnnl_aBdc64b,
    dnnl_gOwI64o2i        = dnnl_aBdC64b2c,
    dnnl_gOwI64o4i        = dnnl_aBdC64b4c,
    dnnl_gwio             = dnnl_adcb,
    dnnl_gwIo2i           = dnnl_adCb2c,
    dnnl_gwIo4i           = dnnl_adCb4c,
    dnnl_OhwI32o          = dnnl_Acdb32a,
    dnnl_OhwI32o2i        = dnnl_AcdB32a2b,
    dnnl_OhwI32o4i        = dnnl_AcdB32a4b,
    dnnl_Ohwi48o          = dnnl_Acdb48a,
    dnnl_OhwI48o2i        = dnnl_AcdB48a2b,
    dnnl_OhwI48o4i        = dnnl_AcdB48a4b,
    dnnl_Ohwi64o          = dnnl_Acdb64a,
    dnnl_OhwI64o2i        = dnnl_AcdB64a2b,
    dnnl_OhwI64o4i        = dnnl_AcdB64a4b,
    dnnl_hwIo2i           = dnnl_cdBa2b,
    dnnl_hwIo4i           = dnnl_cdBa4b,
    dnnl_gOhwI32o         = dnnl_aBdec32b,
    dnnl_gOhwI32o2i       = dnnl_aBdeC32b2c,
    dnnl_gOhwI32o4i       = dnnl_aBdeC32b4c,
    dnnl_gOhwi48o         = dnnl_aBdec48b,
    dnnl_gOhwI48o2i       = dnnl_aBdeC48b2c,
    dnnl_gOhwI48o4i       = dnnl_aBdeC48b4c,
    dnnl_gOhwi64o         = dnnl_aBdec64b,
    dnnl_gOhwI64o2i       = dnnl_aBdeC64b2c,
    dnnl_gOhwI64o4i       = dnnl_aBdeC64b4c,
    dnnl_ghwio            = dnnl_adecb,
    dnnl_ghwIo2i          = dnnl_adeCb2c,
    dnnl_ghwIo4i          = dnnl_adeCb4c,
    dnnl_Odhwi32o         = dnnl_Acdeb32a,
    dnnl_OdhwI32o2i       = dnnl_AcdeB32a2b,
    dnnl_OdhwI32o4i       = dnnl_AcdeB32a4b,
    dnnl_Odhwi48o         = dnnl_Acdeb48a,
    dnnl_OdhwI48o2i       = dnnl_AcdeB48a2b,
    dnnl_OdhwI48o4i       = dnnl_AcdeB48a4b,
    dnnl_Odhwi64o         = dnnl_Acdeb64a,
    dnnl_OdhwI64o2i       = dnnl_AcdeB64a2b,
    dnnl_OdhwI64o4i       = dnnl_AcdeB64a4b,
    dnnl_dhwIo2i          = dnnl_cdeBa2b,
    dnnl_dhwIo4i          = dnnl_cdeBa4b,
    dnnl_gOdhwi32o        = dnnl_aBdefc32b,
    dnnl_gOdhwI32o2i      = dnnl_aBdefC32b2c,
    dnnl_gOdhwI32o4i      = dnnl_aBdefC32b4c,
    dnnl_gOdhwi48o        = dnnl_aBdefc48b,
    dnnl_gOdhwI48o2i      = dnnl_aBdefC48b2c,
    dnnl_gOdhwI48o4i      = dnnl_aBdefC48b4c,
    dnnl_gOdhwi64o        = dnnl_aBdefc64b,
    dnnl_gOdhwI64o2i      = dnnl_aBdefC64b2c,
    dnnl_gOdhwI64o4i      = dnnl_aBdefC64b4c,
    dnnl_gdhwio           = dnnl_adefcb,
    dnnl_gdhwIo2i         = dnnl_adefCb2c,
    dnnl_gdhwIo4i         = dnnl_adefCb4c,
    dnnl_OI16i32o4i       = dnnl_AB16b32a4b,
    dnnl_OI16i48o4i       = dnnl_AB16b48a4b,
    dnnl_OI16i64o4i       = dnnl_AB16b64a4b,
    dnnl_OI16i16o2i       = dnnl_AB16b16a2b,
    dnnl_OI16i32o2i       = dnnl_AB16b32a2b,
    dnnl_OI16i48o2i       = dnnl_AB16b48a2b,
    dnnl_OI16i64o2i       = dnnl_AB16b64a2b,
    dnnl_OIw16i32o4i      = dnnl_ABc16b32a4b,
    dnnl_OIw16i48o4i      = dnnl_ABc16b48a4b,
    dnnl_OIw16i64o4i      = dnnl_ABc16b64a4b,
    dnnl_OIw16i32o2i      = dnnl_ABc16b32a2b,
    dnnl_OIw16i48o2i      = dnnl_ABc16b48a2b,
    dnnl_OIw16i64o2i      = dnnl_ABc16b64a2b,
    dnnl_OIhw16i32o4i     = dnnl_ABcd16b32a4b,
    dnnl_OIhw16i48o4i     = dnnl_ABcd16b48a4b,
    dnnl_OIhw16i64o4i     = dnnl_ABcd16b64a4b,
    dnnl_OIhw16i32o2i     = dnnl_ABcd16b32a2b,
    dnnl_OIhw16i48o2i     = dnnl_ABcd16b48a2b,
    dnnl_OIhw16i64o2i     = dnnl_ABcd16b64a2b,
    dnnl_OIdhw16i32o4i    = dnnl_ABcde16b32a4b,
    dnnl_OIdhw16i48o4i    = dnnl_ABcde16b48a4b,
    dnnl_OIdhw16i64o4i    = dnnl_ABcde16b64a4b,
    dnnl_OIdhw16i32o2i    = dnnl_ABcde16b32a2b,
    dnnl_OIdhw16i48o2i    = dnnl_ABcde16b48a2b,
    dnnl_OIdhw16i64o2i    = dnnl_ABcde16b64a2b,
    dnnl_OwI16i16o2i      = dnnl_AcB16b16a2b,
    dnnl_OwI16i16o4i      = dnnl_AcB16b16a4b,
    dnnl_OhwI16i16o2i     = dnnl_AcdB16b16a2b,
    dnnl_OhwI16i16o4i     = dnnl_AcdB16b16a4b,
    dnnl_OdhwI16i16o2i    = dnnl_AcdeB16b16a2b,
    dnnl_OdhwI16i16o4i    = dnnl_AcdeB16b16a4b,
    dnnl_gOwI16i16o2i     = dnnl_aBdC16c16b2c,
    dnnl_gOwI16i16o4i     = dnnl_aBdC16c16b4c,
    dnnl_gOhwI16i16o2i    = dnnl_aBdeC16c16b2c,
    dnnl_gOhwI16i16o4i    = dnnl_aBdeC16c16b4c,
    dnnl_gOdhwI16i16o2i   = dnnl_aBdefC16c16b2c,
    dnnl_gOdhwI16i16o4i   = dnnl_aBdefC16c16b4c,
    dnnl_OwI16i32o2i      = dnnl_AcB16b32a2b,
    dnnl_OwI16i32o4i      = dnnl_AcB16b32a4b,
    dnnl_OwI16i48o2i      = dnnl_AcB16b48a2b,
    dnnl_OwI16i48o4i      = dnnl_AcB16b48a4b,
    dnnl_OwI16i64o2i      = dnnl_AcB16b64a2b,
    dnnl_OwI16i64o4i      = dnnl_AcB16b64a4b,
    dnnl_gOwI16i32o2i     = dnnl_aBdC16c32b2c,
    dnnl_gOwI16i32o4i     = dnnl_aBdC16c32b4c,
    dnnl_gOwI16i48o2i     = dnnl_aBdC16c48b2c,
    dnnl_gOwI16i48o4i     = dnnl_aBdC16c48b4c,
    dnnl_gOwI16i64o2i     = dnnl_aBdC16c64b2c,
    dnnl_gOwI16i64o4i     = dnnl_aBdC16c64b4c,
    dnnl_OhwI16i32o2i     = dnnl_AcdB16b32a2b,
    dnnl_OhwI16i32o4i     = dnnl_AcdB16b32a4b,
    dnnl_OhwI16i48o2i     = dnnl_AcdB16b48a2b,
    dnnl_OhwI16i48o4i     = dnnl_AcdB16b48a4b,
    dnnl_OhwI16i64o2i     = dnnl_AcdB16b64a2b,
    dnnl_OhwI16i64o4i     = dnnl_AcdB16b64a4b,
    dnnl_gOhwI16i32o2i    = dnnl_aBdeC16c32b2c,
    dnnl_gOhwI16i32o4i    = dnnl_aBdeC16c32b4c,
    dnnl_gOhwI16i48o2i    = dnnl_aBdeC16c48b2c,
    dnnl_gOhwI16i48o4i    = dnnl_aBdeC16c48b4c,
    dnnl_gOhwI16i64o2i    = dnnl_aBdeC16c64b2c,
    dnnl_gOhwI16i64o4i    = dnnl_aBdeC16c64b4c,
    dnnl_OdhwI16i32o2i    = dnnl_AcdeB16b32a2b,
    dnnl_OdhwI16i32o4i    = dnnl_AcdeB16b32a4b,
    dnnl_OdhwI16i48o2i    = dnnl_AcdeB16b48a2b,
    dnnl_OdhwI16i48o4i    = dnnl_AcdeB16b48a4b,
    dnnl_OdhwI16i64o2i    = dnnl_AcdeB16b64a2b,
    dnnl_OdhwI16i64o4i    = dnnl_AcdeB16b64a4b,
    dnnl_gOdhwI16i32o2i   = dnnl_aBdefC16c32b2c,
    dnnl_gOdhwI16i32o4i   = dnnl_aBdefC16c32b4c,
    dnnl_gOdhwI16i48o2i   = dnnl_aBdefC16c48b2c,
    dnnl_gOdhwI16i48o4i   = dnnl_aBdefC16c48b4c,
    dnnl_gOdhwI16i64o2i   = dnnl_aBdefC16c64b2c,
    dnnl_gOdhwI16i64o4i   = dnnl_aBdefC16c64b4c,
    dnnl_hwioG16g         = dnnl_decbA16a,
    dnnl_NCdhw40n16c      = dnnl_ABcde40a16b,
    dnnl_NCw40n16c        = dnnl_ABc40a16b,
    dnnl_NChw40n16c       = dnnl_ABcd40a16b,
    dnnl_NCw40n32c        = dnnl_ABc40a32b,
    dnnl_NChw40n32c       = dnnl_ABcd40a32b,
    dnnl_NCdhw40n32c      = dnnl_ABcde40a32b,
    dnnl_OIdhw4o8i8o2i    = dnnl_ABcde4a8b8a2b,
    dnnl_OIhw4o8i8o2i     = dnnl_ABcd4a8b8a2b,
    dnnl_OIw4o8i8o2i      = dnnl_ABc4a8b8a2b,
    dnnl_gOIdhw4o8i8o2i   = dnnl_aBCdef4b8c8b2c,
    dnnl_gOIhw4o8i8o2i    = dnnl_aBCde4b8c8b2c,
    dnnl_gOIw4o8i8o2i     = dnnl_aBCd4b8c8b2c,
    dnnl_IOdhw4i8o8i2o    = dnnl_BAcde4b8a8b2a,
    dnnl_IOhw4i8o8i2o     = dnnl_BAcd4b8a8b2a,
    dnnl_IOw4i8o8i2o      = dnnl_BAc4b8a8b2a,
    dnnl_gIOdhw4i8o8i2o   = dnnl_aCBdef4c8b8c2b,
    dnnl_gIOhw4i8o8i2o    = dnnl_aCBde4c8b8c2b,
    dnnl_gIOw4i8o8i2o     = dnnl_aCBd4c8b8c2b,
    dnnl_NCw2c32n8c       = dnnl_ABc2b32a8b,
    dnnl_NChw2c32n8c      = dnnl_ABcd2b32a8b,
    dnnl_NCdhw2c32n8c     = dnnl_ABcde2b32a8b,
    dnnl_OIw2i8o16i4o     = dnnl_ABc2b8a16b4a,
    dnnl_OIhw2i8o16i4o    = dnnl_ABcd2b8a16b4a,
    dnnl_OIdhw2i8o16i4o   = dnnl_ABcde2b8a16b4a,
    dnnl_OIw2o8i16o4i     = dnnl_ABc2a8b16a4b,
    dnnl_OIw2o8i16o2i     = dnnl_ABc2a8b16a2b,
    dnnl_IOw2i8o16i4o     = dnnl_BAc2b8a16b4a,
    dnnl_IOw2i8o16i2o     = dnnl_BAc2b8a16b2a,
    dnnl_OIhw2o8i16o4i    = dnnl_ABcd2a8b16a4b,
    dnnl_OIhw2o8i16o2i    = dnnl_ABcd2a8b16a2b,
    dnnl_IOhw2i8o16i4o    = dnnl_BAcd2b8a16b4a,
    dnnl_IOhw2i8o16i2o    = dnnl_BAcd2b8a16b2a,
    dnnl_OIdhw2o8i16o4i   = dnnl_ABcde2a8b16a4b,
    dnnl_OIdhw2o8i16o2i   = dnnl_ABcde2a8b16a2b,
    dnnl_IOdhw2i8o16i4o   = dnnl_BAcde2b8a16b4a,
    dnnl_IOdhw2i8o16i2o   = dnnl_BAcde2b8a16b2a,
    dnnl_gOIw2o8i16o2i    = dnnl_aBCd2b8c16b2c,
    dnnl_gIOw2i8o16i2o    = dnnl_aCBd2c8b16c2b,
    dnnl_gIOhw2i8o16i2o   = dnnl_aBCde2c8b16c2b,
    dnnl_gIOdhw2i8o16i2o  = dnnl_aBCdef2c8b16c2b,
    dnnl_gOIhw2o8i16o2i   = dnnl_aBCde2b8c16b2c,
    dnnl_gOIdhw2o8i16o2i  = dnnl_aBCdef2b8c16b2c,
    dnnl_gOIw2o8i16o4i    = dnnl_aBCd2b8c16b4c,
    dnnl_gOIhw2o8i16o4i   = dnnl_aBCde2b8c16b4c,
};

Detailed Documentation

Memory format tag specification.

oneDNN formats describe physical data layout. The physical layout is described as a sequence of the dimensions as they are laid out in the memory (from the outer-most to the inner-most). Note that this order doesn’t affect the logical order of the dimensions that is kept in the dims field of the dnnl_memory_desc_t structure. The logical order of the dimensions is specified by the primitive that uses the tensor.

For example, CNN 5D tensor always has its logical dimensions in the order (batch, channels, depth, height, width), while the physical layout might be NCDHW (corresponds to dnnl_ncdhw format tag) or NDHWC (corresponds to dnnl_ndhwc format tag).

int batch = 2, channels = 16, depth = 13, height = 13, width = 13;

int ndims = 5; // 5D tensor
dnnl_dims_t dims = {batch, channels, depth, height, width};
dnnl_memory_desc_t data_in_ncdhw;
dnnl_memory_desc_init_by_tag(
     &data_in_ncdhw, 5, dims, dnnl_f32, dnnl_ncdhw);

// note that in both cases dims passed are the same
dnnl_memory_desc_t data_in_ndhwc;
dnnl_memory_desc_init_by_tag(
     &data_in_ndhwc, 5, dims, dnnl_f32, dnnl_ndhwc);

Memory format tags can be further divided into two categories:

  • Domain-agnostic names, i.e. names the do not depend on the tensor usage in the specific primitive. These names use letters from a to l to denote logical dimension from 1 to 12, and form the order in which the dimensions are laid in memory. For instance, dnnl_ab is used to denote 2D tensor where the second logical dimension (aka b) is the innermost, i.e. has stride = 1, and the first logical dimension (a) laid out in memory with stride equal to the size of second dimension. On the other hand, dnnl_ba is just transposed version of the same tensor: the first dimension (a) becomes the innermost one.

  • Domain-specific names, i.e. names that make sense only in the context of a certain domain, such as CNN. This names are just aliases to the corresponding domain-agnostic tags and used mostly for the convenience. For example, dnnl_nc is used to denote 2D CNN activations tensor memory format, where channels are the innermost dimension and batch is an outermost one. Moreover, dnnl_nc is just an alias to dnnl_ab, since for oneDNN CNN primitives the logical dimensions of activations tensors come in order: batch, channels, spatial. In other words, batch corresponds to the first logical dimension (a), channels correspond to the second one (b).

The following domain-specific notation applies to memory format tags:

  • 'n' denotes the mini-batch dimension

  • 'c' denotes a channels dimension

  • When there are multiple channel dimensions (for example, in convolution weights tensor), 'i' and 'o' denote dimensions of input and output channels

  • 'd', 'h', and 'w' denote spatial depth, height, and width respectively

Upper-case letters indicate that the data is laid out in blocks for a particular dimension. In such cases, the format name contains both upper- and lower-case letters for that dimension with a lower-case letter preceded by the block size. For example: dnnl_nChw8c describes a format where the outermost dimension is mini-batch, followed by the channel block number, followed by the spatial height and width, and finally followed by 8-element channel blocks.

See also:

Understanding Memory Formats

Enum Values

dnnl_format_tag_undef

Undefined memory format tag.

dnnl_format_tag_any

Undefined memory format tag.

The primitive selects a format automatically.

dnnl_a

plain 1D tensor

dnnl_ab

plain 2D tensor

dnnl_abc

plain 3D tensor

dnnl_abcd

plain 4D tensor

dnnl_acbd

plain 4D tensor

dnnl_abcde

plain 5D tensor

dnnl_abcdef

plain 6D tensor

dnnl_abcdefg

plain 7D tensor

dnnl_abcdefgh

plain 8D tensor

dnnl_abcdefghi

plain 9D tensor

dnnl_abcdefghij

plain 10D tensor

dnnl_abcdefghijk

plain 11D tensor

dnnl_abcdefghijkl

plain 12D tensor

dnnl_abdc

permuted 4D tensor

dnnl_abdec

permuted 5D tensor

dnnl_acb

permuted 3D tensor

dnnl_acbde

permuted 5D tensor

dnnl_acbdef

permuted 6D tensor

dnnl_acdb

permuted 4D tensor

dnnl_acdeb

permuted 5D tensor

dnnl_ba

permuted 2D tensor

dnnl_bac

permuted 3D tensor

dnnl_bacd

permuted 4D tensor

dnnl_bacde

permuted 5D tensor

dnnl_bca

permuted 3D tensor

dnnl_bcda

permuted 4D tensor

dnnl_bcdea

permuted 5D tensor

dnnl_cba

permuted 3D tensor

dnnl_cdba

permuted 4D tensor

dnnl_dcab

permuted 4D tensor

dnnl_cdeba

permuted 5D tensor

dnnl_decab

permuted 5D tensor

dnnl_defcab

permuted 6D tensor

dnnl_abced

permuted 5D tensor

dnnl_abcdfe

permuted 6D tensor

dnnl_abcdegf

permuted 7D tensor

dnnl_abcdefhg

permuted 8D tensor

dnnl_abcdefgih

permuted 9D tensor

dnnl_abcdefghji

permuted 10D tensor

dnnl_abcdefghikj

permuted 11D tensor

dnnl_abcdefghijlk

permuted 12D tensor

dnnl_aBc16b

3D tensor blocked by 2nd dimension with block size 16

dnnl_aBc32b

3D tensor blocked by 2nd dimension with block size 32

dnnl_aBc4b

3D tensor blocked by 2nd dimension with block size 4

dnnl_aBc8b

3D tensor blocked by 2nd dimension with block size 8

dnnl_aBcd16b

4D tensor blocked by 2nd dimension with block size 16

dnnl_aBcd32b

4D tensor blocked by 2nd dimension with block size 32

dnnl_aBcd4b

4D tensor blocked by 2nd dimension with block size 4

dnnl_aBcd8b

4D tensor blocked by 2nd dimension with block size 8

dnnl_ABcd8b8a

4D tensor blocked by 1st and 2nd dimension with block size 8

dnnl_aBCd2b4c2b

4D tensor blocked by 3rd dimension with block size 4

dnnl_ABcde4b16a4b

5D tensor blocked by 1st dimension with block size 16

dnnl_ABcde2b8a4b

5D tensor blocked by 1st dimension with block size 8

dnnl_aBcde16b

5D tensor blocked by 2nd dimension with block size 16

dnnl_aBcde32b

5D tensor blocked by 2nd dimension with block size 32

dnnl_aBcde4b

5D tensor blocked by 2nd dimension with block size 4

dnnl_aBcde8b

5D tensor blocked by 2nd dimension with block size 8

dnnl_aBCde2b4c2b

5D tensor blocked by 3rd dimension with block size 4

dnnl_aBcdef16b

6D tensor blocked by 2nd dimension with block size 16

dnnl_aBCdef2c8b4c

6D tensor blocked by 2nd dimension with block size 8

dnnl_aBCdef2b4c2b

6D tensor blocked by 3rd dimension with block size 4

dnnl_aBcdef4b

6D tensor blocked by 2nd dimension with block size 4

dnnl_abdfce

permuted 6D tensor

dnnl_abdefc

permuted 6D tensor

dnnl_format_tag_last

Just a sentinel, not real memory format tag.

Must be changed after new format tag is added.

dnnl_x

1D tensor, an alias to dnnl_a

dnnl_nc

2D CNN activations tensor, an alias to dnnl_ab

dnnl_cn

2D CNN activations tensor, an alias to dnnl_ba

dnnl_tn

2D RNN statistics tensor, an alias to dnnl_ab

dnnl_nt

2D RNN statistics tensor, an alias to dnnl_ba

dnnl_ncw

3D CNN activations tensor, an alias to dnnl_abc

dnnl_nwc

3D CNN activations tensor, an alias to dnnl_acb

dnnl_nchw

4D CNN activations tensor, an alias to dnnl_abcd

dnnl_nhwc

4D CNN activations tensor, an alias to dnnl_acdb

dnnl_chwn

4D CNN activations tensor, an alias to dnnl_bcda

dnnl_ncdhw

5D CNN activations tensor, an alias to dnnl_abcde

dnnl_ndhwc

5D CNN activations tensor, an alias to dnnl_acdeb

dnnl_oi

2D CNN weights tensor, an alias to dnnl_ab

dnnl_io

2D CNN weights tensor, an alias to dnnl_ba

dnnl_oiw

3D CNN weights tensor, an alias to dnnl_abc

dnnl_owi

3D CNN weights tensor, an alias to dnnl_acb

dnnl_wio

3D CNN weights tensor, an alias to dnnl_cba

dnnl_iwo

3D CNN weights tensor, an alias to dnnl_bca

dnnl_oihw

4D CNN weights tensor, an alias to dnnl_abcd

dnnl_hwio

4D CNN weights tensor, an alias to dnnl_cdba

dnnl_ohwi

4D CNN weights tensor, an alias to dnnl_acdb

dnnl_ihwo

4D CNN weights tensor, an alias to dnnl_bcda

dnnl_iohw

4D CNN weights tensor, an alias to dnnl_bacd

dnnl_oidhw

5D CNN weights tensor, an alias to dnnl_abcde

dnnl_iodhw

5D CNN weights tensor, an alias to dnnl_bacde

dnnl_dhwio

5D CNN weights tensor, an alias to dnnl_cdeba

dnnl_odhwi

5D CNN weights tensor, an alias to dnnl_acdeb

dnnl_idhwo

5D CNN weights tensor, an alias to dnnl_bcdea

dnnl_goiw

4D CNN weights tensor (incl. groups), an alias to dnnl_abcd

dnnl_gowi

4D CNN weights tensor (incl. groups), an alias to dnnl_abdc

dnnl_wigo

4D CNN weights tensor (incl. groups), an alias to dnnl_dcab

dnnl_goihw

5D CNN weights tensor (incl. groups), an alias to dnnl_abcde

dnnl_gohwi

5D CNN weights tensor (incl. groups), an alias to dnnl_abdec

dnnl_hwigo

5D CNN weights tensor (incl. groups), an alias to dnnl_decab

dnnl_giohw

5D CNN weights tensor (incl. groups), an alias to dnnl_acbde

dnnl_goidhw

6D CNN weights tensor (incl. groups), an alias to dnnl_abcdef

dnnl_godhwi

6D CNN weights tensor (incl. groups), an alias to dnnl_abdefc

dnnl_giodhw

6D CNN weights tensor (incl. groups), an alias to dnnl_acbdef

dnnl_dhwigo

6D CNN weights tensor (incl. groups), an alias to dnnl_defcab

dnnl_tnc

3D RNN data tensor in the format (seq_length, batch, input channels), an alias to dnnl_abc.

dnnl_ntc

3D RNN data tensor in the format (batch, seq_length, input channels), an alias to dnnl_bac.

dnnl_ldnc

4D RNN states tensor in the format (num_layers, num_directions, batch, state channels), an alias to dnnl_abcd.

dnnl_ldigo

5D RNN weights tensor in the format (num_layers, num_directions, input_channels, num_gates, output_channels), an alias to dnnl_abcde.

  • For LSTM cells, the gates order is input, forget, candidate and output gate.

  • For GRU cells, the gates order is update, reset and output gate.

dnnl_ldgoi

5D RNN weights tensor in the format (num_layers, num_directions, num_gates, output_channels, input_channels), an alias to dnnl_abdec.

  • For LSTM cells, the gates order is input, forget, candidate and output gate.

  • For GRU cells, the gates order is update, reset and output gate.

dnnl_ldio

4D LSTM projection tensor in the format (num_layers, num_directions, num_channels_in_hidden_state, num_channels_in_recurrent_projection), an alias to dnnl_abcd.

dnnl_ldoi

4D LSTM projection tensor in the format (num_layers, num_directions, num_channels_in_recurrent_projection, num_channels_in_hidden_state), an alias to dnnl_abdc.

dnnl_ldgo

4D RNN bias tensor in the format (num_layers, num_directions, num_gates, output_channels), an alias to dnnl_abcd.

  • For LSTM cells, the gates order is input, forget, candidate and output gate.

  • For GRU cells, the gates order is update, reset and output gate.

dnnl_ldOi32o

5D LSTM projection tensor

dnnl_ldgOi32o

6D RNN weights tensor

dnnl_nCdhw32c

5D CNN activations tensor blocked by channels with block size 32, an alias to dnnl_aBcde32b

dnnl_nCdhw16c

5D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcde16b

dnnl_nCdhw4c

5D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcde4b

dnnl_nCdhw8c

5D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcde8b

dnnl_nChw32c

4D CNN activations tensor blocked by channels with block size 32, an alias to dnnl_aBcd32b

dnnl_nChw16c

4D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcd16b

dnnl_nChw4c

4D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcd4b

dnnl_nChw8c

4D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcd8b

dnnl_nCw32c

3D CNN activations tensor blocked by channels with block size 32, an alias to dnnl_aBc32b

dnnl_nCw16c

3D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBc16b

dnnl_nCw4c

3D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBc4b

dnnl_nCw8c

3D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBc8b