new compute kernel design, less mem read delay
This commit is contained in:
@@ -39,11 +39,6 @@ typedef union uint64_u {
|
||||
uint32_t u32[2];
|
||||
} uint64_u;
|
||||
|
||||
/* Opaque placeholder used by generic single-kernel dispatch.
|
||||
* It preserves pointer semantics without pretending every branch shares the
|
||||
* same concrete MAT_KERNEL(T) type. */
|
||||
typedef struct sn_mat_kernel_opaque sn_mat_kernel_opaque;
|
||||
|
||||
typedef struct mat_kernel mat_kernel;
|
||||
|
||||
typedef struct mat_panel mat_panel;
|
||||
@@ -76,10 +71,9 @@ static_assert(sizeof(matrix_task) == 128, "matrix_parallel_task_package size mis
|
||||
static_assert(sizeof(matrix_task) == 128, "matrix_parallel_task_package size mismatch");
|
||||
#endif
|
||||
|
||||
typedef void(SN_DECL *UNI_MK_PROC)(matrix_task const *task);
|
||||
typedef void(SN_DECL *UNI_SK_PROC)(sn_mat_kernel_opaque const *left,
|
||||
sn_mat_kernel_opaque const *right,
|
||||
sn_mat_kernel_opaque *restrict ans, uint64_t scalar);
|
||||
typedef void(SN_DECL *UNI_MK_PROC)(matrix_task *task);
|
||||
typedef void(SN_DECL *UNI_SK_PROC)(mat_kernel const *left, mat_kernel const *right,
|
||||
mat_kernel *restrict ans, uint64_t scalar);
|
||||
|
||||
typedef void(SN_DECL *VECTORNORMALIZEPROC)(sn_vec_f32 *source, sn_vec_f32 *target);
|
||||
typedef void(SN_DECL *DOTPROC)(void *transpose, __m128 *vector, __m128 *ans);
|
||||
|
||||
Reference in New Issue
Block a user