QUICK REVIEW
[论文解读] Automatic Tuning of Local Memory Use on GPGPUs
Tianyi David Han, Tarek S. Abdelrahman|arXiv (Cornell University)|Dec 22, 2014
Parallel Computing and Optimization Techniques参考文献 13被引用 11
一句话总结
本文提出一种基于随机森林的机器学习方法,用于在GPGPU上的OpenCL内核中自动判断是否应用局部内存优化。该模型在56万组合成基准测试上进行训练,对合成数据的性能提升预测准确率达到95%(惩罚加权),对真实内核的预测准确率接近95%,优于启发式方法和分析模型。
ABSTRACT
The use of local memory is important to improve the performance of OpenCL programs. However, its use may not always benefit performance, depending on various application characteristics, and there is no simple heuristic for deciding when to use it. We develop a machine learning model to decide if the optimization is beneficial or not. We train the model with millions of synthetic benchmarks and show that it can predict if the optimization should be applied for a single array, in both synthetic and real benchmarks, with high accuracy.
研究动机与目标
- 解决缺乏可靠启发式方法来判断何时应用局部内存优化可提升GPU内核性能的问题。
- 开发一种自动化、数据驱动的方法,以预测将数组区域缓存在局部内存中是否能带来性能收益。
- 利用大规模合成基准测试套件训练一个稳健的机器学习模型,以捕捉多样的内存访问模式。
- 在来自线性代数和图像处理等领域的实际内核上评估模型的泛化能力。
- 证明合成基准测试可有效用于训练高精度自动调优模型,以实现真实GPU性能调优。
提出的方法
- 生成大规模合成基准测试套件(560万组内核实例),覆盖密集线性代数和结构化网格中的常见数据访问模式。
- 提取内核特征,如数据重用、内存合并、寄存器使用情况以及并行性影响,用于模型训练。
- 使用10%的合成数据,训练一个包含20棵树、每节点选择4个特征的随机森林分类器,以预测优化收益。
- 使用真实性能数据(开启/关闭局部内存)作为模型训练和评估的基准真实值。
- 采用两种指标评估模型准确率:基于计数的准确率和惩罚加权准确率,后者考虑了误判带来的性能损失。
- 将训练好的模型应用于实际内核,以评估其泛化能力和鲁棒性。
实验结果
研究问题
- RQ1机器学习模型能否在多样化GPU工作负载上准确预测局部内存优化是否能提升内核性能?
- RQ2在合成基准测试上训练的模型在真实世界OpenCL内核上的泛化能力如何?
- RQ3何种性能指标最能体现自动调优决策中预测错误的实际影响?
- RQ4内存非合并、数据重用和并行性降低等因素如何影响优化的收益?
- RQ5合成基准测试能否有效替代真实基准测试,用于训练高精度自动调优模型?
主要发现
- 在未见过的合成内核实例上,模型的基于计数的准确率为86%,惩罚加权准确率为94.8%。
- 在真实内核上,模型的惩罚加权准确率接近95%,最低单实例得分达30%,表明误判虽罕见但影响重大。
- 模型在各类实际应用中的表现保持一致,涵盖矩阵乘法、卷积和MRI网格化等不同领域。
- 使用合成基准测试使模型得以在大规模、多样化的数据集上进行训练,这对高维特征空间建模至关重要。
- 该模型通过捕捉内核特征与性能影响之间复杂交互关系,优于传统启发式方法和分析模型。
- 本研究证明,基于合成数据训练的机器学习模型可有效泛化至真实GPU工作负载,实现对局部内存使用的精确自动调优。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。