Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions include/infiniop.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,47 @@
#define __INFINIOP_API_H__

#include "infiniop/handle.h"
#include "infiniop/ops/abs.h"
#include "infiniop/ops/acos.h"
#include "infiniop/ops/acosh.h"
#include "infiniop/ops/add.h"
#include "infiniop/ops/add_rms_norm.h"
#include "infiniop/ops/asin.h"
#include "infiniop/ops/asinh.h"
#include "infiniop/ops/atan.h"
#include "infiniop/ops/atanh.h"
#include "infiniop/ops/attention.h"
#include "infiniop/ops/ceil.h"
#include "infiniop/ops/cos.h"
#include "infiniop/ops/cosh.h"
#include "infiniop/ops/erf.h"
#include "infiniop/ops/floor.h"
#include "infiniop/ops/causal_softmax.h"
#include "infiniop/ops/clip.h"
#include "infiniop/ops/conv.h"
#include "infiniop/ops/dequantize_awq.h"
#include "infiniop/ops/div.h"
#include "infiniop/ops/gelu.h"
#include "infiniop/ops/gemm.h"
#include "infiniop/ops/layer_norm.h"
#include "infiniop/ops/log.h"
#include "infiniop/ops/logsoftmax.h"
#include "infiniop/ops/lp_norm.h"
#include "infiniop/ops/max.h"
#include "infiniop/ops/min.h"
#include "infiniop/ops/mul.h"
#include "infiniop/ops/neg.h"
#include "infiniop/ops/ones.h"
#include "infiniop/ops/paged_attention.h"
#include "infiniop/ops/paged_attention_prefill.h"
#include "infiniop/ops/paged_caching.h"
#include "infiniop/ops/random_sample.h"
#include "infiniop/ops/reciprocal.h"
#include "infiniop/ops/rearrange.h"
#include "infiniop/ops/round.h"
#include "infiniop/ops/sign.h"
#include "infiniop/ops/sinh.h"
#include "infiniop/ops/sqrt.h"
#include "infiniop/ops/relu.h"
#include "infiniop/ops/rms_norm.h"
#include "infiniop/ops/rope.h"
Expand All @@ -30,6 +52,7 @@
#include "infiniop/ops/softplus.h"
#include "infiniop/ops/sub.h"
#include "infiniop/ops/swiglu.h"
#include "infiniop/ops/tan.h"
#include "infiniop/ops/tanh.h"
#include "infiniop/ops/topkrouter.h"
#include "infiniop/ops/topksoftmax.h"
Expand Down
24 changes: 24 additions & 0 deletions include/infiniop/ops/abs.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_ABS_API_H__
#define __INFINIOP_ABS_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopAbsDescriptor_t;

