oneAPI Deep Neural Network Library (oneDNN)
Performance library for Deep Learning
1.8.0
dnnl_types.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright 2016-2020 Intel Corporation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *******************************************************************************/
16 
19 
20 #ifndef DNNL_TYPES_H
21 #define DNNL_TYPES_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
28 #include <stddef.h>
29 #include <stdint.h>
31 
34 
37 
39 typedef enum {
55 
57 
60 
62 typedef enum {
66  dnnl_f16 = 1,
68  dnnl_bf16 = 2,
70  dnnl_f32 = 3,
72  dnnl_s32 = 4,
74  dnnl_s8 = 5,
76  dnnl_u8 = 6,
78 
80 typedef enum {
95 
164 typedef enum {
170 
171  // Semantic agnostic section
172  // The physical order of dimensions is defined by the permutation of the
173  // characters, assuming that ab..z defines the natural order.
174 
175  // Plain formats
176 
190 
191  // Permuted plain formats
192 
222 
223  // Opaque blocked formats
224 
225  dnnl_Abc16a,
226  dnnl_ABc16a16b,
227  dnnl_ABc32a32b,
228  dnnl_ABc4a4b,
231  dnnl_ABc16b16a,
232  dnnl_ABc16b32a,
233  dnnl_ABc16b64a,
234  dnnl_Abc4a,
239  dnnl_ABc4b16a4b,
240  dnnl_ABc4b32a4b,
241  dnnl_ABc4b64a4b,
242  dnnl_ABc2b8a4b,
243  dnnl_ABc16b16a4b,
244  dnnl_ABc16b16a2b,
245  dnnl_ABc4b4a,
246  dnnl_ABc8a16b2a,
247  dnnl_ABc8b32a2b,
248  dnnl_ABc8b64a2b,
249  dnnl_ABc8a8b,
250  dnnl_ABc8a4b,
251  dnnl_AB16b16a,
252  dnnl_AB16b32a,
253  dnnl_AB16b64a,
254  dnnl_AB8b16a2b,
255  dnnl_AB8b32a2b,
256  dnnl_AB8b64a2b,
257  dnnl_AB4b16a4b,
258  dnnl_AB4b32a4b,
259  dnnl_AB4b64a4b,
260  dnnl_AB16b16a4b,
263  dnnl_ABc8b16a2b,
264  dnnl_BAc8a16b2a,
265  dnnl_ABc8b8a,
266  dnnl_Abcd16a,
267  dnnl_Abcd8a,
268  dnnl_ABcd16a16b,
269  dnnl_Abcd32a,
270  dnnl_ABcd32a32b,
273  dnnl_ABcd16b16a,
274  dnnl_ABcd16b32a,
275  dnnl_ABcd16b64a,
276  dnnl_aBCd16b16c,
277  dnnl_aBCd16c16b,
278  dnnl_Abcd4a,
283  dnnl_ABcd4b16a4b,
284  dnnl_ABcd4b32a4b,
285  dnnl_ABcd4b64a4b,
286  dnnl_ABcd16b16a4b,
287  dnnl_ABcd16b16a2b,
288  dnnl_ABcd4b4a,
289  dnnl_ABcd4a4b,
290  dnnl_aBCd2c4b2c,
291  dnnl_aBCd4b8c2b,
292  dnnl_aBCd4c16b4c,
293  dnnl_aBCd2c8b4c,
294  dnnl_aBCd16c16b4c,
295  dnnl_aBCd16c16b2c,
296  dnnl_aBCd4c4b,
297  dnnl_aBCd4b4c,
298  dnnl_ABcd8a16b2a,
299  dnnl_ABcd2b8a4b,
300  dnnl_ABcd8a8b,
301  dnnl_ABcd8a4b,
304  dnnl_aBCd4c8b2c,
305  dnnl_ABcd8b16a2b,
306  dnnl_ABcd8b32a2b,
307  dnnl_ABcd8b64a2b,
308  dnnl_aBCd8b16c2b,
309  dnnl_BAcd8a16b2a,
312  dnnl_aBCd8b8c,
313  dnnl_aBCd8b4c,
314  dnnl_aBCd8c16b2c,
315  dnnl_ABcde8a16b2a,
316  dnnl_aCBd8b16c2b,
317  dnnl_aBCd8c8b,
318  dnnl_Abcde16a,
319  dnnl_Abcde32a,
320  dnnl_ABcde16a16b,
321  dnnl_BAcde8a16b2a,
326  dnnl_ABcde4b32a4b,
327  dnnl_ABcde4b64a4b,
328  dnnl_ABcde16b16a4b,
333  dnnl_ABcde16b16a,
334  dnnl_ABcde16b32a,
335  dnnl_ABcde16b64a,
336  dnnl_aBCde16b16c,
337  dnnl_aBCde16c16b,
338  dnnl_aBCde2c8b4c,
339  dnnl_Abcde4a,
344  dnnl_ABcde4b4a,
345  dnnl_ABcde4a4b,
346  dnnl_aBCde4b4c,
347  dnnl_aBCde2c4b2c,
348  dnnl_aBCde4b8c2b,
349  dnnl_aBCde4c16b4c,
350  dnnl_aBCde16c16b4c,
351  dnnl_aBCde16c16b2c,
352  dnnl_aBCde4c4b,
353  dnnl_Abcde8a,
354  dnnl_ABcde8a8b,
355  dnnl_ABcde8a4b,
356  dnnl_BAcde16b16a,
359  dnnl_ABcde8b16a2b,
360  dnnl_ABcde8b32a2b,
361  dnnl_ABcde8b64a2b,
362  dnnl_aBCde8b16c2b,
363  dnnl_aBCde4c8b2c,
364  dnnl_aCBde8b16c2b,
365  dnnl_ABcde8b8a,
366  dnnl_ABcde32a32b,
367  dnnl_aBCde8b8c,
368  dnnl_aBCde8b4c,
369  dnnl_ABc4a8b8a4b,
370  dnnl_ABcd4a8b8a4b,
371  dnnl_ABcde4a8b8a4b,
372  dnnl_BAc4b8a8b4a,
373  dnnl_BAcd4b8a8b4a,
374  dnnl_BAcde4b8a8b4a,
375  dnnl_ABcd2a8b8a2b,
376  dnnl_aBCd4b8c8b4c,
377  dnnl_aBCde4b8c8b4c,
378  dnnl_aBCde2b8c8b2c,
379  dnnl_aBCde8c16b2c,
380  dnnl_aBCde8c8b,
385  dnnl_aBCdef16b16c,
386  dnnl_aBCdef16c16b,
387  dnnl_aBCdef4c16b4c,
390  dnnl_aBCdef4c8b2c,
395  dnnl_aBCdef4c4b,
396  dnnl_aBCdef4b4c,
397  dnnl_aBCdef2c4b2c,
398  dnnl_aBCdef4b8c2b,
399  dnnl_aBCdef8b8c,
400  dnnl_aBCdef8b4c,
401  dnnl_aBCdef8c16b2c,
402  dnnl_aBCdef4b8c8b4c,
403  dnnl_aBCdef8b16c2b,
404  dnnl_aCBdef8b16c2b,
405  dnnl_aBCdef8c8b,
406  dnnl_aBdc16b,
407  dnnl_aBdC16b2c,
408  dnnl_aBdC16b4c,
409  dnnl_aBdc4b,
410  dnnl_aBdc8b,
411  dnnl_aBdec16b,
412  dnnl_aBdeC16b2c,
413  dnnl_aBdeC16b4c,
414  dnnl_aBdec32b,
415  dnnl_aBdec4b,
416  dnnl_aBdec8b,
417  dnnl_aBdefc16b,
418  dnnl_aBdefC16b2c,
419  dnnl_aCBdef16c16b,
420  dnnl_aBdefc4b,
421  dnnl_aBdefc8b,
422  dnnl_Abcdef16a,
423  dnnl_Abcdef32a,
424  dnnl_aBedc16b,
425  dnnl_Acb16a,
426  dnnl_AcB16a2b,
427  dnnl_AcB16a4b,
428  dnnl_Acb4a,
429  dnnl_Acb8a,
430  dnnl_aCBd16b16c,
431  dnnl_aCBd16c16b,
432  dnnl_aCBde16b16c,
433  dnnl_aCBde16c16b,
434  dnnl_Acdb16a,
435  dnnl_AcdB16a2b,
436  dnnl_AcdB16a4b,
437  dnnl_Acdb32a,
438  dnnl_Acdb4a,
439  dnnl_Acdb8a,
440  dnnl_Acdeb16a,
441  dnnl_AcdeB16a2b,
442  dnnl_Acdeb4a,
443  dnnl_Acdeb8a,
444  dnnl_Adcb16a,
445  dnnl_BAc16a16b,
446  dnnl_BAc16b16a,
447  dnnl_BAcd16a16b,
448  dnnl_BAcd16b16a,
449  dnnl_aCBd4c8b8c4b,
450  dnnl_aCBde4c8b8c4b,
451  dnnl_aCBdef4c8b8c4b,
452  dnnl_BAcde16a16b,
453  dnnl_aCBdef16b16c,
454  dnnl_AB32a32b8a4b,
455  dnnl_AB8a4b,
456  dnnl_AB32a32b8a2b,
457  dnnl_AB8a2b,
458  dnnl_abDc32d,
459  dnnl_abDC32d4c,
460  dnnl_abdEc32e,
461  dnnl_abdEC32e2c,
462  dnnl_abdEC32e4c,
463 
467 
468  // Aliases
469 
494 
527 
544 
580  dnnl_ldOi32o = dnnl_abDc32d,
581  dnnl_ldOI32o4i = dnnl_abDC32d4c,
583  dnnl_ldgOi32o = dnnl_abdEc32e,
584  dnnl_ldgOI32o2i = dnnl_abdEC32e2c,
585  dnnl_ldgOI32o4i = dnnl_abdEC32e4c,
586 
587  // Opaque data types, are not to be used explicitly
588 
589  // data
626  dnnl_NCw16n16c = dnnl_ABc16a16b,
627  dnnl_NCdhw16n16c = dnnl_ABcde16a16b,
628  dnnl_NChw16n16c = dnnl_ABcd16a16b,
629  dnnl_NCw32n32c = dnnl_ABc32a32b,
630  dnnl_NChw32n32c = dnnl_ABcd32a32b,
631  dnnl_NCdhw32n32c = dnnl_ABcde32a32b,
632 
633  // weights, 2D
634  dnnl_OI16i16o = dnnl_AB16b16a,
635  dnnl_OI16i32o = dnnl_AB16b32a,
636  dnnl_OI16i64o = dnnl_AB16b64a,
637  dnnl_OI8i16o2i = dnnl_AB8b16a2b,
638  dnnl_OI8i32o2i = dnnl_AB8b32a2b,
639  dnnl_OI8i64o2i = dnnl_AB8b64a2b,
640  dnnl_OI4i16o4i = dnnl_AB4b16a4b,
641  dnnl_OI4i32o4i = dnnl_AB4b32a4b,
642  dnnl_OI4i64o4i = dnnl_AB4b64a4b,
643  dnnl_OI16i16o4i = dnnl_AB16b16a4b,
644  // weights, 3D
645  dnnl_IOw16o16i = dnnl_BAc16a16b,
646  dnnl_IOw16i16o = dnnl_BAc16b16a,
647  dnnl_OIw16i16o = dnnl_ABc16b16a,
648  dnnl_OIw16i32o = dnnl_ABc16b32a,
649  dnnl_OIw16i64o = dnnl_ABc16b64a,
650  dnnl_OIw16o16i = dnnl_ABc16a16b,
651  dnnl_Oiw16o = dnnl_Abc16a,
652  dnnl_OIw4i16o4i = dnnl_ABc4b16a4b,
653  dnnl_OIw4i32o4i = dnnl_ABc4b32a4b,
654  dnnl_OIw4i64o4i = dnnl_ABc4b64a4b,
655  dnnl_OIw2i8o4i = dnnl_ABc2b8a4b,
656  dnnl_OIw16i16o4i = dnnl_ABc16b16a4b,
657  dnnl_OIw16i16o2i = dnnl_ABc16b16a2b,
658  dnnl_OIw4i4o = dnnl_ABc4b4a,
659  dnnl_OIw4o4i = dnnl_ABc4a4b,
660  dnnl_Oiw4o = dnnl_Abc4a,
661  dnnl_OIw8i16o2i = dnnl_ABc8b16a2b,
662  dnnl_OIw8i32o2i = dnnl_ABc8b32a2b,
663  dnnl_OIw8i64o2i = dnnl_ABc8b64a2b,
664  dnnl_OIw8i8o = dnnl_ABc8b8a,
665  dnnl_OIw8o16i2o = dnnl_ABc8a16b2a,
666  dnnl_IOw8o16i2o = dnnl_BAc8a16b2a,
667  dnnl_OIw8o8i = dnnl_ABc8a8b,
668  dnnl_OIw8o4i = dnnl_ABc8a4b,
669  dnnl_Owi16o = dnnl_Acb16a,
670  dnnl_OwI16o2i = dnnl_AcB16a2b,
671  dnnl_OwI16o4i = dnnl_AcB16a4b,
672  dnnl_Owi4o = dnnl_Acb4a,
673  dnnl_Owi8o = dnnl_Acb8a,
674 
675  // weights, 4D
676  dnnl_IOhw16i16o = dnnl_BAcd16b16a,
677  dnnl_IOhw16o16i = dnnl_BAcd16a16b,
678  dnnl_Ohwi16o = dnnl_Acdb16a,
679  dnnl_OhwI16o2i = dnnl_AcdB16a2b,
680  dnnl_OhwI16o4i = dnnl_AcdB16a4b,
681  dnnl_Ohwi32o = dnnl_Acdb32a,
682  dnnl_Ohwi4o = dnnl_Acdb4a,
683  dnnl_Ohwi8o = dnnl_Acdb8a,
684  dnnl_OIhw16i16o = dnnl_ABcd16b16a,
685  dnnl_OIhw16i32o = dnnl_ABcd16b32a,
686  dnnl_OIhw16i64o = dnnl_ABcd16b64a,
687  dnnl_OIhw16o16i = dnnl_ABcd16a16b,
688  dnnl_Oihw16o = dnnl_Abcd16a,
689  dnnl_OIhw4i16o4i = dnnl_ABcd4b16a4b,
690  dnnl_OIhw4i32o4i = dnnl_ABcd4b32a4b,
691  dnnl_OIhw4i64o4i = dnnl_ABcd4b64a4b,
692  dnnl_OIhw16i16o4i = dnnl_ABcd16b16a4b,
693  dnnl_OIhw16i16o2i = dnnl_ABcd16b16a2b,
694  dnnl_OIhw4i4o = dnnl_ABcd4b4a,
695  dnnl_OIhw4o4i = dnnl_ABcd4a4b,
696  dnnl_Oihw4o = dnnl_Abcd4a,
697  dnnl_OIhw8i16o2i = dnnl_ABcd8b16a2b,
698  dnnl_OIhw8i32o2i = dnnl_ABcd8b32a2b,
699  dnnl_OIhw8i64o2i = dnnl_ABcd8b64a2b,
700  dnnl_OIhw8i8o = dnnl_ABcd8b8a,
701  dnnl_OIhw8o16i2o = dnnl_ABcd8a16b2a,
702  dnnl_OIhw2i8o4i = dnnl_ABcd2b8a4b,
703  dnnl_IOhw8o16i2o = dnnl_BAcd8a16b2a,
704  dnnl_OIhw8o8i = dnnl_ABcd8a8b,
705  dnnl_OIhw8o4i = dnnl_ABcd8a4b,
706  dnnl_Owhi16o = dnnl_Adcb16a,
707 
708  // weights, 5D
709  dnnl_Odhwi16o = dnnl_Acdeb16a,
710  dnnl_OdhwI16o2i = dnnl_AcdeB16a2b,
711  dnnl_Odhwi4o = dnnl_Acdeb4a,
712  dnnl_Odhwi8o = dnnl_Acdeb8a,
713  dnnl_OIdhw16i16o = dnnl_ABcde16b16a,
714  dnnl_OIdhw16i32o = dnnl_ABcde16b32a,
715  dnnl_OIdhw16i64o = dnnl_ABcde16b64a,
716  dnnl_OIdhw16o16i = dnnl_ABcde16a16b,
717  dnnl_Oidhw16o = dnnl_Abcde16a,
718  dnnl_OIdhw4i4o = dnnl_ABcde4b4a,
719  dnnl_OIdhw4o4i = dnnl_ABcde4a4b,
720  dnnl_Oidhw4o = dnnl_Abcde4a,
721  dnnl_OIdhw8i16o2i = dnnl_ABcde8b16a2b,
722  dnnl_OIdhw8i32o2i = dnnl_ABcde8b32a2b,
723  dnnl_OIdhw8i64o2i = dnnl_ABcde8b64a2b,
724  dnnl_OIdhw8i8o = dnnl_ABcde8b8a,
725  dnnl_OIdhw8o16i2o = dnnl_ABcde8a16b2a,
726  dnnl_IOdhw8o16i2o = dnnl_BAcde8a16b2a,
727  dnnl_OIdhw4i16o4i = dnnl_ABcde4b16a4b,
728  dnnl_OIdhw4i32o4i = dnnl_ABcde4b32a4b,
729  dnnl_OIdhw4i64o4i = dnnl_ABcde4b64a4b,
730  dnnl_OIdhw16i16o4i = dnnl_ABcde16b16a4b,
731  dnnl_OIdhw2i8o4i = dnnl_ABcde2b8a4b,
732  dnnl_OIdhw8o8i = dnnl_ABcde8a8b,
733  dnnl_OIdhw8o4i = dnnl_ABcde8a4b,
734  dnnl_IOdhw16i16o = dnnl_BAcde16b16a,
735  dnnl_OIdhw4o8i8o4i = dnnl_ABcde4a8b8a4b,
736  dnnl_IOdhw16o16i = dnnl_BAcde16a16b,
737 
738  // weights w/ groups, 3D
739  dnnl_Goiw16g = dnnl_Abcd16a,
740  dnnl_Goiw8g = dnnl_Abcd8a,
741  dnnl_Goiw4g = dnnl_Abcd4a,
742  dnnl_gIOw16o16i = dnnl_aCBd16b16c,
743  dnnl_gIOw16i16o = dnnl_aCBd16c16b,
744  dnnl_gOIw16i16o = dnnl_aBCd16c16b,
745  dnnl_gOIw16o16i = dnnl_aBCd16b16c,
746  dnnl_gOiw16o = dnnl_aBcd16b,
747  dnnl_gOIw4i16o4i = dnnl_aBCd4c16b4c,
748  dnnl_gOIw2i8o4i = dnnl_aBCd2c8b4c,
749  dnnl_gOIw16i16o4i = dnnl_aBCd16c16b4c,
750  dnnl_gOIw16i16o2i = dnnl_aBCd16c16b2c,
751  dnnl_gOIw4i4o = dnnl_aBCd4c4b,
752  dnnl_gOIw4o4i = dnnl_aBCd4b4c,
753  dnnl_gOiw4o = dnnl_aBcd4b,
754  dnnl_gOIw8i16o2i = dnnl_aBCd8c16b2c,
755  dnnl_gOIw8i8o = dnnl_aBCd8c8b,
756  dnnl_gOIw8o16i2o = dnnl_aBCd8b16c2b,
757  dnnl_gIOw8o16i2o = dnnl_aCBd8b16c2b,
758  dnnl_gOIw8o8i = dnnl_aBCd8b8c,
759  dnnl_gOIw8o4i = dnnl_aBCd8b4c,
760  dnnl_gOwi16o = dnnl_aBdc16b,
761  dnnl_gOwI16o2i = dnnl_aBdC16b2c,
762  dnnl_gOwI16o4i = dnnl_aBdC16b4c,
763  dnnl_gOwi4o = dnnl_aBdc4b,
764  dnnl_gOwi8o = dnnl_aBdc8b,
765  dnnl_Goiw32g = dnnl_Abcd32a,
766  dnnl_gOIw2i4o2i = dnnl_aBCd2c4b2c,
767  dnnl_gOIw2o4i2o = dnnl_aBCd2b4c2b,
768  dnnl_gOIw4i8o2i = dnnl_aBCd4c8b2c,
769  dnnl_gOIw4o8i2o = dnnl_aBCd4b8c2b,
770 
771  // weights w/ groups, 4D
772  dnnl_gIOhw16i16o = dnnl_aCBde16c16b,
773  dnnl_gIOhw16o16i = dnnl_aCBde16b16c,
774  dnnl_gOhwi16o = dnnl_aBdec16b,
775  dnnl_gOhwI16o2i = dnnl_aBdeC16b2c,
776  dnnl_gOhwI16o4i = dnnl_aBdeC16b4c,
777  dnnl_gOhwi32o = dnnl_aBdec32b,
778  dnnl_gOhwi4o = dnnl_aBdec4b,
779  dnnl_gOhwi8o = dnnl_aBdec8b,
780  dnnl_Goihw16g = dnnl_Abcde16a,
781  dnnl_gOIhw16i16o = dnnl_aBCde16c16b,
782  dnnl_gOIhw16o16i = dnnl_aBCde16b16c,
783  dnnl_gOihw16o = dnnl_aBcde16b,
784  dnnl_gOIhw2i8o4i = dnnl_aBCde2c8b4c,
785  dnnl_gOIhw4i16o4i = dnnl_aBCde4c16b4c,
786  dnnl_gOIhw16i16o4i = dnnl_aBCde16c16b4c,
787  dnnl_gOIhw16i16o2i = dnnl_aBCde16c16b2c,
788  dnnl_gOIhw4i4o = dnnl_aBCde4c4b,
789  dnnl_gOIhw4o4i = dnnl_aBCde4b4c,
790  dnnl_gOihw4o = dnnl_aBcde4b,
791  dnnl_Goihw8g = dnnl_Abcde8a,
792  dnnl_Goihw4g = dnnl_Abcde4a,
793  dnnl_gOIhw8i16o2i = dnnl_aBCde8c16b2c,
794  dnnl_gOIhw8i8o = dnnl_aBCde8c8b,
795  dnnl_gOIhw8o16i2o = dnnl_aBCde8b16c2b,
796  dnnl_gIOhw8o16i2o = dnnl_aCBde8b16c2b,
797  dnnl_gOIhw8o8i = dnnl_aBCde8b8c,
798  dnnl_gOIhw8o4i = dnnl_aBCde8b4c,
799  dnnl_Goihw32g = dnnl_Abcde32a,
800  dnnl_gOwhi16o = dnnl_aBedc16b,
801 
802  dnnl_OIw4o8i8o4i = dnnl_ABc4a8b8a4b,
803  dnnl_OIhw4o8i8o4i = dnnl_ABcd4a8b8a4b,
804  dnnl_IOw4i8o8i4o = dnnl_BAc4b8a8b4a,
805  dnnl_IOhw4i8o8i4o = dnnl_BAcd4b8a8b4a,
806  dnnl_IOdhw4i8o8i4o = dnnl_BAcde4b8a8b4a,
807 
808  dnnl_OIhw2o8i8o2i = dnnl_ABcd2a8b8a2b,
809  dnnl_gOIw4o8i8o4i = dnnl_aBCd4b8c8b4c,
810  dnnl_gOIhw4o8i8o4i = dnnl_aBCde4b8c8b4c,
811  dnnl_gOIdhw4o8i8o4i = dnnl_aBCdef4b8c8b4c,
812  dnnl_gIOw4i8o8i4o = dnnl_aCBd4c8b8c4b,
813  dnnl_gIOhw4i8o8i4o = dnnl_aCBde4c8b8c4b,
814  dnnl_gIOdhw4i8o8i4o = dnnl_aCBdef4c8b8c4b,
815  dnnl_gOIhw2o8i8o2i = dnnl_aBCde2b8c8b2c,
816  dnnl_gOIhw2i4o2i = dnnl_aBCde2c4b2c,
817  dnnl_gOIhw2o4i2o = dnnl_aBCde2b4c2b,
818  dnnl_gOIhw4i8o2i = dnnl_aBCde4c8b2c,
819  dnnl_gOIhw4o8i2o = dnnl_aBCde4b8c2b,
820 
821  // weights w/ groups, 6D
822  dnnl_gIOdhw16i16o = dnnl_aCBdef16c16b,
823  dnnl_gIOdhw16o16i = dnnl_aCBdef16b16c,
824  dnnl_gOdhwi16o = dnnl_aBdefc16b,
825  dnnl_gOdhwI16o2i = dnnl_aBdefC16b2c,
826  dnnl_gOdhwi4o = dnnl_aBdefc4b,
827  dnnl_gOdhwi8o = dnnl_aBdefc8b,
828  dnnl_gOIdhw16i16o = dnnl_aBCdef16c16b,
829  dnnl_gOIdhw4i16o4i = dnnl_aBCdef4c16b4c,
830  dnnl_gOIdhw2i8o4i = dnnl_aBCdef2c8b4c,
831  dnnl_gOIdhw16o16i = dnnl_aBCdef16b16c,
832  dnnl_gOidhw16o = dnnl_aBcdef16b,
833  dnnl_gOIdhw4i4o = dnnl_aBCdef4c4b,
834  dnnl_gOIdhw4o4i = dnnl_aBCdef4b4c,
835  dnnl_gOidhw4o = dnnl_aBcdef4b,
836  dnnl_gOIdhw8i16o2i = dnnl_aBCdef8c16b2c,
837  dnnl_gOIdhw8i8o = dnnl_aBCdef8c8b,
838  dnnl_gOIdhw8o16i2o = dnnl_aBCdef8b16c2b,
839  dnnl_gIOdhw8o16i2o = dnnl_aCBdef8b16c2b,
840  dnnl_gOIdhw8o8i = dnnl_aBCdef8b8c,
841  dnnl_gOIdhw8o4i = dnnl_aBCdef8b4c,
842  dnnl_Goidhw16g = dnnl_Abcdef16a,
843  dnnl_Goidhw32g = dnnl_Abcdef32a,
844  dnnl_gOIdhw2i4o2i = dnnl_aBCdef2c4b2c,
845  dnnl_gOIdhw4i8o2i = dnnl_aBCdef4c8b2c,
846  dnnl_gOIdhw2o4i2o = dnnl_aBCdef2b4c2b,
847  dnnl_gOIdhw4o8i2o = dnnl_aBCdef4b8c2b,
849 
851 
856 
858 typedef enum {
859  // TODO: suggest renames
882 
885 typedef enum {
932 
937 
939 typedef enum {
940  dnnl_alg_kind_undef,
1035  dnnl_lbr_gru = 0x4fff,
1037  dnnl_binary_add = 0x1fff0,
1039  dnnl_binary_mul = 0x1fff1,
1041  dnnl_binary_max = 0x1fff2,
1043  dnnl_binary_min = 0x1fff3,
1045  dnnl_binary_div = 0x1fff4,
1047  dnnl_binary_sub = 0x1fff5,
1070 } dnnl_alg_kind_t;
1071 
1073 typedef enum {
1083 
1096 
1109 
1123 
1126 
1129 
1133 #define DNNL_MAX_NDIMS 12
1134 
1137 #define DNNL_RUNTIME_DIM_VAL INT64_MIN
1138 
1142 #define DNNL_RUNTIME_SIZE_VAL ((size_t)DNNL_RUNTIME_DIM_VAL)
1143 
1146 static const union {
1147  unsigned u;
1148  float f;
1149 } DNNL_RUNTIME_F32_VAL_REP = {0x7fc000d0};
1151 
1154 #define DNNL_RUNTIME_F32_VAL (DNNL_RUNTIME_F32_VAL_REP.f)
1155 
1157 static const int DNNL_RUNTIME_S32_VAL_REP = INT32_MIN;
1159 
1162 #define DNNL_RUNTIME_S32_VAL DNNL_RUNTIME_S32_VAL_REP
1163 
1165 typedef int64_t dnnl_dim_t;
1166 
1169 
1173 typedef struct {
1177  // Innermost section
1178  // ASSUMPTION: the innermost blocks are always dense
1187 
1189 typedef enum {
1192  // Tensors of weights for 2x3 winograd convolutions.
1196  // Tensor of weights for 4x3 convolution.
1199 
1201 typedef struct {
1202  dnnl_wino_memory_format_t wino_format;
1203  int r;
1204  int alpha;
1205  int ic;
1206  int oc;
1207  int ic_block;
1208  int oc_block;
1209  int ic2_block;
1210  int oc2_block;
1211  float adj_scale;
1212  size_t size;
1214 
1215 typedef enum {
1216  dnnl_packed_format_undef = 0,
1217  dnnl_ldigo_p,
1218  dnnl_ldgoi_p,
1219  dnnl_ldio_p
1220 } dnnl_rnn_packed_memory_format_t;
1221 
1224 #define DNNL_RNN_MAX_N_PARTS 4
1225 
1227 typedef struct {
1228  dnnl_rnn_packed_memory_format_t format;
1229  int n_parts;
1230  int n;
1231  int ldb;
1232  int parts[DNNL_RNN_MAX_N_PARTS];
1233  size_t part_pack_size[DNNL_RNN_MAX_N_PARTS];
1234  unsigned pack_part[DNNL_RNN_MAX_N_PARTS];
1235  size_t offset_compensation;
1236  size_t size;
1237  char reserved[200];
1239 
1241 typedef enum {
1242  dnnl_memory_extra_flag_none = 0x0U,
1251  dnnl_memory_extra_flag_scale_adjust = 0x2U,
1252  dnnl_memory_extra_flag_rnn_u8s8_compensation = 0x4U,
1253  dnnl_memory_extra_flag_gpu_rnn_u8s8_compensation
1254  = dnnl_memory_extra_flag_rnn_u8s8_compensation,
1255  dnnl_memory_extra_flag_compensation_conv_asymmetric_src = 0x8U,
1257 
1259 typedef struct {
1262  uint64_t flags;
1270  char reserved[60];
1272 
1277 typedef struct {
1279  int ndims;
1295 
1298 
1301 
1305 
1309 
1312  union {
1320  // ... other descriptions possible
1321  } format_desc;
1322 
1325 
1328 struct dnnl_memory;
1329 
1331 typedef struct dnnl_memory *dnnl_memory_t;
1332 
1334 typedef const struct dnnl_memory *const_dnnl_memory_t;
1335 
1338 #define DNNL_MEMORY_NONE (NULL)
1339 
1342 #define DNNL_MEMORY_ALLOCATE ((void *)(size_t)-1)
1343 
1345 
1350 
1352 typedef void *dnnl_op_desc_t;
1354 typedef const void *const_dnnl_op_desc_t;
1355 
1358 
1361 
1364 
1366 typedef struct {
1400  dnnl_dims_t padding[2];
1404 
1406 
1409 
1412 
1414 
1417 
1419 typedef struct {
1430  int axis;
1434 
1436 
1439 
1441 typedef struct {
1489  float alpha, beta;
1491 
1493 
1496 
1498 typedef struct {
1512 
1514 
1517 
1521 
1523 
1526 
1528 typedef struct {
1555  dnnl_dims_t padding[2];
1559 
1561 
1564 
1566 typedef struct {
1593  dnnl_dims_t padding[2];
1599 
1601 
1604 typedef struct {
1607  dnnl_primitive_kind_t primitive_kind;
1612  dnnl_memory_desc_t data_desc;
1615  dnnl_memory_desc_t weights_desc;
1617  dnnl_memory_desc_t diff_data_desc;
1619  dnnl_memory_desc_t diff_weights_desc;
1620 } dnnl_prelu_desc_t;
1621 
1623 
1626 
1628 typedef struct {
1646  float lrn_alpha;
1648  float lrn_beta;
1650  float lrn_k;
1651 } dnnl_lrn_desc_t;
1652 
1654 
1657 
1659 typedef struct {
1676  dnnl_memory_desc_t diff_data_scaleshift_desc;
1683  unsigned flags;
1685 
1687 
1690 
1692 typedef struct {
1711  dnnl_memory_desc_t diff_data_scaleshift_desc;
1720  unsigned flags;
1722 
1724 
1727 
1729 typedef struct {
1756 
1758 
1761 
1763 typedef enum {
1765  dnnl_rnn_flags_undef = 0x0
1767 
1769 typedef enum {
1783 
1785 typedef struct {
1823 
1850 
1852  unsigned int flags;
1856  float alpha;
1857  float beta;
1858 
1859 } dnnl_rnn_desc_t;
1860 
1862 
1865 
1867 typedef struct {
1876  dnnl_memory_desc_t src_desc[2];
1880 
1882 
1885 
1893 typedef struct {
1908 
1910 
1913 
1915 typedef struct {
1934  float factors[DNNL_MAX_NDIMS];
1936 
1938 
1941 
1943 typedef struct {
1968  float p, eps;
1970 
1972 
1974 
1977 
1979 typedef enum {
1987 
1990 struct dnnl_engine;
1992 typedef struct dnnl_engine *dnnl_engine_t;
1993 #if 0
1994 // FIXME: looks like this never happens
1996 typedef const struct dnnl_engine *const_dnnl_engine_t;
1997 #endif
1998 
2000 
2005 
2009 
2012 
2014 typedef const struct dnnl_primitive_desc_iterator
2016 
2019 struct dnnl_primitive_desc;
2020 
2023 
2026 
2028 
2031 
2033 typedef enum {
2057 
2063 struct dnnl_primitive_attr;
2064 
2068 
2071 
2090 struct dnnl_post_ops;
2091 
2094 
2096 typedef const struct dnnl_post_ops *const_dnnl_post_ops_t;
2097 
2099 
2102 
2105 struct dnnl_primitive;
2110 
2112 #define DNNL_ARG_SRC_0 1
2113 #define DNNL_ARG_SRC DNNL_ARG_SRC_0
2116 #define DNNL_ARG_SRC_LAYER DNNL_ARG_SRC_0
2119 #define DNNL_ARG_FROM DNNL_ARG_SRC_0
2122 
2124 #define DNNL_ARG_SRC_1 2
2125 #define DNNL_ARG_SRC_ITER DNNL_ARG_SRC_1
2128 
2130 #define DNNL_ARG_SRC_2 3
2131 #define DNNL_ARG_SRC_ITER_C DNNL_ARG_SRC_2
2134 
2136 #define DNNL_ARG_DST_0 17
2137 #define DNNL_ARG_DST DNNL_ARG_DST_0
2140 #define DNNL_ARG_TO DNNL_ARG_DST_0
2143 #define DNNL_ARG_DST_LAYER DNNL_ARG_DST_0
2145 
2147 #define DNNL_ARG_DST_1 18
2148 #define DNNL_ARG_DST_ITER DNNL_ARG_DST_1
2151 
2153 #define DNNL_ARG_DST_2 19
2154 #define DNNL_ARG_DST_ITER_C DNNL_ARG_DST_2
2157 
2159 #define DNNL_ARG_WEIGHTS_0 33
2160 #define DNNL_ARG_WEIGHTS DNNL_ARG_WEIGHTS_0
2163 #define DNNL_ARG_SCALE_SHIFT DNNL_ARG_WEIGHTS_0
2166 #define DNNL_ARG_WEIGHTS_LAYER DNNL_ARG_WEIGHTS_0
2169 
2171 #define DNNL_ARG_WEIGHTS_1 34
2172 #define DNNL_ARG_WEIGHTS_ITER DNNL_ARG_WEIGHTS_1
2175 
2177 #define DNNL_ARG_WEIGHTS_2 35
2178 #define DNNL_ARG_WEIGHTS_PEEPHOLE DNNL_ARG_WEIGHTS_2
2181 
2183 #define DNNL_ARG_WEIGHTS_3 36
2184 #define DNNL_ARG_WEIGHTS_PROJECTION DNNL_ARG_WEIGHTS_3
2187 
2189 #define DNNL_ARG_BIAS 41
2190 
2192 #define DNNL_ARG_MEAN 49
2193 #define DNNL_ARG_VARIANCE 50
2195 
2198 #define DNNL_ARG_WORKSPACE 64
2199 #define DNNL_ARG_SCRATCHPAD 80
2201 
2203 #define DNNL_ARG_DIFF_SRC_0 129
2204 #define DNNL_ARG_DIFF_SRC DNNL_ARG_DIFF_SRC_0
2207 #define DNNL_ARG_DIFF_SRC_LAYER DNNL_ARG_DIFF_SRC_0
2210 
2212 #define DNNL_ARG_DIFF_SRC_1 130
2213 #define DNNL_ARG_DIFF_SRC_ITER DNNL_ARG_DIFF_SRC_1
2216 
2218 #define DNNL_ARG_DIFF_SRC_2 131
2219 #define DNNL_ARG_DIFF_SRC_ITER_C DNNL_ARG_DIFF_SRC_2
2222 
2224 #define DNNL_ARG_DIFF_DST_0 145
2225 #define DNNL_ARG_DIFF_DST DNNL_ARG_DIFF_DST_0
2228 #define DNNL_ARG_DIFF_DST_LAYER DNNL_ARG_DIFF_DST_0
2231 
2233 #define DNNL_ARG_DIFF_DST_1 146
2234 #define DNNL_ARG_DIFF_DST_ITER DNNL_ARG_DIFF_DST_1
2237 
2239 #define DNNL_ARG_DIFF_DST_2 147
2240 #define DNNL_ARG_DIFF_DST_ITER_C DNNL_ARG_DIFF_DST_2
2243 
2245 #define DNNL_ARG_DIFF_WEIGHTS_0 161
2246 #define DNNL_ARG_DIFF_WEIGHTS DNNL_ARG_DIFF_WEIGHTS_0
2249 #define DNNL_ARG_DIFF_SCALE_SHIFT DNNL_ARG_DIFF_WEIGHTS_0
2252 #define DNNL_ARG_DIFF_WEIGHTS_LAYER DNNL_ARG_DIFF_WEIGHTS_0
2255 
2257 #define DNNL_ARG_DIFF_WEIGHTS_1 162
2258 #define DNNL_ARG_DIFF_WEIGHTS_ITER DNNL_ARG_DIFF_WEIGHTS_1
2261 
2263 #define DNNL_ARG_DIFF_WEIGHTS_2 163
2264 #define DNNL_ARG_DIFF_WEIGHTS_PEEPHOLE DNNL_ARG_DIFF_WEIGHTS_2
2267 
2269 #define DNNL_ARG_DIFF_WEIGHTS_3 164
2270 #define DNNL_ARG_DIFF_WEIGHTS_PROJECTION DNNL_ARG_DIFF_WEIGHTS_3
2273 
2275 #define DNNL_ARG_DIFF_BIAS 169
2276 
2278 #define DNNL_ARG_ATTR_OUTPUT_SCALES 513
2279 
2282 #define DNNL_ARG_MULTIPLE_SRC 1024
2283 #define DNNL_ARG_MULTIPLE_DST 2048
2286 
2288 #define DNNL_ARG_ATTR_ZERO_POINTS 4096
2289 
2292 #define DNNL_ARG_ATTR_POST_OP_DW 8192
2293 
2295 #define DNNL_ARG_ATTR_MULTIPLE_POST_OP_BASE 16384
2296 
2299 #define DNNL_ARG_ATTR_MULTIPLE_POST_OP(idx) \
2300  (DNNL_ARG_ATTR_MULTIPLE_POST_OP_BASE * ((idx) + 1))
2301 
2302 // XXX: next define should have a (1 << 20) = 1048576 value to preserve 5 bits
2303 // for DNNL_ARG_ATTR_MULTIPLE_POST_OP argument.
2304 
2307 typedef struct {
2308  int arg;
2310 } dnnl_exec_arg_t;
2311 
2313 
2316 
2346 typedef enum {
2348 
2351 
2354 
2357 
2362 
2365 
2368 
2370 
2371  // memory and op descriptor section
2393 
2394  // memory descriptor section
2405 
2406  // Max value to prevent UB for internal use only dnnl_query_t
2407  dnnl_query_max = 0x7fff,
2408 } dnnl_query_t;
2409 
2411 
2413 
2416 
2418 typedef enum {
2429 
2432 struct dnnl_stream;
2434 typedef struct dnnl_stream *dnnl_stream_t;
2436 typedef const struct dnnl_stream *const_dnnl_stream_t;
2437 
2439 struct dnnl_stream_attr;
2441 typedef struct dnnl_stream_attr *dnnl_stream_attr_t;
2443 typedef const struct dnnl_stream_attr *const_dnnl_stream_attr_t;
2444 
2446 
2449 
2451 #define DNNL_RUNTIME_NONE 0u
2452 
2454 #define DNNL_RUNTIME_SEQ 1u
2455 
2457 #define DNNL_RUNTIME_OMP 2u
2458 
2460 #define DNNL_RUNTIME_TBB 4u
2461 
2463 #define DNNL_RUNTIME_THREADPOOL 8u
2464 
2466 #define DNNL_RUNTIME_OCL 256u
2467 
2470 typedef struct {
2471  int major;
2472  int minor;
2473  int patch;
2474  const char *hash;
2475  unsigned cpu_runtime;
2476  unsigned gpu_runtime;
2477 } dnnl_version_t;
2478 
2480 #define DNNL_JIT_PROFILE_NONE 0u
2481 
2483 #define DNNL_JIT_PROFILE_VTUNE 1u
2484 
2486 #define DNNL_JIT_PROFILE_LINUX_PERFMAP 2u
2487 
2489 #define DNNL_JIT_PROFILE_LINUX_JITDUMP 4u
2490 
2493 #define DNNL_JIT_PROFILE_LINUX_JITDUMP_USE_TSC 8u
2494 
2496 #define DNNL_JIT_PROFILE_LINUX_PERF \
2497  (DNNL_JIT_PROFILE_LINUX_JITDUMP | DNNL_JIT_PROFILE_LINUX_PERFMAP)
2498 
2500 typedef enum {
2503 
2506 
2509 
2512 
2516 
2520 
2524 
2529 
2534 
2539 
2542 
2543 } dnnl_cpu_isa_t;
2544 
2546 
2548 
2549 #ifdef __cplusplus
2550 }
2551 #endif
2552 
2553 #endif
dnnl_lrn_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1634
dnnl_query_time_estimate_f64
@ dnnl_query_time_estimate_f64
runtime estimation (seconds)
Definition: dnnl_types.h:2355
dnnl_query_reorder_dst_engine
@ dnnl_query_reorder_dst_engine
destination engine
Definition: dnnl_types.h:2367
dnnl_pooling_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1531
dnnl_rnn_desc_t::bias_desc
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:1808
dnnl_aBcdef4b
@ dnnl_aBcdef4b
6D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:394
dnnl_dhwigo
@ dnnl_dhwigo
6D CNN weights tensor (incl. groups), an alias to dnnl_defcab
Definition: dnnl_types.h:543
dnnl_convolution_desc_t::src_desc
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:1378
dnnl_scratchpad_mode_library
@ dnnl_scratchpad_mode_library
The library manages the scratchpad allocation according to the policy specified by the DNNL_ENABLE_CO...
Definition: dnnl_types.h:2050
dnnl_goidhw
@ dnnl_goidhw
6D CNN weights tensor (incl. groups), an alias to dnnl_abcdef
Definition: dnnl_types.h:539
dnnl_wino_wei_aaOIoi
@ dnnl_wino_wei_aaOIoi
Internal weights format for 2x3 Winograd.
Definition: dnnl_types.h:1193
dnnl_stream_attr_t
struct dnnl_stream_attr * dnnl_stream_attr_t
An execution stream attributes handle.
Definition: dnnl_types.h:2441
dnnl_io
@ dnnl_io
2D CNN weights tensor, an alias to dnnl_ba
Definition: dnnl_types.h:498
dnnl_convolution_desc_t::strides
dnnl_dims_t strides
Convolution strides in each spatial dimension.
Definition: dnnl_types.h:1394
dnnl_nc
@ dnnl_nc
2D CNN activations tensor, an alias to dnnl_ab
Definition: dnnl_types.h:473
dnnl_eltwise_desc_t::data_desc
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1464
dnnl_resampling_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1918
dnnl_s32
@ dnnl_s32
32-bit signed integer.
Definition: dnnl_types.h:72
dnnl_x
@ dnnl_x
1D tensor, an alias to dnnl_a
Definition: dnnl_types.h:471
dnnl_eltwise_round
@ dnnl_eltwise_round
Eltwise: round.
Definition: dnnl_types.h:993
dnnl_batch_normalization_desc_t::data_desc
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1667
dnnl_rnn_packed_desc_t
Description of tensor of packed weights for rnn.
Definition: dnnl_types.h:1227
dnnl_eltwise_relu_use_dst_for_bwd
@ dnnl_eltwise_relu_use_dst_for_bwd
Eltwise: ReLU (dst for backward)
Definition: dnnl_types.h:997
dnnl_layer_normalization_desc_t::layer_norm_epsilon
float layer_norm_epsilon
Layer normalization epsilon parameter.
Definition: dnnl_types.h:1719
dnnl_inner_product_desc_t::diff_weights_desc
dnnl_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: dnnl_types.h:1744
dnnl_query_pooling_d
@ dnnl_query_pooling_d
pooling descriptor
Definition: dnnl_types.h:2379
dnnl_ABcde2b8a4b
@ dnnl_ABcde2b8a4b
5D tensor blocked by 1st dimension with block size 8
Definition: dnnl_types.h:330
dnnl_wino_wei_aaOio
@ dnnl_wino_wei_aaOio
Internal weights format for 2x3 Winograd.
Definition: dnnl_types.h:1194
dnnl_convolution_desc_t::alg_kind
dnnl_alg_kind_t alg_kind
The kind of the convolution algorithm.
Definition: dnnl_types.h:1376
dnnl_reduction_mul
@ dnnl_reduction_mul
Reduction using mul.
Definition: dnnl_types.h:1059
dnnl_pooling_desc_t::alg_kind
dnnl_alg_kind_t alg_kind
The kind of pooling algorithm.
Definition: dnnl_types.h:1539
dnnl_aBCde2b4c2b
@ dnnl_aBCde2b4c2b
5D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:382
dnnl_query_memory_consumption_s64
@ dnnl_query_memory_consumption_s64
memory consumption – extra
Definition: dnnl_types.h:2356
dnnl_s8
@ dnnl_s8
8-bit signed integer.
Definition: dnnl_types.h:74
dnnl::prop_kind
prop_kind
Propagation kind.
Definition: dnnl.hpp:442
dnnl_format_tag_t
dnnl_format_tag_t
Memory format tag specification.
Definition: dnnl_types.h:164
dnnl_f16
@ dnnl_f16
16-bit/half-precision floating point.
Definition: dnnl_types.h:66
dnnl_inner_product
@ dnnl_inner_product
An inner product primitive.
Definition: dnnl_types.h:913
dnnl_unimplemented
@ dnnl_unimplemented
The operation failed because requested functionality is not implemented.
Definition: dnnl_types.h:47
dnnl_memory
An opaque structure to describe a memory.
dnnl_decab
@ dnnl_decab
permuted 5D tensor
Definition: dnnl_types.h:212
dnnl_primitive_desc_iterator
An opaque structure to describe a primitive descriptor iterator.
dnnl_batch_normalization
@ dnnl_batch_normalization
A batch normalization primitive.
Definition: dnnl_types.h:909
dnnl_query_logsoftmax_d
@ dnnl_query_logsoftmax_d
logsoftmax descriptor
Definition: dnnl_types.h:2388
dnnl_stream_t
struct dnnl_stream * dnnl_stream_t
An execution stream handle.
Definition: dnnl_types.h:2434
dnnl_pooling_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1534
dnnl_abcdefghji
@ dnnl_abcdefghji
permuted 10D tensor
Definition: dnnl_types.h:219
dnnl_status_t
dnnl_status_t
Status values returned by the library functions.
Definition: dnnl_types.h:39
dnnl_query_reorder_src_engine
@ dnnl_query_reorder_src_engine
source engine
Definition: dnnl_types.h:2366
dnnl_wino_undef
@ dnnl_wino_undef
Undefined memory format, used for empty memory descriptors.
Definition: dnnl_types.h:1191
dnnl_rnn_desc_t::direction
dnnl_rnn_direction_t direction
The direction of RNN primitive execution.
Definition: dnnl_types.h:1796
dnnl_memory_extra_flag_compensation_conv_s8s8
@ dnnl_memory_extra_flag_compensation_conv_s8s8
Indicates the weights have an additional buffer, that depends on the compensation_mask.
Definition: dnnl_types.h:1250
dnnl_softmax
@ dnnl_softmax
A softmax primitive.
Definition: dnnl_types.h:903
dnnl_normalization_flags_none
@ dnnl_normalization_flags_none
Use no normalization flags.
Definition: dnnl_types.h:1082
dnnl_query_rnn_d
@ dnnl_query_rnn_d
rnn descriptor
Definition: dnnl_types.h:2385
dnnl_inner_product_desc_t::dst_desc
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1750
dnnl_rnn_desc_t::flags
unsigned int flags
RNN cell flags.
Definition: dnnl_types.h:1852
dnnl_cn
@ dnnl_cn
2D CNN activations tensor, an alias to dnnl_ba
Definition: dnnl_types.h:475
DNNL_MAX_NDIMS
#define DNNL_MAX_NDIMS
Maximum number of dimensions a tensor can have.
Definition: dnnl_types.h:1133
dnnl_ldnc
@ dnnl_ldnc
4D RNN states tensor in the format (num_layers, num_directions, batch, state channels).
Definition: dnnl_types.h:551
dnnl_scratchpad_mode_user
@ dnnl_scratchpad_mode_user
The user manages the scratchpad allocation by querying and providing the scratchpad memory to primiti...
Definition: dnnl_types.h:2055
dnnl_batch_normalization_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1665
dnnl_defcab
@ dnnl_defcab
permuted 6D tensor
Definition: dnnl_types.h:213
dnnl_abcdefghijlk
@ dnnl_abcdefghijlk
permuted 12D tensor
Definition: dnnl_types.h:221
dnnl_abcdefghijk
@ dnnl_abcdefghijk
plain 11D tensor
Definition: dnnl_types.h:188
dnnl_aBcde16b
@ dnnl_aBcde16b
5D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:332
dnnl_engine
An opaque structure to describe an engine.
dnnl_rnn_desc_t::src_iter_c_desc
dnnl_memory_desc_t src_iter_c_desc
Source iteration memory descriptor for cell state.
Definition: dnnl_types.h:1802
dnnl_batch_normalization_desc_t::stat_desc
dnnl_memory_desc_t stat_desc
Statistics memory descriptor.
Definition: dnnl_types.h:1680
dnnl_eltwise_relu
@ dnnl_eltwise_relu
Eltwise: ReLU.
Definition: dnnl_types.h:952
dnnl_pooling_v2_desc_t::dst_desc
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1583
dnnl_acb
@ dnnl_acb
permuted 3D tensor
Definition: dnnl_types.h:196
dnnl_ldOi32o
@ dnnl_ldOi32o
5D LSTM projection tensor
Definition: dnnl_types.h:580
dnnl_matmul_desc_t
A descriptor of a matrix multiplication operation.
Definition: dnnl_types.h:1893
dnnl_rnn_desc_t::diff_weights_projection_desc
dnnl_memory_desc_t diff_weights_projection_desc
Weights gradient projection memory descriptor.
Definition: dnnl_types.h:1849
dnnl_eltwise_abs
@ dnnl_eltwise_abs
Eltwise: abs.
Definition: dnnl_types.h:960
dnnl_reduction_desc_t::p
float p
Algorithm specific parameters.
Definition: dnnl_types.h:1968
dnnl_shuffle_desc_t::group_size
dnnl_dim_t group_size
Number of groups.
Definition: dnnl_types.h:1432
dnnl_memory_extra_desc_t::scale_adjust
float scale_adjust
Scale applied to the data.
Definition: dnnl_types.h:1266
dnnl_oihw
@ dnnl_oihw
4D CNN weights tensor, an alias to dnnl_abcd
Definition: dnnl_types.h:508
dnnl_normalization_flags_t
dnnl_normalization_flags_t
Flags for normalization primitives.
Definition: dnnl_types.h:1073
dnnl_eltwise_sqrt_use_dst_for_bwd
@ dnnl_eltwise_sqrt_use_dst_for_bwd
Eltwise: square root (dst for backward)
Definition: dnnl_types.h:1003
dnnl_shuffle
@ dnnl_shuffle
A shuffle primitive.
Definition: dnnl_types.h:891
dnnl_query_shuffle_d
@ dnnl_query_shuffle_d
shuffle descriptor
Definition: dnnl_types.h:2376
dnnl_query_prelu_d
@ dnnl_query_prelu_d
prelu descriptor
Definition: dnnl_types.h:2380
dnnl_convolution_desc_t
A descriptor of a convolution operation.
Definition: dnnl_types.h:1366
dnnl_primitive_kind_t
dnnl_primitive_kind_t
Kinds of primitives.
Definition: dnnl_types.h:885
dnnl_abdfce
@ dnnl_abdfce
permuted 6D tensor
Definition: dnnl_types.h:195
dnnl_pooling_v2_desc_t::src_desc
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:1579
dnnl_rnn_flags_t
dnnl_rnn_flags_t
Flags for RNN cell.
Definition: dnnl_types.h:1763
dnnl_ldigo
@ dnnl_ldigo
5D RNN weights tensor in the format (num_layers, num_directions, input_channels, num_gates,...
Definition: dnnl_types.h:558
dnnl_pooling_max
@ dnnl_pooling_max
Max pooling.
Definition: dnnl_types.h:1011
dnnl_exec_arg_t
A structure that contains an index and a memory object, and is used to pass arguments to dnnl_primiti...
Definition: dnnl_types.h:2307
dnnl_stream_flags_t
dnnl_stream_flags_t
Stream flags.
Definition: dnnl_types.h:2418
dnnl_query_t
dnnl_query_t
Primitive descriptor query specification.
Definition: dnnl_types.h:2346
dnnl_softmax_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1501
dnnl_lrn_desc_t::lrn_alpha
float lrn_alpha
LRN alpha parameter.
Definition: dnnl_types.h:1646
dnnl_bf16
@ dnnl_bf16
non-standard 16-bit (bfloat16 w/ 7 bit mantissa) floating point.
Definition: dnnl_types.h:68
dnnl_nhwc
@ dnnl_nhwc
4D CNN activations tensor, an alias to dnnl_acdb
Definition: dnnl_types.h:487
dnnl_rnn_desc_t
A descriptor for an RNN operation.
Definition: dnnl_types.h:1785
dnnl_rnn_direction_t
dnnl_rnn_direction_t
A direction of RNN primitive execution.
Definition: dnnl_types.h:1769
dnnl_bcdea
@ dnnl_bcdea
permuted 5D tensor
Definition: dnnl_types.h:207
dnnl_convolution_desc_t::diff_src_desc
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:1380
dnnl_convolution_desc_t::weights_desc
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition: dnnl_types.h:1382
dnnl_convolution_desc_t::dst_desc
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1390
dnnl_sum
@ dnnl_sum
A sum primitive.
Definition: dnnl_types.h:895
dnnl_oidhw
@ dnnl_oidhw
5D CNN weights tensor, an alias to dnnl_abcde
Definition: dnnl_types.h:518
dnnl_memory_desc_t::blocking
dnnl_blocking_desc_t blocking
Description of the data layout for memory formats that use blocking.
Definition: dnnl_types.h:1315
dnnl_backward_weights
@ dnnl_backward_weights
Backward weights propagation.
Definition: dnnl_types.h:878
dnnl_a
@ dnnl_a
plain 1D tensor
Definition: dnnl_types.h:177
const_dnnl_stream_t
const struct dnnl_stream * const_dnnl_stream_t
A constant execution stream handle.
Definition: dnnl_types.h:2436
dnnl_inner_product_desc_t
A descriptor of an inner product operation.
Definition: dnnl_types.h:1729
dnnl_matmul_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1896
dnnl_gpu
@ dnnl_gpu
GPU engine.
Definition: dnnl_types.h:1985
dnnl_layer_normalization_desc_t::data_desc
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1700
dnnl_inner_product_desc_t::bias_desc
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:1746
dnnl_rnn_desc_t::weights_projection_desc
dnnl_memory_desc_t weights_projection_desc
Weights projection memory descriptor.
Definition: dnnl_types.h:1822
dnnl_softmax_desc_t::softmax_axis
int softmax_axis
The axis along which to perform the softmax.
Definition: dnnl_types.h:1510
dnnl_query_diff_weights_md
@ dnnl_query_diff_weights_md
weights grad. memory desc
Definition: dnnl_types.h:2399
dnnl_query_prop_kind
@ dnnl_query_prop_kind
propagation kind
Definition: dnnl_types.h:2369
dnnl_pooling_v2_desc_t::strides
dnnl_dims_t strides
Pooling kernel strides for spatial dimensions.
Definition: dnnl_types.h:1587
dnnl_abced
@ dnnl_abced
permuted 5D tensor
Definition: dnnl_types.h:214
dnnl_eltwise_logistic
@ dnnl_eltwise_logistic
Eltwise: logistic.
Definition: dnnl_types.h:970
dnnl_pooling_v2_desc_t::accum_data_type
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:1595
dnnl_eltwise
@ dnnl_eltwise
An element-wise primitive.
Definition: dnnl_types.h:901
dnnl_stream_in_order
@ dnnl_stream_in_order
In-order execution.
Definition: dnnl_types.h:2423
dnnl_aBc16b
@ dnnl_aBc16b
3D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:230
dnnl_memory_extra_desc_t::asymm_compensation_mask
int asymm_compensation_mask
Compensation mask for asymmetric quantization.
Definition: dnnl_types.h:1268
dnnl_layer_normalization_desc_t::diff_data_desc
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:1702
dnnl_oiw
@ dnnl_oiw
3D CNN weights tensor, an alias to dnnl_abc
Definition: dnnl_types.h:500
dnnl_convolution_auto
@ dnnl_convolution_auto
Convolution algorithm(either direct or Winograd) is chosen just in time.
Definition: dnnl_types.h:946
dnnl_eltwise_sqrt
@ dnnl_eltwise_sqrt
Eltwise: square root.
Definition: dnnl_types.h:962
dnnl_cdba
@ dnnl_cdba
permuted 4D tensor
Definition: dnnl_types.h:209
dnnl_cpu_isa_avx512_core
@ dnnl_cpu_isa_avx512_core
Intel AVX-512 subset for Intel Xeon Scalable processor family and Intel Core processor family.
Definition: dnnl_types.h:2523
dnnl_reduction_norm_lp_power_p_max
@ dnnl_reduction_norm_lp_power_p_max
Reduction using lp norm without final pth-root.
Definition: dnnl_types.h:1067
dnnl_eltwise_bounded_relu
@ dnnl_eltwise_bounded_relu
Eltwise: bounded_relu.
Definition: dnnl_types.h:966
dnnl_rnn_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1788
dnnl_eltwise_clip_v2
@ dnnl_eltwise_clip_v2
Eltwise: clip version 2.
Definition: dnnl_types.h:987
dnnl_hwio
@ dnnl_hwio
4D CNN weights tensor, an alias to dnnl_cdba
Definition: dnnl_types.h:510
dnnl_forward_inference
@ dnnl_forward_inference
Forward data propagation (inference mode).
Definition: dnnl_types.h:868
dnnl_query_impl_info_str
@ dnnl_query_impl_info_str
for creating scratchpad memory
Definition: dnnl_types.h:2364
dnnl_query_dst_md
@ dnnl_query_dst_md
destination memory desc
Definition: dnnl_types.h:2400
dnnl_query_resampling_d
@ dnnl_query_resampling_d
resampling descriptor
Definition: dnnl_types.h:2390
dnnl_query_inner_product_d
@ dnnl_query_inner_product_d
inner product descriptor
Definition: dnnl_types.h:2384
dnnl_rnn_flags_undef
@ dnnl_rnn_flags_undef
Undefined RNN flags.
Definition: dnnl_types.h:1765
dnnl_nCdhw16c
@ dnnl_nCdhw16c
5D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcde16b
Definition: dnnl_types.h:595
dnnl_query_convolution_d
@ dnnl_query_convolution_d
convolution descriptor
Definition: dnnl_types.h:2374
dnnl_cpu_isa_avx512_core_amx
@ dnnl_cpu_isa_avx512_core_amx
Intel AVX-512, Intel DL Boost and bfloat16 support and Intel AMX with 8-bit integer and bfloat16 supp...
Definition: dnnl_types.h:2538
dnnl_aBCdef2c8b4c
@ dnnl_aBCdef2c8b4c
6D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:389
dnnl_bcda
@ dnnl_bcda
permuted 4D tensor
Definition: dnnl_types.h:206
dnnl_version_t::major
int major
Major version.
Definition: dnnl_types.h:2471
dnnl_eltwise_gelu_tanh
@ dnnl_eltwise_gelu_tanh
Eltwise: gelu.
Definition: dnnl_types.h:977
dnnl_bidirectional_concat
@ dnnl_bidirectional_concat
Bidirectional execution of RNN primitive with concatenation of the results.
Definition: dnnl_types.h:1776
dnnl_pooling_desc_t
A descriptor of a pooling operation.
Definition: dnnl_types.h:1528
dnnl_aBcd32b
@ dnnl_aBcd32b
4D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:280
dnnl_ba
@ dnnl_ba
permuted 2D tensor
Definition: dnnl_types.h:201
dnnl_data_type_t
dnnl_data_type_t
Data type specification.
Definition: dnnl_types.h:62
dnnl_pooling_desc_t::src_desc
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:1541
dnnl_lrn_within_channel
@ dnnl_lrn_within_channel
LRN within a single channel.
Definition: dnnl_types.h:1021
dnnl_engine_t
struct dnnl_engine * dnnl_engine_t
An engine handle.
Definition: dnnl_types.h:1992
dnnl_layer_normalization_desc_t::data_scaleshift_desc
dnnl_memory_desc_t data_scaleshift_desc
Scale and shift data and gradient memory descriptors.
Definition: dnnl_types.h:1710
dnnl_reduction_norm_lp_sum
@ dnnl_reduction_norm_lp_sum
Reduction using lp norm.
Definition: dnnl_types.h:1065
dnnl_pooling_v2_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1569
dnnl_binary_mul
@ dnnl_binary_mul
Binary mul.
Definition: dnnl_types.h:1039
dnnl_ihwo
@ dnnl_ihwo
4D CNN weights tensor, an alias to dnnl_bcda
Definition: dnnl_types.h:514
dnnl_rnn_desc_t::src_layer_desc
dnnl_memory_desc_t src_layer_desc
Source layer memory descriptor.
Definition: dnnl_types.h:1798
dnnl_format_tag_undef
@ dnnl_format_tag_undef
Undefined memory format tag.
Definition: dnnl_types.h:166
dnnl_binary_min
@ dnnl_binary_min
Binary min.
Definition: dnnl_types.h:1043
dnnl_rnn_desc_t::diff_weights_peephole_desc
dnnl_memory_desc_t diff_weights_peephole_desc
Weights gradient peephole memory descriptor.
Definition: dnnl_types.h:1845
dnnl_format_kind_rnn_packed
@ dnnl_format_kind_rnn_packed
Packed weights format used in RNN.
Definition: dnnl_types.h:93
dnnl_goiw
@ dnnl_goiw
4D CNN weights tensor (incl. groups), an alias to dnnl_abcd
Definition: dnnl_types.h:529
const_dnnl_primitive_desc_iterator_t
const struct dnnl_primitive_desc_iterator * const_dnnl_primitive_desc_iterator_t
A constant primitive descriptor iterator handle.
Definition: dnnl_types.h:2014
dnnl_use_scaleshift
@ dnnl_use_scaleshift
Use scale and shift parameters.
Definition: dnnl_types.h:1108
dnnl_eltwise_log
@ dnnl_eltwise_log
Eltwise: natural logarithm.
Definition: dnnl_types.h:983
dnnl_reduction_desc_t::src_desc
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:1954
dnnl_query_layer_normalization_d
@ dnnl_query_layer_normalization_d
layer normalization descriptor
Definition: dnnl_types.h:2383
dnnl_ldoi
@ dnnl_ldoi
4D LSTM projection tensor in the format (num_layers, num_directions, num_channels_in_recurrent_projec...
Definition: dnnl_types.h:571
dnnl_version_t::minor
int minor
Minor version.
Definition: dnnl_types.h:2472
dnnl_layer_normalization_desc_t::stat_desc
dnnl_memory_desc_t stat_desc
Mean and variance data memory descriptors.
Definition: dnnl_types.h:1717
dnnl_ABcd8b8a
@ dnnl_ABcd8b8a
4D tensor blocked by 1st and 2nd dimension with block size 8
Definition: dnnl_types.h:311
dnnl_resampling_linear
@ dnnl_resampling_linear
Linear Resampling Method.
Definition: dnnl_types.h:1051
dnnl_blocking_desc_t::inner_blks
dnnl_dims_t inner_blks
The size of the blocks, e.g. {4, 16, 4} in case of OIhw_4i16o4i
Definition: dnnl_types.h:1182
dnnl_rnn_desc_t::diff_dst_iter_desc
dnnl_memory_desc_t diff_dst_iter_desc
Destination gradient iteration memory descriptor for hidden state.
Definition: dnnl_types.h:1839
dnnl_acbd
@ dnnl_acbd
plain 4D tensor
Definition: dnnl_types.h:181
dnnl_dhwio
@ dnnl_dhwio
5D CNN weights tensor, an alias to dnnl_cdeba
Definition: dnnl_types.h:522
dnnl_forward_training
@ dnnl_forward_training
Forward data propagation (training mode).
Definition: dnnl_types.h:864
dnnl_primitive_kind_max
@ dnnl_primitive_kind_max
Parameter to allow internal only primitives without undefined behavior.
Definition: dnnl_types.h:935
dnnl_pooling_v2_desc_t::kernel
dnnl_dims_t kernel
Pooling kernel spatial dimensions.
Definition: dnnl_types.h:1589
dnnl_eltwise_square
@ dnnl_eltwise_square
Eltwise: square.
Definition: dnnl_types.h:958
dnnl_bac
@ dnnl_bac
permuted 3D tensor
Definition: dnnl_types.h:202
dnnl_fuse_norm_relu
@ dnnl_fuse_norm_relu
Fuse with ReLU.
Definition: dnnl_types.h:1121
dnnl_bacde
@ dnnl_bacde
permuted 5D tensor
Definition: dnnl_types.h:204
dnnl_cpu_isa_avx512_mic_4ops
@ dnnl_cpu_isa_avx512_mic_4ops
Intel AVX-512 subset for Intel Xeon Phi processors 7235, 7285, 7295 Series.
Definition: dnnl_types.h:2519
dnnl_tn
@ dnnl_tn
2D RNN statistics tensor, an alias to dnnl_ab
Definition: dnnl_types.h:477
const_dnnl_primitive_desc_t
const struct dnnl_primitive_desc * const_dnnl_primitive_desc_t
A constant primitive descriptor handle.
Definition: dnnl_types.h:2025
dnnl_rnn_desc_t::weights_layer_desc
dnnl_memory_desc_t weights_layer_desc
Weights layer memory descriptor.
Definition: dnnl_types.h:1804
dnnl_rnn_desc_t::weights_peephole_desc
dnnl_memory_desc_t weights_peephole_desc
Weights peephole memory descriptor.
Definition: dnnl_types.h:1818
dnnl_pooling_v2_desc_t::diff_src_desc
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:1581
dnnl_format_kind_wino
@ dnnl_format_kind_wino
Weights format used in 8bit Winograd convolution.
Definition: dnnl_types.h:91
const_dnnl_post_ops_t
const struct dnnl_post_ops * const_dnnl_post_ops_t
A constant post operation chain handle.
Definition: dnnl_types.h:2096
dnnl_blocking_desc_t::strides
dnnl_dims_t strides
The strides between the outermost blocks.
Definition: dnnl_types.h:1176
dnnl_convolution_winograd
@ dnnl_convolution_winograd
Winograd convolution.
Definition: dnnl_types.h:944
dnnl_iodhw
@ dnnl_iodhw
5D CNN weights tensor, an alias to dnnl_bacde
Definition: dnnl_types.h:520
dnnl_ABcde4b16a4b
@ dnnl_ABcde4b16a4b
5D tensor blocked by 1st dimension with block size 16
Definition: dnnl_types.h:325
dnnl_nChw8c
@ dnnl_nChw8c
4D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcd8b
Definition: dnnl_types.h:613
dnnl_engine_kind_t
dnnl_engine_kind_t
Kinds of engines.
Definition: dnnl_types.h:1979
dnnl_binary
@ dnnl_binary
A binary primitive.
Definition: dnnl_types.h:919
dnnl_cdeba
@ dnnl_cdeba
permuted 5D tensor
Definition: dnnl_types.h:211
dnnl_exec_arg_t::memory
dnnl_memory_t memory
Input/output memory.
Definition: dnnl_types.h:2309
dnnl_eltwise_tanh
@ dnnl_eltwise_tanh
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition: dnnl_types.h:954
dnnl_convolution_desc_t::diff_weights_desc
dnnl_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: dnnl_types.h:1384
dnnl_aBc4b
@ dnnl_aBc4b
3D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:238
dnnl_abcde
@ dnnl_abcde
plain 5D tensor
Definition: dnnl_types.h:182
dnnl_nCw8c
@ dnnl_nCw8c
3D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBc8b
Definition: dnnl_types.h:625
dnnl_post_ops_t
struct dnnl_post_ops * dnnl_post_ops_t
A post operation chain handle.
Definition: dnnl_types.h:2093
dnnl_query_gemm_d
@ dnnl_query_gemm_d
GEMM descriptor (internal)
Definition: dnnl_types.h:2386
dnnl_memory_desc_t::dims
dnnl_dims_t dims
Dimensions in the following order:
Definition: dnnl_types.h:1294
dnnl_stream_default_order
@ dnnl_stream_default_order
Default order execution.
Definition: dnnl_types.h:2421
dnnl_pooling
@ dnnl_pooling
A pooling primitive.
Definition: dnnl_types.h:905
dnnl_acdb
@ dnnl_acdb
permuted 4D tensor
Definition: dnnl_types.h:199
dnnl_query_lrn_d
@ dnnl_query_lrn_d
lrn descriptor
Definition: dnnl_types.h:2381
dnnl_backward
@ dnnl_backward
Backward propagation (with respect to all parameters).
Definition: dnnl_types.h:874
dnnl_giohw
@ dnnl_giohw
5D CNN weights tensor (incl. groups), an alias to dnnl_acbde
Definition: dnnl_types.h:537
dnnl_softmax_desc_t
A descriptor of a Softmax operation.
Definition: dnnl_types.h:1498
dnnl_eltwise_clip_v2_use_dst_for_bwd
@ dnnl_eltwise_clip_v2_use_dst_for_bwd
Eltwise: clip version 2 (dst for backward)
Definition: dnnl_types.h:1009
dnnl_convolution_desc_t::dilates
dnnl_dims_t dilates
Convolution dilates in each spatial dimension.
Definition: dnnl_types.h:1396
dnnl_cpu_isa_avx512_core_bf16
@ dnnl_cpu_isa_avx512_core_bf16
Intel AVX-512, Intel DL Boost and bfloat16 support for Intel Xeon Scalable processor family and Intel...
Definition: dnnl_types.h:2533
dnnl_iterator_ends
@ dnnl_iterator_ends
Primitive iterator passed over last primitive descriptor.
Definition: dnnl_types.h:49
dnnl_resampling_desc_t::dst_desc
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1930
dnnl_abcdefghi
@ dnnl_abcdefghi
plain 9D tensor
Definition: dnnl_types.h:186
dnnl_blocking_desc_t::inner_nblks
int inner_nblks
The number of innermost blocks, e.g. 3 in case of OIhw_4i16o4i_
Definition: dnnl_types.h:1180
dnnl_primitive_desc
An opaque structure to describe a primitive descriptor.
dnnl_abcdefghijkl
@ dnnl_abcdefghijkl
plain 12D tensor
Definition: dnnl_types.h:189
dnnl_nCdhw8c
@ dnnl_nCdhw8c
5D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcde8b
Definition: dnnl_types.h:601
dnnl_pooling_avg
@ dnnl_pooling_avg
Average pooling (alias for dnnl_pooling_avg_exclude_padding)
Definition: dnnl_types.h:1017
dnnl_vanilla_rnn
@ dnnl_vanilla_rnn
RNN cell.
Definition: dnnl_types.h:1023
dnnl_reduction_norm_lp_power_p_sum
@ dnnl_reduction_norm_lp_power_p_sum
Reduction using lp norm without final pth-root.
Definition: dnnl_types.h:1069
dnnl_unidirectional
@ dnnl_unidirectional
Alias for dnnl_unidirectional_left2right.
Definition: dnnl_types.h:1781
dnnl_abdc
@ dnnl_abdc
permuted 4D tensor
Definition: dnnl_types.h:193
dnnl_eltwise_pow
@ dnnl_eltwise_pow
Eltwise: pow.
Definition: dnnl_types.h:989
dnnl_cpu_isa_avx2_vnni
@ dnnl_cpu_isa_avx2_vnni
Intel AVX2 and Intel Deep Learning Boost (Intel DL Boost) support.
Definition: dnnl_types.h:2541
dnnl_reduction_max
@ dnnl_reduction_max
Reduction using max.
Definition: dnnl_types.h:1053
dnnl_ldio
@ dnnl_ldio
4D LSTM projection tensor in the format (num_layers, num_directions, num_channels_in_hidden_state,...
Definition: dnnl_types.h:568
dnnl_aBcd4b
@ dnnl_aBcd4b
4D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:282
dnnl_reduction_mean
@ dnnl_reduction_mean
Reduction using mean.
Definition: dnnl_types.h:1061
dnnl_query_matmul_d
@ dnnl_query_matmul_d
matrix multiplication (matmul) descriptor
Definition: dnnl_types.h:2389
dnnl_primitive_desc_t
struct dnnl_primitive_desc * dnnl_primitive_desc_t
A primitive descriptor handle.
Definition: dnnl_types.h:2022
dnnl_version_t::hash
const char * hash
Git hash of the sources (may be absent)
Definition: dnnl_types.h:2474
dnnl_query_binary_d
@ dnnl_query_binary_d
binary descriptor
Definition: dnnl_types.h:2387
dnnl_lbr_gru
@ dnnl_lbr_gru
GRU cell with linear before reset.
Definition: dnnl_types.h:1035
dnnl_forward
@ dnnl_forward
Forward data propagation (alias for dnnl_forward_training).
Definition: dnnl_types.h:872
dnnl_f32
@ dnnl_f32
32-bit/single-precision floating point.
Definition: dnnl_types.h:70
dnnl_acbdef
@ dnnl_acbdef
permuted 6D tensor
Definition: dnnl_types.h:198
dnnl_iwo
@ dnnl_iwo
3D CNN weights tensor, an alias to dnnl_bca
Definition: dnnl_types.h:506
dnnl_use_global_stats
@ dnnl_use_global_stats
Use global statistics.
Definition: dnnl_types.h:1095
dnnl_lrn_across_channels
@ dnnl_lrn_across_channels
Local response normalization (LRN) across multiple channels.
Definition: dnnl_types.h:1019
dnnl_concat
@ dnnl_concat
A (out-of-place) concat primitive.
Definition: dnnl_types.h:893
dnnl_ntc
@ dnnl_ntc
3D RNN data tensor in the format (batch, seq_length, input channels).
Definition: dnnl_types.h:548
dnnl_query_diff_dst_md
@ dnnl_query_diff_dst_md
destination grad. memory desc
Definition: dnnl_types.h:2401
dnnl_matmul_desc_t::dst_desc
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1904
dnnl_format_kind_undef
@ dnnl_format_kind_undef
Undefined memory format kind, used for empty memory descriptors.
Definition: dnnl_types.h:82
dnnl_layer_normalization_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1695
dnnl_version_t::cpu_runtime
unsigned cpu_runtime
CPU runtime.
Definition: dnnl_types.h:2475
dnnl_lrn_desc_t::diff_data_desc
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:1641
dnnl_aBcdef16b
@ dnnl_aBcdef16b
6D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:384
dnnl_layer_normalization
@ dnnl_layer_normalization
A layer normalization primitive.
Definition: dnnl_types.h:911
dnnl_memory_desc_t::data_type
dnnl_data_type_t data_type
Data type of the tensor elements.
Definition: dnnl_types.h:1297
dnnl_convolution_desc_t::diff_dst_desc
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:1392
dnnl_matmul_desc_t::accum_data_type
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:1906
dnnl_primitive
An opaque structure to describe a primitive.
dnnl_abcdefgh
@ dnnl_abcdefgh
plain 8D tensor
Definition: dnnl_types.h:185
dnnl_eltwise_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1447
dnnl_abcdefghij
@ dnnl_abcdefghij
plain 10D tensor
Definition: dnnl_types.h:187
dnnl_pooling_desc_t::dst_desc
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1545
dnnl_cpu_isa_all
@ dnnl_cpu_isa_all
Any ISA (excepting those listed as initial support)
Definition: dnnl_types.h:2502
dnnl_rnn_desc_t::diff_weights_layer_desc
dnnl_memory_desc_t diff_weights_layer_desc
Weights gradient layer memory descriptor.
Definition: dnnl_types.h:1831
dnnl_query_op_d
@ dnnl_query_op_d
op descriptor
Definition: dnnl_types.h:2373
dnnl_primitive_desc_iterator_t
struct dnnl_primitive_desc_iterator * dnnl_primitive_desc_iterator_t
A primitive descriptor iterator handle.
Definition: dnnl_types.h:2011
dnnl_out_of_memory
@ dnnl_out_of_memory
The operation failed due to an out-of-memory condition.
Definition: dnnl_types.h:43
dnnl_dim_t
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition: dnnl_types.h:1165
dnnl_shuffle_desc_t::axis
int axis
Axis for shuffling.
Definition: dnnl_types.h:1430
dnnl_softmax_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1504
dnnl_lrn_desc_t::lrn_beta
float lrn_beta
LRN beta parameter.
Definition: dnnl_types.h:1648
dnnl_idhwo
@ dnnl_idhwo
5D CNN weights tensor, an alias to dnnl_bcdea
Definition: dnnl_types.h:526
dnnl_abcdegf
@ dnnl_abcdegf
permuted 7D tensor
Definition: dnnl_types.h:216
dnnl_abcd
@ dnnl_abcd
plain 4D tensor
Definition: dnnl_types.h:180
dnnl_u8
@ dnnl_u8
8-bit unsigned integer.
Definition: dnnl_types.h:76
dnnl_ncdhw
@ dnnl_ncdhw
5D CNN activations tensor, an alias to dnnl_abcde
Definition: dnnl_types.h:491
dnnl_query_workspace_md
@ dnnl_query_workspace_md
workspace memory desc
Definition: dnnl_types.h:2402
dnnl_format_tag_last
@ dnnl_format_tag_last
Just a sentinel, not real memory format tag.
Definition: dnnl_types.h:466
dnnl_query_deconvolution_d
@ dnnl_query_deconvolution_d
deconvolution descriptor
Definition: dnnl_types.h:2375
dnnl_memory_t
struct dnnl_memory * dnnl_memory_t
A memory handle.
Definition: dnnl_types.h:1331
dnnl_logsoftmax
@ dnnl_logsoftmax
A logsoftmax primitive.
Definition: dnnl_types.h:921
dnnl_format_tag_any
@ dnnl_format_tag_any
Undefined memory format tag.
Definition: dnnl_types.h:169
dnnl_deconvolution_direct
@ dnnl_deconvolution_direct
Direct deconvolution.
Definition: dnnl_types.h:948
dnnl_reorder
@ dnnl_reorder
A reorder primitive.
Definition: dnnl_types.h:889
dnnl_lrn_desc_t
A descriptor of a Local Response Normalization (LRN) operation.
Definition: dnnl_types.h:1628
dnnl_stream_default_flags
@ dnnl_stream_default_flags
Default stream configuration.
Definition: dnnl_types.h:2427
dnnl_shuffle_desc_t
A descriptor of a shuffle operation.
Definition: dnnl_types.h:1419
dnnl_eltwise_logsigmoid
@ dnnl_eltwise_logsigmoid
Eltwise: logsigmoid.
Definition: dnnl_types.h:995
dnnl_owi
@ dnnl_owi
3D CNN weights tensor, an alias to dnnl_acb
Definition: dnnl_types.h:502
dnnl_pooling_v2_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1572
dnnl_rnn_desc_t::activation_kind
dnnl_alg_kind_t activation_kind
Activation function used for vanilla_rnn cell kind.
Definition: dnnl_types.h:1855
dnnl_query_reduction_d
@ dnnl_query_reduction_d
reduction descriptor
Definition: dnnl_types.h:2392
dnnl_backward_data
@ dnnl_backward_data
Backward data propagation.
Definition: dnnl_types.h:876
dnnl_acdeb
@ dnnl_acdeb
permuted 5D tensor
Definition: dnnl_types.h:200
dnnl_version_t
Structure containing version information as per Semantic Versioning
Definition: dnnl_types.h:2470
dnnl_batch_normalization_desc_t
A descriptor of a Batch Normalization operation.
Definition: dnnl_types.h:1659
dnnl_exec_arg_t::arg
int arg
An argument index, e.g. DNNL_ARG_SRC.
Definition: dnnl_types.h:2308
dnnl_eltwise_exp_use_dst_for_bwd
@ dnnl_eltwise_exp_use_dst_for_bwd
Eltwise: exp (dst for backward)
Definition: dnnl_types.h:1007
dnnl_rnn_desc_t::weights_iter_desc
dnnl_memory_desc_t weights_iter_desc
Weights iteration memory descriptor.
Definition: dnnl_types.h:1806
dnnl_memory_desc_t::format_kind
dnnl_format_kind_t format_kind
Memory format kind.
Definition: dnnl_types.h:1311
dnnl_ldgo
@ dnnl_ldgo
4D RNN bias tensor in the format (num_layers, num_directions, num_gates, output_channels).
Definition: dnnl_types.h:578
dnnl_dims_t
dnnl_dim_t dnnl_dims_t[DNNL_MAX_NDIMS]
A type to describe tensor dimensions.
Definition: dnnl_types.h:1168
dnnl_eltwise_desc_t::alg_kind
dnnl_alg_kind_t alg_kind
The kind of eltwise algorithm.
Definition: dnnl_types.h:1462
dnnl_rnn_desc_t::diff_dst_iter_c_desc
dnnl_memory_desc_t diff_dst_iter_c_desc
Destination gradient iteration memory descriptor for cell state.
Definition: dnnl_types.h:1841
dnnl_eltwise_desc_t
A descriptor of a element-wise operation.
Definition: dnnl_types.h:1441
dnnl_rnn_desc_t::diff_src_iter_c_desc
dnnl_memory_desc_t diff_src_iter_c_desc
Source gradient iter memory descriptor for cell state.
Definition: dnnl_types.h:1829
dnnl_aBcd16b
@ dnnl_aBcd16b
4D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:272
dnnl_resampling_nearest
@ dnnl_resampling_nearest
Nearest Neighbor Resampling Method.
Definition: dnnl_types.h:1049
dnnl_rnn
@ dnnl_rnn
A rnn primitive.
Definition: dnnl_types.h:915
dnnl_aBc32b
@ dnnl_aBc32b
3D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:236
dnnl_rnn_desc_t::diff_bias_desc
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: dnnl_types.h:1835
dnnl_query_num_of_outputs_s32
@ dnnl_query_num_of_outputs_s32
number of outputs expected
Definition: dnnl_types.h:2353
dnnl_cpu_isa_sse41
@ dnnl_cpu_isa_sse41
Intel Streaming SIMD Extensions 4.1 (Intel SSE4.1)
Definition: dnnl_types.h:2505
dnnl_abcdfe
@ dnnl_abcdfe
permuted 6D tensor
Definition: dnnl_types.h:215
dnnl_format_kind_t
dnnl_format_kind_t
Memory format kind.
Definition: dnnl_types.h:80
dnnl_aBCd2b4c2b
@ dnnl_aBCd2b4c2b
4D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:323
dnnl_blocking_desc_t
Generic description of blocked data layout for most memory formats.
Definition: dnnl_types.h:1173
dnnl_softmax_desc_t::data_desc
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1506
const_dnnl_primitive_t
const struct dnnl_primitive * const_dnnl_primitive_t
A constant primitive handle.
Definition: dnnl_types.h:2109
dnnl_abdec
@ dnnl_abdec
permuted 5D tensor
Definition: dnnl_types.h:194
dnnl_pooling_desc_t::accum_data_type
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:1557
dnnl_reduction_sum
@ dnnl_reduction_sum
Reduction using sum.
Definition: dnnl_types.h:1057
dnnl_cpu_isa_avx2
@ dnnl_cpu_isa_avx2
Intel Advanced Vector Extensions 2 (Intel AVX2)
Definition: dnnl_types.h:2511
dnnl_cpu_isa_avx512_core_vnni
@ dnnl_cpu_isa_avx512_core_vnni
Intel AVX-512 and Intel Deep Learning Boost (Intel DL Boost) support for Intel Xeon Scalable processo...
Definition: dnnl_types.h:2528
dnnl_memory_desc_t::ndims
int ndims
Number of dimensions.
Definition: dnnl_types.h:1279
dnnl_aBc8b
@ dnnl_aBc8b
3D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:262
dnnl_layer_normalization_desc_t
A descriptor of a Layer Normalization operation.
Definition: dnnl_types.h:1692
dnnl_matmul_desc_t::bias_desc
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:1902
dnnl_convolution_desc_t::diff_bias_desc
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: dnnl_types.h:1388
dnnl_not_required
@ dnnl_not_required
Queried element is not required for given primitive.
Definition: dnnl_types.h:53
dnnl_eltwise_clip
@ dnnl_eltwise_clip
Eltwise: clip.
Definition: dnnl_types.h:985
dnnl_inner_product_desc_t::src_desc
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:1738
dnnl_eltwise_logistic_use_dst_for_bwd
@ dnnl_eltwise_logistic_use_dst_for_bwd
Eltwise: logistic (dst for backward)
Definition: dnnl_types.h:1005
dnnl_wino_desc_t
Description of tensor of weights for winograd 2x3 convolution.
Definition: dnnl_types.h:1201
dnnl_pooling_v2_desc_t::dilation
dnnl_dims_t dilation
Pooling dilations for spatial dimensions.
Definition: dnnl_types.h:1597
dnnl_batch_normalization_desc_t::diff_data_desc
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:1669
dnnl_rnn_desc_t::src_iter_desc
dnnl_memory_desc_t src_iter_desc
Source iteration memory descriptor for hidden state.
Definition: dnnl_types.h:1800
dnnl_abcdefg
@ dnnl_abcdefg
plain 7D tensor
Definition: dnnl_types.h:184
dnnl_pooling_avg_include_padding
@ dnnl_pooling_avg_include_padding
Average pooling include padding.
Definition: dnnl_types.h:1013
dnnl_hwigo
@ dnnl_hwigo
5D CNN weights tensor (incl. groups), an alias to dnnl_decab
Definition: dnnl_types.h:535
dnnl_rnn_desc_t::diff_src_iter_desc
dnnl_memory_desc_t diff_src_iter_desc
Source gradient iter memory descriptor for hidden state.
Definition: dnnl_types.h:1827
dnnl_inner_product_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1736
dnnl_deconvolution
@ dnnl_deconvolution
A deconvolution primitive.
Definition: dnnl_types.h:899
dnnl_aBcde4b
@ dnnl_aBcde4b
5D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:343
dnnl_batch_normalization_desc_t::data_scaleshift_desc
dnnl_memory_desc_t data_scaleshift_desc
Scale and shift data and gradient memory descriptors.
Definition: dnnl_types.h:1675
dnnl_stream_out_of_order
@ dnnl_stream_out_of_order
Out-of-order execution.
Definition: dnnl_types.h:2425
dnnl_gemm
@ dnnl_gemm
A matrix multiplication primitive (internal).
Definition: dnnl_types.h:917
dnnl_convolution
@ dnnl_convolution
A convolution primitive.
Definition: dnnl_types.h:897
dnnl_primitive_t
struct dnnl_primitive * dnnl_primitive_t
A primitive handle.
Definition: dnnl_types.h:2107
dnnl_lrn_desc_t::data_desc
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1639
const_dnnl_primitive_attr_t
const struct dnnl_primitive_attr * const_dnnl_primitive_attr_t
A constant primitive descriptor attributes handle.
Definition: dnnl_types.h:2070
dnnl_primitive_attr
An opaque structure for primitive descriptor attributes.
dnnl_rnn_desc_t::dst_layer_desc
dnnl_memory_desc_t dst_layer_desc
Destination layer memory descriptor.
Definition: dnnl_types.h:1810
dnnl_inner_product_desc_t::accum_data_type
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:1754
dnnl_lrn
@ dnnl_lrn
An LRN primitive.
Definition: dnnl_types.h:907
dnnl_query_src_md
@ dnnl_query_src_md
source memory desc
Definition: dnnl_types.h:2396
dnnl_ldgOi32o
@ dnnl_ldgOi32o
6D RNN weights tensor
Definition: dnnl_types.h:583
dnnl_query_pooling_v2_d
@ dnnl_query_pooling_v2_d
pooling version 2 descriptor
Definition: dnnl_types.h:2391
dnnl_logsoftmax_desc_t
dnnl_softmax_desc_t dnnl_logsoftmax_desc_t
A descriptor of a LogSoftmax operation.
Definition: dnnl_types.h:1520
DNNL_RNN_MAX_N_PARTS
#define DNNL_RNN_MAX_N_PARTS
Maximum number of parts of RNN weights tensor that require separate computation.
Definition: dnnl_types.h:1224
dnnl_scratchpad_mode_t
dnnl_scratchpad_mode_t
Scratchpad mode.
Definition: dnnl_types.h:2033
dnnl_memory_desc_t::wino_desc
dnnl_wino_desc_t wino_desc
Tensor of weights for integer 8bit winograd convolution.
Definition: dnnl_types.h:1317
dnnl_data_type_undef
@ dnnl_data_type_undef
Undefined data type, used for empty memory descriptors.
Definition: dnnl_types.h:64
dnnl_nCdhw32c
@ dnnl_nCdhw32c
5D CNN activations tensor blocked by channels with block size 32, an alias to dnnl_aBcde32b
Definition: dnnl_types.h:592
dnnl_query_engine
@ dnnl_query_engine
execution engine
Definition: dnnl_types.h:2349
dnnl_wino_memory_format_t
dnnl_wino_memory_format_t
Winograd-specific formats.
Definition: dnnl_types.h:1189
dnnl_query_softmax_d
@ dnnl_query_softmax_d
softmax descriptor
Definition: dnnl_types.h:2378
dnnl_resampling_desc_t
A descriptor of resampling operation.
Definition: dnnl_types.h:1915
dnnl_batch_normalization_desc_t::batch_norm_epsilon
float batch_norm_epsilon
Batch normalization epsilon parameter.
Definition: dnnl_types.h:1682
dnnl_binary_sub
@ dnnl_binary_sub
Binary sub.
Definition: dnnl_types.h:1047
dnnl_invalid_arguments
@ dnnl_invalid_arguments
The operation failed because of incorrect function arguments.
Definition: dnnl_types.h:45
dnnl_eltwise_elu_use_dst_for_bwd
@ dnnl_eltwise_elu_use_dst_for_bwd
Eltwise: exponential linear unit (elu) (dst for backward)
Definition: dnnl_types.h:1001
dnnl_cpu
@ dnnl_cpu
CPU engine.
Definition: dnnl_types.h:1983
dnnl_post_ops
An opaque structure for a chain of post operations.
dnnl_query_undef
@ dnnl_query_undef
no query
Definition: dnnl_types.h:2347
dnnl_eltwise_swish
@ dnnl_eltwise_swish
Eltwise: swish.
Definition: dnnl_types.h:981
dnnl_ndhwc
@ dnnl_ndhwc
5D CNN activations tensor, an alias to dnnl_acdeb
Definition: dnnl_types.h:493
dnnl_rnn_desc_t::diff_dst_layer_desc
dnnl_memory_desc_t diff_dst_layer_desc
Destination gradient layer memory descriptor.
Definition: dnnl_types.h:1837
dnnl_abcdefhg
@ dnnl_abcdefhg
permuted 8D tensor
Definition: dnnl_types.h:217
dnnl_convolution_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1369
dnnl_reduction_desc_t::alg_kind
dnnl_alg_kind_t alg_kind
The kind of reduction algorithm.
Definition: dnnl_types.h:1952
dnnl_pooling_desc_t::kernel
dnnl_dims_t kernel
Pooling kernel spatial dimensions.
Definition: dnnl_types.h:1551
dnnl_wino_wei_OBaaIBOIio
@ dnnl_wino_wei_OBaaIBOIio
Internal weights format for 4x3 Winograd.
Definition: dnnl_types.h:1197
dnnl_binary_div
@ dnnl_binary_div
Binary div.
Definition: dnnl_types.h:1045
dnnl_inner_product_desc_t::weights_desc
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition: dnnl_types.h:1742
dnnl_shuffle_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1422
dnnl_resampling_desc_t::diff_src_desc
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:1928
dnnl_eltwise_gelu_erf
@ dnnl_eltwise_gelu_erf
Eltwise: erf-based gelu.
Definition: dnnl_types.h:991
dnnl_convolution_desc_t::bias_desc
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:1386
dnnl_layer_normalization_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1698
dnnl_batch_normalization_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1662
dnnl_memory_desc_t
Memory descriptor.
Definition: dnnl_types.h:1277
dnnl_binary_desc_t::dst_desc
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1878
dnnl_backward_bias
@ dnnl_backward_bias
Backward bias propagation.
Definition: dnnl_types.h:880
dnnl_op_desc_t
void * dnnl_op_desc_t
A pointer to any of the operation descriptors.
Definition: dnnl_types.h:1352
dnnl_inner_product_desc_t::diff_src_desc
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:1740
dnnl_ncw
@ dnnl_ncw
3D CNN activations tensor, an alias to dnnl_abc
Definition: dnnl_types.h:481
dnnl_matmul
@ dnnl_matmul
A matrix multiplication primitive.
Definition: dnnl_types.h:923
dnnl_version_t::patch
int patch
Patch version.
Definition: dnnl_types.h:2473
dnnl_cpu_isa_t
dnnl_cpu_isa_t
CPU instruction set flags.
Definition: dnnl_types.h:2500
dnnl_query_some_md
@ dnnl_query_some_md
stub
Definition: dnnl_types.h:2395
const_dnnl_stream_attr_t
const struct dnnl_stream_attr * const_dnnl_stream_attr_t
A constant execution stream attributes handle.
Definition: dnnl_types.h:2443
const_dnnl_memory_t
const struct dnnl_memory * const_dnnl_memory_t
A constant memory handle.
Definition: dnnl_types.h:1334
dnnl_matmul_desc_t::src_desc
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:1898
dnnl_nChw4c
@ dnnl_nChw4c
4D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcd4b
Definition: dnnl_types.h:610
dnnl_memory_extra_desc_t::flags
uint64_t flags
The flags contain arbitrary extra information, such as compensation.
Definition: dnnl_types.h:1262
dnnl_inner_product_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1732
dnnl_softmax_desc_t::diff_desc
dnnl_memory_desc_t diff_desc
Source and Destination of gradient memory descriptor.
Definition: dnnl_types.h:1508
dnnl_oi
@ dnnl_oi
2D CNN weights tensor, an alias to dnnl_ab
Definition: dnnl_types.h:496
dnnl_eltwise_desc_t::diff_data_desc
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:1466
dnnl_ohwi
@ dnnl_ohwi
4D CNN weights tensor, an alias to dnnl_acdb
Definition: dnnl_types.h:512
dnnl_bacd
@ dnnl_bacd
permuted 4D tensor
Definition: dnnl_types.h:203
dnnl_format_kind_any
@ dnnl_format_kind_any
Unspecified format kind.
Definition: dnnl_types.h:85
dnnl_tnc
@ dnnl_tnc
3D RNN data tensor in the format (seq_length, batch, input channels).
Definition: dnnl_types.h:546
dnnl_nChw16c
@ dnnl_nChw16c
4D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcd16b
Definition: dnnl_types.h:607
dnnl_shuffle_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1425
dnnl_query_eltwise_d
@ dnnl_query_eltwise_d
eltwise descriptor
Definition: dnnl_types.h:2377
dnnl_primitive_attr_t
struct dnnl_primitive_attr * dnnl_primitive_attr_t
A primitive descriptor attributes handle that controls primitive behavior.
Definition: dnnl_types.h:2067
dnnl_binary_max
@ dnnl_binary_max
Binary max.
Definition: dnnl_types.h:1041
dnnl_cba
@ dnnl_cba
permuted 3D tensor
Definition: dnnl_types.h:208
dnnl_reduction_desc_t
A descriptor of reduction operation.
Definition: dnnl_types.h:1943
dnnl_query_num_of_inputs_s32
@ dnnl_query_num_of_inputs_s32
number of inputs expected
Definition: dnnl_types.h:2352
dnnl_resampling_desc_t::diff_dst_desc
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:1932
dnnl_acbde
@ dnnl_acbde
permuted 5D tensor
Definition: dnnl_types.h:197
dnnl_dcab
@ dnnl_dcab
permuted 4D tensor
Definition: dnnl_types.h:210
dnnl_reduction_desc_t::dst_desc
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1956
dnnl_alg_kind_t
dnnl_alg_kind_t
Kinds of algorithms.
Definition: dnnl_types.h:939
dnnl_deconvolution_winograd
@ dnnl_deconvolution_winograd
Winograd deconvolution.
Definition: dnnl_types.h:950
const_dnnl_op_desc_t
const void * const_dnnl_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: dnnl_types.h:1354
dnnl_cpu_isa_avx512_mic
@ dnnl_cpu_isa_avx512_mic
Intel Advanced Vector Extensions 512 (Intel AVX-512) subset for Intel Xeon Phi processors x200 Series...
Definition: dnnl_types.h:2515
dnnl_memory_desc_t::padded_offsets
dnnl_dims_t padded_offsets
Per-dimension offset from the padding to actual data, the top-level tensor with offsets applied must ...
Definition: dnnl_types.h:1304
dnnl_ldgoi
@ dnnl_ldgoi
5D RNN weights tensor in the format (num_layers, num_directions, num_gates, output_channels,...
Definition: dnnl_types.h:565
dnnl_success
@ dnnl_success
The operation was successful.
Definition: dnnl_types.h:41
dnnl_memory_desc_t::padded_dims
dnnl_dims_t padded_dims
Size of the data including padding in each dimension.
Definition: dnnl_types.h:1300
dnnl_eltwise_exp
@ dnnl_eltwise_exp
Eltwise: exponent.
Definition: dnnl_types.h:972
dnnl_abcdef
@ dnnl_abcdef
plain 6D tensor
Definition: dnnl_types.h:183
dnnl_aBCdef2b4c2b
@ dnnl_aBCdef2b4c2b
6D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:392
dnnl_pooling_v2_desc_t::diff_dst_desc
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:1585
dnnl_binary_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1870
dnnl_goihw
@ dnnl_goihw
5D CNN weights tensor (incl. groups), an alias to dnnl_abcde
Definition: dnnl_types.h:533
dnnl_bidirectional_sum
@ dnnl_bidirectional_sum
Bidirectional execution of RNN primitive with summation of the results.
Definition: dnnl_types.h:1779
dnnl_eltwise_desc_t::alpha
float alpha
Algorithm specific parameter.
Definition: dnnl_types.h:1489
dnnl_eltwise_linear
@ dnnl_eltwise_linear
Eltwise: linear.
Definition: dnnl_types.h:964
dnnl_nCw16c
@ dnnl_nCw16c
3D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBc16b
Definition: dnnl_types.h:619
dnnl_vanilla_gru
@ dnnl_vanilla_gru
GRU cell.
Definition: dnnl_types.h:1027
dnnl_rnn_desc_t::dst_iter_c_desc
dnnl_memory_desc_t dst_iter_c_desc
Destination iter memory descriptor for cell state.
Definition: dnnl_types.h:1814
dnnl_convolution_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1373
dnnl_binary_desc_t::alg_kind
dnnl_alg_kind_t alg_kind
The kind of the binary algorithm.
Definition: dnnl_types.h:1874
dnnl_abc
@ dnnl_abc
plain 3D tensor
Definition: dnnl_types.h:179
dnnl_nCw32c
@ dnnl_nCw32c
3D CNN activations tensor blocked by channels with block size 32, an alias to dnnl_aBc32b
Definition: dnnl_types.h:616
dnnl_stream
An opaque structure to describe an execution stream.
dnnl_blocking_desc_t::inner_idxs
dnnl_dims_t inner_idxs
The logical indices of the blocks, e.g.
Definition: dnnl_types.h:1185
dnnl_wigo
@ dnnl_wigo
4D CNN weights tensor (incl. groups), an alias to dnnl_dcab
Definition: dnnl_types.h:531
dnnl_binary_desc_t
A descriptor of a binary operation.
Definition: dnnl_types.h:1867
dnnl_matmul_desc_t::weights_desc
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition: dnnl_types.h:1900
dnnl_memory_extra_desc_t::compensation_mask
int compensation_mask
Compensation mask.
Definition: dnnl_types.h:1264
dnnl_memory_extra_flags_t
dnnl_memory_extra_flags_t
Flags for memory special features.
Definition: dnnl_types.h:1241
dnnl_pooling_v2_desc_t::alg_kind
dnnl_alg_kind_t alg_kind
The kind of pooling algorithm.
Definition: dnnl_types.h:1577
dnnl_convolution_direct
@ dnnl_convolution_direct
Direct convolution.
Definition: dnnl_types.h:942
dnnl_version_t::gpu_runtime
unsigned gpu_runtime
GPU runtime.
Definition: dnnl_types.h:2476
dnnl_lrn_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1631
dnnl_reduction_min
@ dnnl_reduction_min
Reduction using min.
Definition: dnnl_types.h:1055
dnnl_pooling_desc_t::diff_dst_desc
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:1547
dnnl_query_diff_src_md
@ dnnl_query_diff_src_md
source gradient memory desc
Definition: dnnl_types.h:2397
dnnl_abcdefgih
@ dnnl_abcdefgih
permuted 9D tensor
Definition: dnnl_types.h:218
dnnl_resampling_desc_t::src_desc
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:1926
dnnl_wio
@ dnnl_wio
3D CNN weights tensor, an alias to dnnl_cba
Definition: dnnl_types.h:504
dnnl_pooling_v2_desc_t
A descriptor of a pooling operation.
Definition: dnnl_types.h:1566
dnnl_nChw32c
@ dnnl_nChw32c
4D CNN activations tensor blocked by channels with block size 32, an alias to dnnl_aBcd32b
Definition: dnnl_types.h:604
dnnl_rnn_desc_t::diff_src_layer_desc
dnnl_memory_desc_t diff_src_layer_desc
Source gradient layer memory descriptor.
Definition: dnnl_types.h:1825
dnnl_inner_product_desc_t::diff_dst_desc
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:1752
dnnl_forward_scoring
@ dnnl_forward_scoring
Forward data propagation (alias for dnnl_forward_inference).
Definition: dnnl_types.h:870
dnnl_aBcde8b
@ dnnl_aBcde8b
5D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:358
dnnl_prop_kind_undef
@ dnnl_prop_kind_undef
Undefined propagation type.
Definition: dnnl_types.h:861
dnnl_blocked
@ dnnl_blocked
A tensor in a generic format described by the stride and blocking values in each dimension.
Definition: dnnl_types.h:89
dnnl_rnn_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1791
dnnl_query_primitive_kind
@ dnnl_query_primitive_kind
primitive kind
Definition: dnnl_types.h:2350
dnnl_unidirectional_left2right
@ dnnl_unidirectional_left2right
Unidirectional execution of RNN primitive from left to right.
Definition: dnnl_types.h:1771
dnnl_prelu
@ dnnl_prelu
A PReLU primitive.
Definition: dnnl_types.h:931
dnnl_rnn_desc_t::diff_weights_iter_desc
dnnl_memory_desc_t diff_weights_iter_desc
Weights gradient iter memory descriptor.
Definition: dnnl_types.h:1833
dnnl_iohw
@ dnnl_iohw
4D CNN weights tensor, an alias to dnnl_bacd
Definition: dnnl_types.h:516
dnnl_eltwise_elu
@ dnnl_eltwise_elu
Eltwise: exponential linear unit (elu)
Definition: dnnl_types.h:956
dnnl_eltwise_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1444
dnnl_odhwi
@ dnnl_odhwi
5D CNN weights tensor, an alias to dnnl_acdeb
Definition: dnnl_types.h:524
dnnl_reduction
@ dnnl_reduction
A reduction primitive.
Definition: dnnl_types.h:929
dnnl_nwc
@ dnnl_nwc
3D CNN activations tensor, an alias to dnnl_acb
Definition: dnnl_types.h:483
dnnl_nCw4c
@ dnnl_nCw4c
3D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBc4b
Definition: dnnl_types.h:622
dnnl_aBcde32b
@ dnnl_aBcde32b
5D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:341
dnnl_reduction_desc_t::primitive_kind
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1946
dnnl_vanilla_lstm
@ dnnl_vanilla_lstm
LSTM cell.
Definition: dnnl_types.h:1025
dnnl_any_engine
@ dnnl_any_engine
An unspecified engine.
Definition: dnnl_types.h:1981
dnnl_nCdhw4c
@ dnnl_nCdhw4c
5D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcde4b
Definition: dnnl_types.h:598
dnnl_resampling
@ dnnl_resampling
A resampling primitive.
Definition: dnnl_types.h:925
dnnl_wino_wei_aaOBiOo
@ dnnl_wino_wei_aaOBiOo
Internal weights format for 2x3 Winograd.
Definition: dnnl_types.h:1195
dnnl_cpu_isa_avx
@ dnnl_cpu_isa_avx
Intel Advanced Vector Extensions (Intel AVX)
Definition: dnnl_types.h:2508
dnnl_bca
@ dnnl_bca
permuted 3D tensor
Definition: dnnl_types.h:205
dnnl_reduction_norm_lp_max
@ dnnl_reduction_norm_lp_max
Reduction using lp norm.
Definition: dnnl_types.h:1063
dnnl_prop_kind_t
dnnl_prop_kind_t
Kinds of propagation.
Definition: dnnl_types.h:858
dnnl_query_scratchpad_md
@ dnnl_query_scratchpad_md
scratchpad memory desc
Definition: dnnl_types.h:2403
dnnl_lrn_desc_t::lrn_k
float lrn_k
LRN k parameter.
Definition: dnnl_types.h:1650
dnnl_nchw
@ dnnl_nchw
4D CNN activations tensor, an alias to dnnl_abcd
Definition: dnnl_types.h:485
dnnl_resampling_desc_t::prop_kind
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1921
dnnl_eltwise_gelu
@ dnnl_eltwise_gelu
Eltwise: tanh-based gelu (alias for dnnl_eltwise_gelu_tanh)
Definition: dnnl_types.h:979
dnnl_lrn_desc_t::alg_kind
dnnl_alg_kind_t alg_kind
LRN algorithm.
Definition: dnnl_types.h:1637
dnnl_lrn_desc_t::local_size
dnnl_dim_t local_size
The number of channels to sum over (for cross-channel LRN) or the side length of the square region to...
Definition: dnnl_types.h:1644
dnnl_query_weights_md
@ dnnl_query_weights_md
weights memory descriptor desc
Definition: dnnl_types.h:2398
dnnl_memory_extra_desc_t
Description of extra information stored in memory.
Definition: dnnl_types.h:1259
dnnl_inner_product_desc_t::diff_bias_desc
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: dnnl_types.h:1748
dnnl_resampling_desc_t::alg_kind
dnnl_alg_kind_t alg_kind
The kind of the resampling algorithm.
Definition: dnnl_types.h:1924
dnnl_pooling_desc_t::diff_src_desc
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:1543
dnnl_shuffle_desc_t::data_desc
dnnl_memory_desc_t data_desc
Source and destination memory descriptor, and source and destination gradient memory descriptor.
Definition: dnnl_types.h:1428
dnnl_query_batch_normalization_d
@ dnnl_query_batch_normalization_d
batch normalization descriptor
Definition: dnnl_types.h:2382
dnnl_eltwise_tanh_use_dst_for_bwd
@ dnnl_eltwise_tanh_use_dst_for_bwd
Eltwise: hyperbolic tangent non-linearity (tanh) (dst for backward)
Definition: dnnl_types.h:999
dnnl_pooling_desc_t::strides
dnnl_dims_t strides
Pooling kernel strides for spatial dimensions.
Definition: dnnl_types.h:1549
dnnl_rnn_desc_t::dst_iter_desc
dnnl_memory_desc_t dst_iter_desc
Destination iter memory descriptor for hidden state.
Definition: dnnl_types.h:1812
dnnl_convolution_desc_t::accum_data_type
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:1402
dnnl_chwn
@ dnnl_chwn
4D CNN activations tensor, an alias to dnnl_bcda
Definition: dnnl_types.h:489
dnnl_rnn_desc_t::cell_kind
dnnl_alg_kind_t cell_kind
RNN cell kind.
Definition: dnnl_types.h:1794
dnnl_undefined_primitive
@ dnnl_undefined_primitive
Undefined primitive.
Definition: dnnl_types.h:887
dnnl_eltwise_soft_relu
@ dnnl_eltwise_soft_relu
Eltwise: soft_relu.
Definition: dnnl_types.h:968
dnnl_abcdefghikj
@ dnnl_abcdefghikj
permuted 11D tensor
Definition: dnnl_types.h:220
dnnl_nt
@ dnnl_nt
2D RNN statistics tensor, an alias to dnnl_ba
Definition: dnnl_types.h:479
dnnl_deconvolution_desc_t
dnnl_convolution_desc_t dnnl_deconvolution_desc_t
A descriptor of a deconvolution operation.
Definition: dnnl_types.h:1411
dnnl_memory_desc_t::offset0
dnnl_dim_t offset0
Offset from memory origin to the current block, non-zero only in a description of a memory sub-block.
Definition: dnnl_types.h:1308
dnnl_unidirectional_right2left
@ dnnl_unidirectional_right2left
Unidirectional execution of RNN primitive from right to left.
Definition: dnnl_types.h:1773
dnnl_aBcd8b
@ dnnl_aBcd8b
4D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:303
dnnl_ab
@ dnnl_ab
plain 2D tensor
Definition: dnnl_types.h:178
dnnl_memory_desc_t::rnn_packed_desc
dnnl_rnn_packed_desc_t rnn_packed_desc
Tensor of packed weights for RNN.
Definition: dnnl_types.h:1319
dnnl_query_scratchpad_engine
@ dnnl_query_scratchpad_engine
(scratch) memory, additional to all inputs and outputs memory (bytes)
Definition: dnnl_types.h:2361
dnnl_pooling_v2
@ dnnl_pooling_v2
A pooling version 2 primitive (pooling with dilation support).
Definition: dnnl_types.h:927
dnnl_runtime_error
@ dnnl_runtime_error
Primitive or engine failed on execution.
Definition: dnnl_types.h:51
dnnl_giodhw
@ dnnl_giodhw
6D CNN weights tensor (incl. groups), an alias to dnnl_acbdef
Definition: dnnl_types.h:541
dnnl_query_exec_arg_md
@ dnnl_query_exec_arg_md
memory desc of an execute argument
Definition: dnnl_types.h:2404
dnnl_query_some_d
@ dnnl_query_some_d
stub
Definition: dnnl_types.h:2372
dnnl_pooling_avg_exclude_padding
@ dnnl_pooling_avg_exclude_padding
Average pooling exclude padding.
Definition: dnnl_types.h:1015
dnnl_binary_add
@ dnnl_binary_add
Binary add.
Definition: dnnl_types.h:1037