编程API

Ascend C算子采用标准C++语法和一组类库API进行编程,您可以根据自己的需求选择合适的API。Ascend C编程类库API示意图如下所示,Ascend C API的操作数都是Tensor类型:GlobalTensor和LocalTensor;类库API分为基础API和高阶API。

基础API:实现对硬件能力的抽象,开放芯片的能力,保证完备性和兼容性。同时包含ISASI API(Instruction Set Architecture Special API,硬件体系结构相关的API),但该类接口不能保证跨硬件版本兼容。

高阶API:实现一些常用的计算算法,用于提高编程开发效率,通常会调用多种基础API实现。高阶API包括数学库、Matmul、Softmax等API。

图1 Ascend C编程类库API示意图
对于基础API,主要分为以下几类:

对于基础API中的计算API,根据对数据操作方法的不同,分为以下几种计算方式:

下图以矢量加法为例,展示了几种计算方式的特点。

图2 计算API几种计算方式的特点