namespace cpu {
namespace gemm_utils {
+// Alias for any dimension related variable.
+typedef ptrdiff_t dim_t;
template <typename T, bool isTransA, bool isTransB>
struct gemm_traits {};
template <typename T>
using unroll_factor = gemm_traits<T, false, false>;
-template <typename data_type>
-void sum_two_matrices(
- int m, int n, data_type *p_src, int ld_src, data_type *p_dst, int ld_dst);
+template <typename data_t>
+void sum_two_matrices(int m, int n,
+ data_t * __restrict p_src, dim_t ld_src,
+ data_t * __restrict p_dst, dim_t ld_dst);
void calc_nthr_nocopy_avx512_common(int m,
int n, int k, int nthrs, int *nthrs_m, int *nthrs_n, int *nthrs_k,
void partition_unit_diff(
int ithr, int nthr, int n, int *t_offset, int *t_block);
-
-inline double saturate(double value, double min, double max);
};
}