卷积神经网络加速:CPU与加速器协同调度技术解析
立即解锁
发布时间: 2025-08-31 00:09:44 阅读量: 6 订阅数: 9 AIGC 

### 卷积神经网络加速:CPU与加速器协同调度技术解析
#### 1. 背景与问题提出
卷积神经网络(CNNs)在人工智能和计算机视觉领域取得了革命性的进展,但随着模型规模和计算需求的不断增加,在资源受限的边缘设备上部署CNN模型面临着巨大挑战。传统上,在边缘系统中,硬件加速器运行时CPU往往处于闲置状态,这造成了资源的浪费。为了提高性能和能源效率,需要一种新的技术来充分利用CPU和加速器的计算能力。
#### 2. CPU - 加速器协同调度技术原理
通过利用生成不同CNN输出特征图操作之间的独立性,将输出通道分配给加速器和CPU,实现负载均衡。具体步骤如下:
- **建立延时模型**:使用线性回归方法建立延时模型,该模型可以估计卷积层在CPU和加速器上的执行时间。
- **负载均衡分配**:根据延时模型的估计结果,以负载均衡的方式分配输出通道,使加速器和CPU能够得到充分利用。
#### 3. 实验结果分析
##### 3.1 闲置时间比例
| 平台 | PE2 | PE4 | PE8 |
| --- | --- | --- | --- |
| Ultra96 | | | |
| Layer 0 | 2.22 | 3.04 | 6.85 |
| Layer 1 | 0.35 | 3.19 | 1.94 |
|... |... |... |... |
| Zed | | | |
| Layer 0 | 2.81 | 2.79 | 7.16 |
| Layer 1 | 1.02 | 3.98 | 3.06 |
|... |... |... |... |
| ZCU104 | | | |
| Layer 0 | 0.14 | 1.63 | 6.00 |
| Layer 1 | 0.85 | 0.31 | 0.39 |
|... |... |... |... |
| ZCU106 | | | |
| Layer 0 | 0.13 | 1.64 | 5.97 |
| Layer 1 | 0.84 | 0.33 | 0.39 |
|... |... |... |... |
表格中粗体单元格表示CPU闲置时间(CPU比加速器先完成任务),下划线单元格表示加速器闲置时间(加速器比CPU先完成任务)。结果显示,平均闲置时间仅为1.61%(最大闲置时间为7.16%),这表明该技术几乎完全消除了闲置时间,充分利用了CPU和加速器的计算资源。
##### 3.2 能源消耗
通过HPM - 300A功率计测量平台级功率,确定了协同调度技术的能源消耗。与仅使用CPU(CPU_ONLY)和仅使用加速器(ACC_ONLY)相比,CPU + ACC协同调度方法在不同加速器和不同数量处理单元(PE)的情况下,能源消耗分别降低了48.0 - 79.8%和14.9 - 49.7%。虽然CPU + ACC的功率消耗相对较高,但由于执行时间的显著减少,总体能源消耗大幅降低。
##### 3.3 Tiny Darknet CNN推理案例研究
使用Tiny Darknet模型进行CNN推理实验,比较了CPU_ONLY、ACC_ONLY和CPU + ACC三种方式的各层延迟。由于该加速技术仅加速卷积层,因此最大池化、平均池化和Softmax层在CPU + ACC中的延迟与CPU_ONLY和ACC_ONLY相似。但由于Tiny Darknet模型中16层为卷积层,占总层数的73%,CPU + ACC技术使CNN推理延迟分别降低了49.
0
0
复制全文
相关推荐










