开发者
下载
[object Object]

本示例为入门级演示,基于Ascend C SIMD实现Add算子,引导您快速完成实践,内容涵盖Device端核函数实现、Host端调用以及编译运行的完整流程,助您建立整体认知。开始前,请参考安装所需的CANN软件包。

以下分别介绍基于C语言API和C++ Tensor的两种典型实现方式。

  • Add算子功能介绍

    Add算子的数学表达式为:

    计算逻辑为逐元素完成[object Object]

  • Device端代码实现

    后缀名为[object Object]的代码文件可同时包含Host端与Device端代码,Device端部分示例如下:

    • 基于C语言API实现Memory矢量计算示例

      [object Object]
      [object Object]
    • 基于C++ Tensor实现Memory矢量计算示例

      [object Object]
      [object Object]
  • Host端代码实现

    Host端通过[object Object]语法糖调用Device端核函数,示例代码如下:

    [object Object]
  • 算子编译与运行

    CMake配置文件示例:

    [object Object]

    编译与执行示例:

    [object Object]
    [object Object]

此外,基于C/C++不同层级的编程接口和不同的矢量计算类型,Add算子有多种实现方式,具体可参考下表:

[object Object]undefined
[object Object]

若要深入理解Ascend C的SIMD与SIMT编程模型,请参阅