矩阵-矩阵乘运算
功能描述
该样例主要实现矩阵-矩阵相乘的运算:C = αAB + βC,A、B、C都是16*16的矩阵,即:m=16,n=16,k=16。矩阵乘的结果是一个16*16的矩阵。
图1 Sample示例


原理介绍
在该样例中,涉及的关键功能点,如下表所示。
初始化 |
|
|---|---|
Device管理 |
|
Stream管理 |
|
内存管理 |
|
数据传输 |
如果在Host上运行应用,则需调用aclrtMemcpy接口:
如果在板端环境上运行应用,则无需进行数据传输。 |
单算子调用 |
|
目录结构
样例代码结构如下所示。
├── inc
│ ├── common.h //定义公共函数(例如:文件读取函数)的头文件
│ ├── gemm_runner.h //定义矩阵乘运算相关函数的头文件
├── run
│ ├── out
│ │ ├──test_data
│ │ │ ├── config
│ │ │ │ ├── acl.json //系统初始化的配置文件
│ │ │ │ ├── gemm.json //矩阵乘算子的算子描述信息
│ │ │ ├── data
│ │ │ │ ├── generate_data.py //用于生成矩阵A、矩阵B的数据
├── src
│ ├── CMakeLists.txt //编译脚本
│ ├── common.cpp //公共函数(例如:文件读取函数)的实现文件
│ ├── gemm_main.cpp //主函数的实现文件
│ ├── gemm_runner.cpp //执行矩阵乘运算相关函数的实现文件
父主题: 应用样例参考