ONE - On-device Neural Engine
Loading...
Searching...
No Matches
onert::backend::ggml::ops Namespace Reference

Data Structures

class  FullyConnectedLayer
 
class  GatherLayer
 

Functions

ggml_type getGGMLType (ir::DataType type)
 
struct ggml_tensor getGGMLTensor (const IPortableTensor *tensor)
 
int32_t getAxis (uint32_t rank, int32_t axis)
 

Function Documentation

◆ getAxis()

int32_t onert::backend::ggml::ops::getAxis ( uint32_t  rank,
int32_t  axis 
)
inline

Definition at line 25 of file OperationUtils.h.

26{
27 auto ret = axis;
28
29 if (axis < 0)
30 {
31 ret += rank;
32 }
33
34 return ret;
35}

◆ getGGMLTensor()

struct ggml_tensor onert::backend::ggml::ops::getGGMLTensor ( const IPortableTensor tensor)

Definition at line 41 of file GGMLHelper.cc.

42{
43 struct ggml_tensor res;
44
45 res.type = getGGMLType(tensor->data_type());
46 const auto rank = tensor->getShape().rank();
47 for (int i = 0; i < GGML_MAX_DIMS; ++i)
48 {
49 if (i >= rank)
50 res.ne[i] = 1;
51 else
52 res.ne[i] = tensor->getShape().dim(rank - i - 1);
53 }
54
55 res.nb[0] = ggml_type_size(res.type);
56 res.nb[1] = res.nb[0] * (res.ne[0] / ggml_blck_size(res.type));
57 for (int i = 2; i < GGML_MAX_DIMS; ++i)
58 res.nb[i] = res.nb[i - 1] * res.ne[i - 1];
59
60 res.op = GGML_OP_NONE;
61 res.grad = nullptr;
62 res.data = (void *)(tensor->buffer());
63
64 return res;
65}
ggml_type getGGMLType(ir::DataType type)
Definition GGMLHelper.cc:22

References getGGMLType().

Referenced by onert::backend::ggml::ops::FullyConnectedLayer::fullyConnectedGGMLWeight().

◆ getGGMLType()

ggml_type onert::backend::ggml::ops::getGGMLType ( ir::DataType  type)

Definition at line 22 of file GGMLHelper.cc.

23{
24 switch (type)
25 {
26 case ir::DataType::FLOAT32:
27 return GGML_TYPE_F32;
28 case ir::DataType::QUANT_GGML_Q4_0:
29 return GGML_TYPE_Q4_0;
30 case ir::DataType::QUANT_GGML_Q8_0:
31 return GGML_TYPE_Q8_0;
32 case ir::DataType::INT32:
33 return GGML_TYPE_I32;
34 case ir::DataType::INT64:
35 return GGML_TYPE_I64;
36 default:
37 throw std::runtime_error("Unsupported data type");
38 }
39}
int32_t type

References type.

Referenced by getGGMLTensor().