matmul.h 1.33 KB
Newer Older
PanZezhongQY's avatar
PanZezhongQY committed
1
2
3
4
5
6
7
#ifndef __INFINIOP_MATMUL_H__
#define __INFINIOP_MATMUL_H__

#include "../operator.h"

typedef InfiniopDescriptor *infiniopMatmulDescriptor_t;

PanZezhong's avatar
PanZezhong committed
8
9
10
11
12
__C __export infiniStatus_t infiniopCreateMatmulDescriptor(infiniopHandle_t handle,
                                                           infiniopMatmulDescriptor_t *desc_ptr,
                                                           infiniopTensorDescriptor_t c_desc,
                                                           infiniopTensorDescriptor_t a_desc,
                                                           infiniopTensorDescriptor_t b_desc);
PanZezhongQY's avatar
PanZezhongQY committed
13

PanZezhong's avatar
PanZezhong committed
14
__C __export infiniStatus_t infiniopGetMatmulWorkspaceSize(infiniopMatmulDescriptor_t desc, size_t *size);
PanZezhongQY's avatar
PanZezhongQY committed
15

PanZezhong's avatar
PanZezhong committed
16
17
18
19
20
21
22
23
24
__C __export infiniStatus_t infiniopMatmul(infiniopMatmulDescriptor_t desc,
                                           void *workspace,
                                           size_t workspace_size,
                                           void *c,
                                           void const *a,
                                           void const *b,
                                           float alpha,
                                           float beta,
                                           void *stream);
PanZezhongQY's avatar
PanZezhongQY committed
25

PanZezhong's avatar
PanZezhong committed
26
__C __export infiniStatus_t infiniopDestroyMatmulDescriptor(infiniopMatmulDescriptor_t desc);
PanZezhongQY's avatar
PanZezhongQY committed
27
28

#endif