gemm.h 1.6 KB
Newer Older
PanZezhongQY's avatar
PanZezhongQY committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef __INFINIOP_GEMM_H__
#define __INFINIOP_GEMM_H__

#include "../operator.h"

typedef InfiniopDescriptor *infiniopGEMMDescriptor_t;

__C __export infiniopStatus_t infiniopCreateGEMMDescriptor(infiniopHandle_t handle,
                                                           infiniopGEMMDescriptor_t *desc_ptr,
                                                           infiniopTensorDescriptor_t y_desc,
                                                           infiniopTensorDescriptor_t a_desc,
                                                           infiniopTensorDescriptor_t b_desc,
                                                           infiniopTensorDescriptor_t c_desc,
                                                           char transA,
                                                           char transB);

__C __export infiniopStatus_t infiniopGetGEMMWorkspaceSize(infiniopGEMMDescriptor_t desc, size_t *size);

__C __export infiniopStatus_t infiniopGEMM(infiniopGEMMDescriptor_t desc,
                                           void *workspace,
                                           size_t workspace_size,
                                           void *y,
                                           void const *a,
                                           void const *b,
                                           void const *c,
                                           float alpha,
                                           float beta,
                                           void *stream);

__C __export infiniopStatus_t infiniopDestroyGEMMDescriptor(infiniopGEMMDescriptor_t desc);
#endif