本章节列出的接口均为预留接口,后续有可能变更或废弃,不建议开发者使用,开发者无需关注。
一级分类 |
二级分类 |
接口名称 |
功能描述 |
---|---|---|---|
通用接口 |
- |
GetRpcClient |
获取内部框架RPC客户端。 |
GetSubBlockIdx |
获取Subblock的索引ID。 硬件架构中包含负责向量计算的Vector核(AIV)以及负责矩阵计算的Cube核(AIC)。Subblock索引ID是指AIV的索引ID。 |
||
GetTaskRation |
获取Cube核(AIC)和Vector核(AIV)的配比。 |
||
GetTPipePtr |
获得TPipe指针。 |
||
InitOutput |
初始化GM输出。 |
||
数据定义 |
Tensor |
GetPhyAddr |
获取Tensor物理地址。 |
SetAddrWithOffset |
设置带有偏移的Tensor地址。 |
||
ToFile |
将Tensor内容写入文件。 |
||
GetBufferHandle |
获取BufferHandle指针,用于控制Buffer。 |
||
GetLocalBufferAddr |
获取LocalBuffer地址。 |
||
SetBufferLen |
设置Buffer长度。 |
||
SetShapeInfo |
设置Tensor的Shape信息。 |
||
SetBufferValue |
设置相应Buffer位置的值。 |
||
ListTensor |
ListTensorDesc |
ListTensorDesc类的构造函数, 用于解析对应的内存排布。 |
|
Init |
|||
GetDesc |
根据index获得对应的Tensor描述信息。 |
||
GetDataPtr |
根据index获取对应位置的二级指针。 |
||
GetSize |
获取二级指针的个数。 |
||
TensorDesc |
SetShapeAddr |
配置用于储存shape信息的地址。 |
|
GetDim |
获取TensorDesc的dim。 |
||
GetIndex |
获取TensorDesc在ListTensorDesc中对应的索引值。 |
||
GetShape |
获取对应维度的shape信息。 |
||
GetDataPtr |
获取数据指针。 |
||
GetDataObj |
将数据指针置于GlobalTensor中并获取该GlobalTensor。 |
||
内存管理与同步 |
TQueBind |
TQueBind |
TQueBind构造函数。用于跨越AIC、AIV之间时使用。 |
AllocBuffer |
从Que中分配内存,内存大小为InitBuffer时设置的每块内存长度。 |
||
FreeBuffer |
释放Que中的指定Buffer块,供Que后续使用 |
||
EnQue |
将TbufHandle放入Que队列。 |
||
DeQue |
TbufHandle从Que队列出队。 |
||
GetBufferAddr |
从TBufHandle中获取TBuffAddr信息 |
||
FreeAllEvent |
释放全部事件Events。 |
||
GetState |
获取Tensor状态。 |
||
TBuf |
GetWithOffset |
根据Offset获取Tensor。 |
|
SetTpipeBuf |
设置Tbuf信息。 |
||
TPipe |
AllocEventID |
分配EventID。用于流水之间事件同步,内部使用。 |
|
ReleaseEvent |
释放指定的Event。 |
||
FetchEventID |
根据HardEvent(硬件类型的同步ID)获取相应的EventID。 |
||
GetAbsAddr |
手动指定地址偏移和长度进行内存分配,返回对应的TBuffAddr信息或者LocalTensor。 |
||
InitShareBufStart |
初始化共享buffer起始位置。MatMul高阶API内部使用。 |
||
InitShareBufEnd |
初始化共享buffer最大地址。MatMul高阶API内部使用。 |
||
GetQueueEndAddress |
获取Queue的结束地址,用于确认Queue的边界。 |
||
GetBaseAddr |
CPU域调试时内部用来做地址计算。 |
||
workspace |
GetSysWorkSpacePtr |
得到系统workspace指针。 |
|
SetSysWorkSpacePtr |
框架需要使用的worksapce称之为系统workspace。在进行融合算子编程时,由于框架通信机制需要使用到worksapce,也就是系统workspace,所以在该场景下,开发者要调用该接口,设置系统workspace的指针。 |
||
矢量计算 |
Reduce |
Gatherb |
根据偏移地址将输入张量收集到结果张量。 |
GatherMask |
以内置固定模式对应的二进制或者用户自定义输入的Tensor数值对应的二进制为mask,从源操作数中选取元素写入目的操作数中。 |
||
RepeatReduceSum |
对每个repeat迭代内指定数量的数据求和。 |
||
矩阵计算 |
2D卷积 |
CheckConv2DRange |
Conv2D内部实现使用到的接口,开发者无需关注。 |
CheckConv2DParamsRange |
|||
GetTypeforC0 |
|||
CalculateConv2dTiling |
|||
Conv2DExecNmNopingpong |
|||
Conv2DExecNmPingPong |
|||
Conv2DExecNm |
|||
Conv2DExecMnNopingpong |
|||
Conv2DExecMnPingPong |
|||
Conv2DExecMn |
|||
FixPipe |
Fixpipe |
矩阵计算完成后,对结果进行处理。 |
|
Gemm |
GetTypeStr |
Gemm内部实现使用到的接口,开发者无需关注。 |
|
CheckRange |
|||
CheckOverflow |
|||
CheckParams |
|||
LoadL0B |
|||
LoadL0A |
|||
MmadFunc |
|||
GemmExecNmNopingpong |
|||
GemmExecNmPingPong |
|||
GemmExecNm |
|||
GemmExecMnNopingpong |
|||
GemmExecMnPingPong |
|||
GemmExecMn |
|||
数据搬移 |
DataCopy |
DataCopyGetOffsetList |
DataCopy内部计算过程,开发者无需关注。 |
DataCopyGetPhyStartIndex |
|||
控制类 |
多核控制 |
InitSyncID |
使用多核同步功能时,初始化公共缓存的值。 |
ParamOffset |
在多核处理场景下,给定数据起始地址(addr)和相邻核间处理数据起始地址的间隔大小(blockFactor),该接口计算每个核处理地址的偏移量并返回,等价于(addr + block_idx * blockFactor)。其中block_idx为核的逻辑id。 |
||
符号重载 |
- |
SymbolOverride |
重载符号。 |
SymbolOverrideAdd |
重载符号内部实现。重载加法符号。 |
||
SymbolOverrideSub |
重载符号内部实现。重载减法符号。 |
||
SymbolOverrideMul |
重载符号内部实现。重载乘法符号。 |
||
SymbolOverrideDiv |
重载符号内部实现。重载除法符号。 |
||
SymbolOverrideCompare |
重载符号内部实现。重载比较符号。 |
||
SymbolOverrideOr |
重载符号内部实现。重载或符号。 |
||
SymbolOverrideAnd |
重载符号内部实现。重载与符号。 |