Skip to content

Commit 487871e

Browse files
gongchensuPanZezhong1725
authored andcommitted
Issue/887 - Add abs,acos,acosh,asin,asinh,atan,atanh,ceil,cos,cosh,erf,floor,log,neg,reciprocal,round,sign,sinh,sqrt,tan operator with CPU and NVIDIA implementations.
1 parent 2b1af54 commit 487871e

112 files changed

Lines changed: 7800 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

include/infiniop.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
#include "infiniop/ops/quant/per_channel_quant_int8.h"
6868
#include "infiniop/ops/quant/per_tensor_quant_int8.h"
6969
#include "infiniop/ops/random_sample.h"
70+
#include "infiniop/ops/reciprocal.h"
7071
#include "infiniop/ops/rearrange.h"
7172
#include "infiniop/ops/reciprocal.h"
7273
#include "infiniop/ops/relu.h"

include/infiniop/ops/abs.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_ABS_API_H__
2+
#define __INFINIOP_ABS_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopAbsDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateAbsDescriptor(infiniopHandle_t handle,
9+
infiniopAbsDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetAbsWorkspaceSize(infiniopAbsDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopAbs(infiniopAbsDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyAbsDescriptor(infiniopAbsDescriptor_t desc);
23+
24+
#endif

include/infiniop/ops/acosh.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_ACOSH_API_H__
2+
#define __INFINIOP_ACOSH_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopAcoshDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateAcoshDescriptor(infiniopHandle_t handle,
9+
infiniopAcoshDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetAcoshWorkspaceSize(infiniopAcoshDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopAcosh(infiniopAcoshDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyAcoshDescriptor(infiniopAcoshDescriptor_t desc);
23+
24+
#endif

include/infiniop/ops/atan.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_ATAN_API_H__
2+
#define __INFINIOP_ATAN_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopAtanDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateAtanDescriptor(infiniopHandle_t handle,
9+
infiniopAtanDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetAtanWorkspaceSize(infiniopAtanDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopAtan(infiniopAtanDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyAtanDescriptor(infiniopAtanDescriptor_t desc);
23+
24+
#endif

include/infiniop/ops/ceil.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_CEIL_API_H__
2+
#define __INFINIOP_CEIL_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopCeilDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateCeilDescriptor(infiniopHandle_t handle,
9+
infiniopCeilDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetCeilWorkspaceSize(infiniopCeilDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopCeil(infiniopCeilDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyCeilDescriptor(infiniopCeilDescriptor_t desc);
23+
24+
#endif

include/infiniop/ops/cos.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_COS_API_H__
2+
#define __INFINIOP_COS_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopCosDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateCosDescriptor(infiniopHandle_t handle,
9+
infiniopCosDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetCosWorkspaceSize(infiniopCosDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopCos(infiniopCosDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyCosDescriptor(infiniopCosDescriptor_t desc);
23+
24+
#endif

include/infiniop/ops/cosh.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_COSH_API_H__
2+
#define __INFINIOP_COSH_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopCoshDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateCoshDescriptor(infiniopHandle_t handle,
9+
infiniopCoshDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetCoshWorkspaceSize(infiniopCoshDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopCosh(infiniopCoshDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyCoshDescriptor(infiniopCoshDescriptor_t desc);
23+
24+
#endif

include/infiniop/ops/erf.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_ERF_API_H__
2+
#define __INFINIOP_ERF_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopErfDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateErfDescriptor(infiniopHandle_t handle,
9+
infiniopErfDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetErfWorkspaceSize(infiniopErfDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopErf(infiniopErfDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyErfDescriptor(infiniopErfDescriptor_t desc);
23+
24+
#endif

include/infiniop/ops/log.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_LOG_API_H__
2+
#define __INFINIOP_LOG_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopLogDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateLogDescriptor(infiniopHandle_t handle,
9+
infiniopLogDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetLogWorkspaceSize(infiniopLogDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopLog(infiniopLogDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyLogDescriptor(infiniopLogDescriptor_t desc);
23+
24+
#endif

include/infiniop/ops/neg.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#ifndef __INFINIOP_NEG_API_H__
2+
#define __INFINIOP_NEG_API_H__
3+
4+
#include "../operator_descriptor.h"
5+
6+
typedef struct InfiniopDescriptor *infiniopNegDescriptor_t;
7+
8+
__C __export infiniStatus_t infiniopCreateNegDescriptor(infiniopHandle_t handle,
9+
infiniopNegDescriptor_t *desc_ptr,
10+
infiniopTensorDescriptor_t y,
11+
infiniopTensorDescriptor_t x);
12+
13+
__C __export infiniStatus_t infiniopGetNegWorkspaceSize(infiniopNegDescriptor_t desc, size_t *size);
14+
15+
__C __export infiniStatus_t infiniopNeg(infiniopNegDescriptor_t desc,
16+
void *workspace,
17+
size_t workspace_size,
18+
void *y,
19+
const void *x,
20+
void *stream);
21+
22+
__C __export infiniStatus_t infiniopDestroyNegDescriptor(infiniopNegDescriptor_t desc);
23+
24+
#endif

0 commit comments

Comments
 (0)