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
{{ message }}
This repository was archived by the owner on Jan 13, 2025. It is now read-only.
The benchmarks can be given a CSV file containing the parameters to run with
79
-
(matrix/vector dimensions, transpose or not, etc), in the following format: one
80
-
line corresponds to one set of parameters, i.e. one name for the library (though
81
-
it will be iterated many times for statistical accuracy).
114
+
*(matrix/vector dimensions, transpose or not, etc)*, in the following format: one
115
+
line corresponds to one set of parameters, i.e. one name for the library *(though
116
+
it will be iterated many times for statistical accuracy)*.
82
117
83
118
The formats for the different BLAS levels are:
84
119
@@ -88,24 +123,51 @@ The formats for the different BLAS levels are:
88
123
| blas 2 |*transpose_A,m,n,alpha,beta*| Action on the matrix (`n`, `t`, `c`), dimensions, and scalars alpha and beta |
89
124
| blas 3 |||
90
125
| gemm |*transpose_A,transpose_B,m,k,n,alpha,beta*| Action on the matrices (`n`, `t`, `c`), dimensions (A: mk, B:kn, C: mn), and scalars alpha and beta |
91
-
| gemm (Batched) |*transpose_A,transpose_B,m,k,n,alpha,beta,batch_size*| Action on the matrices (`n`, `t`, `c`), dimensions (A: mk, B:kn, C: mn), scalars alpha and beta, batch size |
126
+
| gemm (Batched) |*transpose_A,transpose_B,m,k,n,alpha,beta,batch_size,batch_type*| Action on the matrices (`n`, `t`, `c`), dimensions (A: mk, B:kn, C: mn), scalars alpha and beta, batch size, batch_type|
92
127
| trsm |*side,triangle,transpose,diagonal,m,n,alpha*| Position of A (`l`, `r`), A is upper or lower triangular (`u`, `l`), transposition of A (`n`, `t`), A is unit or non-unit diagonal(`u`,`n`),dimensions, scalar alpha |
93
128
94
-
Note: for operations that support a stride, the benchmarks will use a stride of
95
-
1 (contiguous values), except for the GEMM batched operation where valid default stride values are used depending on batch type *(strided or interleaved)*. For operations that support a leading dimension, the
96
-
benchmarks use the minimum possible value (the actual leading dimension of the
97
-
matrix).
129
+
### Notes:
130
+
131
+
For operations that support an increment, the benchmarks will use an increment of
132
+
1 *(contiguous values)*, except for the GEMM batched operation where valid
133
+
default increment values are used depending on `batch_type`*(strided or
134
+
interleaved)*. For operations that support a leading dimension, the
135
+
benchmarks use the minimum possible value *(the actual leading dimension
136
+
of the matrix)*.
98
137
99
-
Here is an example of a valid CSV file for the GEMM benchmark:
138
+
For batched-strided operations that expect a stride(s), the benchmarking suite
139
+
expects **stride multipliers** instead of explicit stride values. For example, in
140
+
`gemm_batched_strided` operator, a `stride_a_mul=3` for matrix `A` of `size_a=m*k`
141
+
is equivalent to an actual stride of `stride_a = stride_a_mul * size_a`.
142
+
143
+
For operations that support Complex data type *(and when cmake option
144
+
BLAS_ENABLE_COMPLEX is enabled)*, scalars such as `alpha` and `beta` are
145
+
expected to have real and imaginary parts as separate values, if only single
146
+
scalar values are passed in the csv configuration files, complex values
147
+
for these arguments will be constructed by duplicating the same real value
148
+
for both imaginary and real parts. (e.g. alpha_cplx={alpha_real, alpha_real}).
149
+
150
+
151
+
Here are two examples of a valid CSV files for the GEMM benchmark:
0 commit comments