Huge progress on Matrix Parallel, a parallel pool has its basic structure.
This commit is contained in:
@@ -73,24 +73,34 @@ typedef uint64_t(SN_DECL *FACTORIALROC)(int n);
|
||||
|
||||
INTERNAL void normalize(__m128 *source, __m128 *target);
|
||||
|
||||
INTERNAL void SN_DECL kernel_add_sse(mat_kernel const *left, mat_kernel const *right, mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_add_avx(mat_kernel const *left, mat_kernel const *right, mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_add_512(mat_kernel const *left, mat_kernel const *right, mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_sub_sse(mat_kernel const *left, mat_kernel const *right, mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_sub_avx(mat_kernel const *left, mat_kernel const *right, mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_sub_512(mat_kernel const *left, mat_kernel const *right, mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_add_sse(mat_kernel const *left, mat_kernel const *right,
|
||||
mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_add_avx(mat_kernel const *left, mat_kernel const *right,
|
||||
mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_add_512(mat_kernel const *left, mat_kernel const *right,
|
||||
mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_sub_sse(mat_kernel const *left, mat_kernel const *right,
|
||||
mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_sub_avx(mat_kernel const *left, mat_kernel const *right,
|
||||
mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_sub_512(mat_kernel const *left, mat_kernel const *right,
|
||||
mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_transpose_sse(mat_kernel const *source, mat_kernel *target);
|
||||
INTERNAL void SN_DECL kernel_transpose_avx(mat_kernel const *source, mat_kernel *target);
|
||||
INTERNAL void SN_DECL kernel_transpose_512(mat_kernel const *source, mat_kernel *target);
|
||||
INTERNAL void SN_DECL kernel_scalar_mul_sse(mat_kernel const *matrix, float const scalar, mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_scalar_mul_avx(mat_kernel const *matrix, float const scalar, mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_scalar_mul_512(mat_kernel const *matrix, float const scalar, mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_scalar_mul_sse(mat_kernel const *matrix, float const scalar,
|
||||
mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_scalar_mul_avx(mat_kernel const *matrix, float const scalar,
|
||||
mat_kernel *ans);
|
||||
INTERNAL void SN_DECL kernel_scalar_mul_512(mat_kernel const *matrix, float const scalar,
|
||||
mat_kernel *ans);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region fma
|
||||
|
||||
INTERNAL void SN_DECL kernel_fma_sse(mat_kernel *left, mat_kernel *right);
|
||||
INTERNAL void SN_DECL kernel_fma_sse(mat_kernel const *restrict left,
|
||||
mat_kernel const *restrict right, mat_kernel *restrict ans);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
|
||||
Reference in New Issue
Block a user