You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: doc/rst/index.rst
+1
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,7 @@ oneAPI Deep Neural Network Library Developer Guide and Reference
11
11
dev_guide_examples
12
12
performance_profiling_and_inspection
13
13
advanced_topics
14
+
ukernels
14
15
group_dnnl_api.rst
15
16
16
17
oneAPI Deep Neural Network Library (oneDNN) is an open-source cross-platform performance library of basic building blocks for deep learning applications. The library is optimized for Intel Architecture Processors, Intel Processor Graphics and Xe Architecture graphics. Support for other architectures such as Arm* 64-bit Architecture (AArch64) and OpenPOWER* Power ISA (PPC64) is experimental.
In general, C represents an accumulation buffer. Hence when
35
-
computations are carried in floating-point arithmetic, C shall be of
36
-
type f32, and when computation is carried in integer arithmetic, C
37
-
should be of type s32.
30
+
In general, C represents an accumulation buffer. Hence, when computations are
31
+
carried in floating-point arithmetic, C shall be of type f32; when computation
32
+
is carried in integer arithmetic, C should be of type s32.
38
33
39
34
The BRGeMM ukernel supports the following combinations of data-types.
40
35
@@ -47,21 +42,14 @@ The BRGeMM ukernel supports the following combinations of data-types.
47
42
48
43
## Data Representation
49
44
50
-
Because of hardware restrictions, the BRGeMM ukernel requires specific
51
-
data layout.
45
+
Because of hardware restrictions, the BRGeMM ukernel requires a specific data
46
+
layout.
52
47
53
-
<!-- TODO: update with proper query documentation when updated --> The
54
-
@ref dnnl::ukernel::brgemm_pack_B::need_pack() method can be called to determine
55
-
if packing is necessary. If so,
48
+
The @ref dnnl_brgemm_pack_B_need_pack method can be called to
49
+
determine if packing is necessary. If so,
56
50
[packB ukernel](@ref dev_guide_ukernel_transform) shall be created to do the
57
51
actual packing.
58
52
59
-
<!-- Which pack_type is required can be queried through #ref
60
-
dnnl::ukernel::brgemm::get_pack_type(). Using the pack_type, user is
61
-
responsible to pack the data appropriately before calling @ref
62
-
brgemm::execute, either with custom code, or using the [transform
63
-
ukernel](@ref dev_guide_ukernel_transform) -->
64
-
65
53
## Attributes
66
54
67
55
The following ukernel attributes can be set through dedicated setters.
@@ -73,19 +61,19 @@ The following ukernel attributes can be set through dedicated setters.
73
61
| Post-op |[Binary](@ref dnnl::post_ops::append_binary) | Applies a @ref dnnl_api_binary operation to the result | General binary post-op restrictions |
74
62
75
63
76
-
@note if zero-points are passed for A/B, fpmath_mode should be set for
77
-
the computation to happen over floating-point format (so up-conversion
78
-
to floating-point format would happen before computation). If
79
-
computation in integer format is needed, BRGeMM ukernel should be
80
-
configured without zero-point, and the user should prepare a
81
-
compensation term that will be passed to the binary post-op.
64
+
@note if zero-points are passed for A/B, fpmath_mode should be set for the
65
+
computation to happen over floating-point format (so up-conversion to
66
+
floating-point format would happen before computation). If computation in
67
+
integer format is needed, BRGeMM ukernel should be configured without
68
+
zero-point, and the user should prepare a compensation term that will be passed
0 commit comments