__C __export infiniStatus_t infiniopCreateAbsDescriptor(infiniopHandle_t handle,
infiniopAbsDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetAbsWorkspaceSize(infiniopAbsDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopAbs(infiniopAbsDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyAbsDescriptor(infiniopAbsDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/acos.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_ACOS_API_H__
#define __INFINIOP_ACOS_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopAcosDescriptor_t;

__C __export infiniStatus_t infiniopCreateAcosDescriptor(infiniopHandle_t handle,
infiniopAcosDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetAcosWorkspaceSize(infiniopAcosDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopAcos(infiniopAcosDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyAcosDescriptor(infiniopAcosDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/acosh.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_ACOSH_API_H__
#define __INFINIOP_ACOSH_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopAcoshDescriptor_t;

__C __export infiniStatus_t infiniopCreateAcoshDescriptor(infiniopHandle_t handle,
infiniopAcoshDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetAcoshWorkspaceSize(infiniopAcoshDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopAcosh(infiniopAcoshDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyAcoshDescriptor(infiniopAcoshDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/asin.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_ASIN_API_H__
#define __INFINIOP_ASIN_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopAsinDescriptor_t;

__C __export infiniStatus_t infiniopCreateAsinDescriptor(infiniopHandle_t handle,
infiniopAsinDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetAsinWorkspaceSize(infiniopAsinDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopAsin(infiniopAsinDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyAsinDescriptor(infiniopAsinDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/asinh.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_ASINH_API_H__
#define __INFINIOP_ASINH_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopAsinhDescriptor_t;

__C __export infiniStatus_t infiniopCreateAsinhDescriptor(infiniopHandle_t handle,
infiniopAsinhDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetAsinhWorkspaceSize(infiniopAsinhDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopAsinh(infiniopAsinhDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyAsinhDescriptor(infiniopAsinhDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/atan.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_ATAN_API_H__
#define __INFINIOP_ATAN_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopAtanDescriptor_t;

__C __export infiniStatus_t infiniopCreateAtanDescriptor(infiniopHandle_t handle,
infiniopAtanDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetAtanWorkspaceSize(infiniopAtanDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopAtan(infiniopAtanDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyAtanDescriptor(infiniopAtanDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/atanh.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_ATANH_API_H__
#define __INFINIOP_ATANH_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopAtanhDescriptor_t;

__C __export infiniStatus_t infiniopCreateAtanhDescriptor(infiniopHandle_t handle,
infiniopAtanhDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetAtanhWorkspaceSize(infiniopAtanhDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopAtanh(infiniopAtanhDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyAtanhDescriptor(infiniopAtanhDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/ceil.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_CEIL_API_H__
#define __INFINIOP_CEIL_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopCeilDescriptor_t;

__C __export infiniStatus_t infiniopCreateCeilDescriptor(infiniopHandle_t handle,
infiniopCeilDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetCeilWorkspaceSize(infiniopCeilDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopCeil(infiniopCeilDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyCeilDescriptor(infiniopCeilDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/cos.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_COS_API_H__
#define __INFINIOP_COS_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopCosDescriptor_t;

__C __export infiniStatus_t infiniopCreateCosDescriptor(infiniopHandle_t handle,
infiniopCosDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetCosWorkspaceSize(infiniopCosDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopCos(infiniopCosDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyCosDescriptor(infiniopCosDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/cosh.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_COSH_API_H__
#define __INFINIOP_COSH_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopCoshDescriptor_t;

__C __export infiniStatus_t infiniopCreateCoshDescriptor(infiniopHandle_t handle,
infiniopCoshDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetCoshWorkspaceSize(infiniopCoshDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopCosh(infiniopCoshDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyCoshDescriptor(infiniopCoshDescriptor_t desc);

#endif
26 changes: 26 additions & 0 deletions include/infiniop/ops/div.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#ifndef __INFINIOP_DIV_API_H__
#define __INFINIOP_DIV_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopDivDescriptor_t;

__C __export infiniStatus_t infiniopCreateDivDescriptor(infiniopHandle_t handle,
infiniopDivDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t c,
infiniopTensorDescriptor_t a,
infiniopTensorDescriptor_t b);

__C __export infiniStatus_t infiniopGetDivWorkspaceSize(infiniopDivDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopDiv(infiniopDivDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *c,
const void *a,
const void *b,
void *stream);

__C __export infiniStatus_t infiniopDestroyDivDescriptor(infiniopDivDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/erf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_ERF_API_H__
#define __INFINIOP_ERF_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopErfDescriptor_t;

__C __export infiniStatus_t infiniopCreateErfDescriptor(infiniopHandle_t handle,
infiniopErfDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetErfWorkspaceSize(infiniopErfDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopErf(infiniopErfDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyErfDescriptor(infiniopErfDescriptor_t desc);

#endif
24 changes: 24 additions & 0 deletions include/infiniop/ops/floor.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#ifndef __INFINIOP_FLOOR_API_H__
#define __INFINIOP_FLOOR_API_H__

#include "../operator_descriptor.h"

typedef struct InfiniopDescriptor *infiniopFloorDescriptor_t;

__C __export infiniStatus_t infiniopCreateFloorDescriptor(infiniopHandle_t handle,
infiniopFloorDescriptor_t *desc_ptr,
infiniopTensorDescriptor_t y,
infiniopTensorDescriptor_t x);

__C __export infiniStatus_t infiniopGetFloorWorkspaceSize(infiniopFloorDescriptor_t desc, size_t *size);

__C __export infiniStatus_t infiniopFloor(infiniopFloorDescriptor_t desc,
void *workspace,
size_t workspace_size,
void *y,
const void *x,
void *stream);

__C __export infiniStatus_t infiniopDestroyFloorDescriptor(infiniopFloorDescriptor_t desc);

#endif
Loading