Gemm - 7 vs 9

Next section compares an older to a newer version of the same operator after both definition are converted into markdown text. Green means an addition to the newer version, red means a deletion. Anything else is unchanged.

Files changed (1) hide show
  1. Gemm7 → Gemm9 +1 -2
Gemm7 → Gemm9 RENAMED
@@ -1 +1 @@
1
1
  General Matrix multiplication:
2
2
  https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms#Level_3
3
3
  A' = transpose(A) if transA else A
4
4
  B' = transpose(B) if transB else B
5
5
  Compute Y = alpha * A' * B' + beta * C, where input tensor A has shape (M, K) or (K, M),
6
6
  input tensor B has shape (K, N) or (N, K), input tensor C is broadcastable to shape (M, N),
7
7
  and output tensor Y has shape (M, N). A will be transposed before doing the
8
8
  computation if attribute transA is non-zero, same for B and transB.
9
9
  This operator supports **unidirectional broadcasting** (tensor C should be unidirectional broadcastable to tensor A * B); for more details please check [Broadcasting in ONNX](https://github.com/onnx/onnx/blob/main/docs/Broadcasting.md).
10
10
  ### Attributes
11
11
  * **alpha - FLOAT** (default is '1.0'):
12
12
  Scalar multiplier for the product of input tensors A * B.
13
13
  * **beta - FLOAT** (default is '1.0'):
14
14
  Scalar multiplier for input tensor C.
15
15
  * **transA - INT** (default is '0'):
16
16
  Whether A should be transposed
17
17
  * **transB - INT** (default is '0'):
18
18
  Whether B should be transposed
19
19
  ### Inputs
20
20
  - **A** (heterogeneous) - **T**:
21
21
  Input tensor A. The shape of A should be (M, K) if transA is 0, or (K, M) if transA is non-zero.
22
22
  - **B** (heterogeneous) - **T**:
23
23
  Input tensor B. The shape of B should be (K, N) if transB is 0, or (N, K) if transB is non-zero.
24
24
  - **C** (heterogeneous) - **T**:
25
25
  Input tensor C. The shape of C should be unidirectional broadcastable to (M, N).
26
26
  ### Outputs
27
27
  - **Y** (heterogeneous) - **T**:
28
28
  Output tensor of shape (M, N).
29
29
  ### Type Constraints
30
- * **T** in ( tensor(double), tensor(float), tensor(float16) ):
30
+ * **T** in ( tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) ):
31
- Constrain input and output types to float tensors.+ Constrain input and output types to float/int tensors.? ++++