载入中...
搜索中...
未找到
CpuKernels.h
浏览该文件的文档.
1
2#include "common/Export.h"
3#ifndef EVE_TENSOR_CPUKERNELS_H
4#define EVE_TENSOR_CPUKERNELS_H
5
6#include "tensor/Graph.h"
7
8#include <cstddef>
9
10namespace eve::tensor {
11
20namespace kernels {
21
24float applyUnary(OpType type, float x, float s0, float s1);
25
29
32bool broadcastShape(const int *aDims, int aRank, const int *bDims, int bRank, int *outDims,
33 int &outRank);
34
37void binaryOp(OpType type, const float *a, const int *aDims, int aRank, const float *b,
38 const int *bDims, int bRank, float *out, const int *outDims, int outRank);
39
42void unaryOp(OpType type, const float *in, int count, float *out, float s0, float s1);
43
45EVENGINE_API_DOMAINS void softmax(const float *in, const int *dims, int rank, int axis, bool logMode, float *out);
47void layernorm(const float *in, int rows, int cols, const float *scale, const float *bias,
48 float eps, float *out);
50void rmsnorm(const float *in, int rows, int cols, const float *scale, float eps, float *out);
51
53void conv1d(const float *x, const int *xDims, const float *w, const int *wDims,
54 const float *bias, int stride, int pad, float *out);
56void conv2d(const float *x, const int *xDims, const float *w, const int *wDims,
57 const float *bias, int stride, int pad, float *out);
59void maxpool2d(const float *in, const int *dims, int ksize, int stride, int pad, float *out);
61void avgpool2d(const float *in, const int *dims, int ksize, int stride, int pad, float *out);
62
65void embedding(const float *table, int vocab, int dim, const float *indices, int count,
66 float *out);
67
70void concat(const float *const *ins, const int *const *inDims, const int *inRanks, int n,
71 int axis, float *out, const int *outDims, int outRank);
72
74void sliceOp(const float *in, const int *inDims, int inRank, int axis, int begin, int end,
75 float *out, const int *outDims, int outRank);
77void permute(const float *in, const int *inDims, int rank, const int *order, float *out,
78 const int *outDims);
79
82void reduceAxis(OpType type, const float *in, const int *dims, int rank, int axis, float *out,
83 const int *outDims, int outRank);
85void argmax(const float *in, const int *dims, int rank, int axis, float *out,
86 const int *outDims, int outRank);
87
93void sdpa(const float *q, const float *k, const float *v, const float *mask, int B, int H,
94 int T, int S, int D, float scale, float *out);
95
98void resize2d(const float *in, const int *inDims, int outW, int outH, int mode, float *out);
99
100} // namespace kernels
101} // namespace eve::tensor
102
103#endif // EVE_TENSOR_CPUKERNELS_H
float w
Definition AnimClip.cpp:738
float x
Definition AnimClip.cpp:738
int mask
#define EVENGINE_API_DOMAINS
Definition Export.h:110
int rows
int cols
glm::vec3 n
Definition Grass.cpp:63
std::vector< std::uint32_t > indices
float v
std::array< float, 3 > scale
MeleePoint3 b
Definition MeleeHit.cpp:41
MeleePoint3 a
Definition MeleeHit.cpp:40
std::vector< std::int32_t > order
float begin
float bias
std::uint32_t count
void maxpool2d(const float *in, const int *dims, int ksize, int stride, int pad, float *out)
Maxpool 2 d.
void conv2d(const float *x, const int *xDims, const float *w, const int *wDims, const float *bias, int stride, int pad, float *out)
Conv 2 d.
void sdpa(const float *q, const float *k, const float *v, const float *mask, int B, int H, int T, int S, int D, float scale, float *out)
Sdpa.
void sliceOp(const float *in, const int *inDims, int inRank, int axis, int begin, int end, float *out, const int *outDims, int outRank)
Slice op.
void embedding(const float *table, int vocab, int dim, const float *indices, int count, float *out)
Embedding.
void avgpool2d(const float *in, const int *dims, int ksize, int stride, int pad, float *out)
Avgpool 2 d.
void binaryOp(OpType type, const float *a, const int *aDims, int aRank, const float *b, const int *bDims, int bRank, float *out, const int *outDims, int outRank)
Binary op.
void permute(const float *in, const int *inDims, int rank, const int *order, float *out, const int *outDims)
Permute.
void reduceAxis(OpType type, const float *in, const int *dims, int rank, int axis, float *out, const int *outDims, int outRank)
Reduce axis.
float applyUnary(OpType t, float x, float s0, float s1)
Applies unary.
bool broadcastShape(const int *aDims, int aRank, const int *bDims, int bRank, int *outDims, int &outRank)
Broadcast shape.
bool isElementwiseOp(OpType t)
True when elementwise op.
void argmax(const float *in, const int *dims, int rank, int axis, float *out, const int *outDims, int outRank)
Argmax.
void layernorm(const float *in, int rows, int cols, const float *scale, const float *bias, float eps, float *out)
Layernorm.
void rmsnorm(const float *in, int rows, int cols, const float *scale, float eps, float *out)
Rmsnorm.
void softmax(const float *in, const int *dims, int rank, int axis, bool logMode, float *out)
Softmax.
void concat(const float *const *ins, const int *const *inDims, const int *inRanks, int n, int axis, float *out, const int *outDims, int outRank)
Concat.
void conv1d(const float *x, const int *xDims, const float *w, const int *wDims, const float *bias, int stride, int pad, float *out)
Conv 1 d.
void unaryOp(OpType type, const float *in, int count, float *out, float s0, float s1)
Unary op.
void resize2d(const float *in, const int *inDims, int outW, int outH, int mode, float *out)
Resize 2 d.
OpType
OpType public API.
Definition Graph.h:22
uint32_t pad[2]