Merge branch 'giga' of ssh://ssh.github.com:443/Nitload-NSI/CCD_Github into local
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include "sn_matkernel.h"
|
||||
#include <immintrin.h>
|
||||
#include <smmintrin.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#include <intrin.h>
|
||||
@@ -203,6 +204,20 @@ typedef void(SN_DECL *KER_PROC_LAS)(mat_kernel *matrix, mat_kernel *ans, scalar_
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region special matrix kernel operation
|
||||
|
||||
typedef void(SN_DECL *POVITPROC)(mat_kernel const *source, mat_kernel *ans);
|
||||
#define MAT_POVIT_PROC(T_type, T_arch) povit_##T_type##_##T_arch
|
||||
#define DECLARE_MAT_POVIT_PROC(T_type, T_arch) \
|
||||
INTERNAL void SN_DECL MAT_POVIT_PROC(T_type, T_arch)(MAT_KERNEL(T_type) const *source, \
|
||||
size_t col_begin, size_t col_length, \
|
||||
size_t *restrict ans)
|
||||
DECLARE_MAT_POVIT_PROC(float, sse);
|
||||
DECLARE_MAT_POVIT_PROC(float, avx);
|
||||
DECLARE_MAT_POVIT_PROC(float, 512);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
typedef void(SN_DECL *VECTORNORMALIZEPROC)(__m128 *source, __m128 *target);
|
||||
typedef void(SN_DECL *DOTPROC)(void *transpose, __m128 *vector, __m128 *ans);
|
||||
typedef uint64_t(SN_DECL *FACTORIALROC)(int n);
|
||||
|
||||
Reference in New Issue
Block a user