基于AVX2指令集的深度学习混合运算策略
发布时间:2023-03-26 23:05
由于图形处理器(GPU)内存容量有限,其所能承载的深度学习网络模型规模受到很大限制。该文提出了一种深度学习混合运算策略,借助于Intel新的单指令多数据AVX2指令集,充分挖掘CPU对GPU的辅助支撑潜力。为节省GPU内存,将中间数据规模较大的网络层放在CPU端计算,并通过AVX2指令集提高CPU端的计算效率。核心技术点包括网络模型的切分与协调、基于AVX2指令的应用代码矢量化等。上述策略最终在Caffe上实现。在包括CIFAR-10、 ImageNet在内的典型数据集上的实验结果表明:采用混合运算策略后,Caffe能够正常运行更大型神经网络模型,并保持较高的执行效率。
【文章页数】:7 页
【文章目录】:
1 相关工作
2 神经网络训练中的混合运算
2.1 神经网络
2.2 深度学习混合运算
3 基于AVX2指令集的深度学习混合运算策略
3.1 网络划分
1) 网络层内存使用量的统计。
2) 网络层计算量的统计。
3) 网络分组决策。
3.2 基于AVX2指令集的CPU运算加速
1) 代码矢量化。
2) 通用代码优化。
3.3 OpenMP多线程并行
1) 卷积层。
2) 池化层。
3) Softmax层。
4) 全连接层(内积层)。
3.4 训练与测试并行
4 测试与分析
4.1 测试环境
4.2 测试方案
1) 测试混合运算策略能否按照配置的GPU内存限制划分网络。
2) 测试ACaffe基于AVX2指令集加速后混合运算模式速度的提升。
3) 测试不同显存限制下混合运算策略的表现。
4.3 结果分析
5 结 论
本文编号:3771925
【文章页数】:7 页
【文章目录】:
1 相关工作
2 神经网络训练中的混合运算
2.1 神经网络
2.2 深度学习混合运算
3 基于AVX2指令集的深度学习混合运算策略
3.1 网络划分
1) 网络层内存使用量的统计。
2) 网络层计算量的统计。
3) 网络分组决策。
3.2 基于AVX2指令集的CPU运算加速
1) 代码矢量化。
2) 通用代码优化。
3.3 OpenMP多线程并行
1) 卷积层。
2) 池化层。
3) Softmax层。
4) 全连接层(内积层)。
3.4 训练与测试并行
4 测试与分析
4.1 测试环境
4.2 测试方案
1) 测试混合运算策略能否按照配置的GPU内存限制划分网络。
2) 测试ACaffe基于AVX2指令集加速后混合运算模式速度的提升。
3) 测试不同显存限制下混合运算策略的表现。
4.3 结果分析
5 结 论
本文编号:3771925
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3771925.html