样例介绍
功能描述
该样例主要实现矩阵-矩阵相乘的运算: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            //执行矩阵乘运算相关函数的实现文件
   
     父主题: 实现矩阵-矩阵乘运算