GenMAT: A General-Purpose Machine Learning-Driven Auto-Tuner for Heterogeneous Platforms

Naifeng Zhang, Ajitesh Srivastava, R. Kannan, V. Prasanna
{"title":"GenMAT: A General-Purpose Machine Learning-Driven Auto-Tuner for Heterogeneous Platforms","authors":"Naifeng Zhang, Ajitesh Srivastava, R. Kannan, V. Prasanna","doi":"10.1109/PEHC54839.2021.00006","DOIUrl":null,"url":null,"abstract":"As computing platforms evolve with heterogeneous resources, developing optimized code that fully exploits the computing power becomes increasingly challenging. Domain experts need extensive knowledge of computer architecture, compiler optimizations, and parallel computing to understand which implementation will work best for their problem domain and data. Even with considerable time learning, writing, and debugging high-performance code, such optimizations may not generalize to different inputs, applications, or computing platforms. To assist the end-users in optimally deploying workloads on the heterogeneous environment with high productivity, a fundamental problem is to automatically find the best \"variant\" of an application—the implementation with the optimal configurations on the most suitable hardware resource resulting in the minimum runtime. We propose GenMAT, a portable tool for identifying the best variant of any application specified as a meta-program with exposed tunable parameters on any hardware. GenMAT automatically profiles the application by varying the exposed tunable parameters to generate a small set of profiling data. Then, GenMAT trains a compact machine learning model that is used to quickly predict the runtimes of a large number of possible parameter settings to identify the best variant. We show that the variant selected by GenMAT has a runtime deviation within 3.5% of the true best variant in determining the best linear algebra library for matrix operations. For identifying the best Halide schedule, GenMAT correctly ranks the runtimes of thousands of candidates with an average Spearman’s rank correlation coefficient of 0.95.","PeriodicalId":147071,"journal":{"name":"2021 IEEE/ACM Programming Environments for Heterogeneous Computing (PEHC)","volume":"68 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE/ACM Programming Environments for Heterogeneous Computing (PEHC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PEHC54839.2021.00006","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

As computing platforms evolve with heterogeneous resources, developing optimized code that fully exploits the computing power becomes increasingly challenging. Domain experts need extensive knowledge of computer architecture, compiler optimizations, and parallel computing to understand which implementation will work best for their problem domain and data. Even with considerable time learning, writing, and debugging high-performance code, such optimizations may not generalize to different inputs, applications, or computing platforms. To assist the end-users in optimally deploying workloads on the heterogeneous environment with high productivity, a fundamental problem is to automatically find the best "variant" of an application—the implementation with the optimal configurations on the most suitable hardware resource resulting in the minimum runtime. We propose GenMAT, a portable tool for identifying the best variant of any application specified as a meta-program with exposed tunable parameters on any hardware. GenMAT automatically profiles the application by varying the exposed tunable parameters to generate a small set of profiling data. Then, GenMAT trains a compact machine learning model that is used to quickly predict the runtimes of a large number of possible parameter settings to identify the best variant. We show that the variant selected by GenMAT has a runtime deviation within 3.5% of the true best variant in determining the best linear algebra library for matrix operations. For identifying the best Halide schedule, GenMAT correctly ranks the runtimes of thousands of candidates with an average Spearman’s rank correlation coefficient of 0.95.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
GenMAT:用于异构平台的通用机器学习驱动的自动调谐器
随着计算平台与异构资源的发展,开发充分利用计算能力的优化代码变得越来越具有挑战性。领域专家需要广泛的计算机体系结构、编译器优化和并行计算知识,以了解哪种实现最适合他们的问题领域和数据。即使花费大量时间学习、编写和调试高性能代码,这种优化也可能无法推广到不同的输入、应用程序或计算平台。为了帮助最终用户以高生产率在异构环境中以最佳方式部署工作负载,一个基本问题是自动找到应用程序的最佳“变体”——在最合适的硬件资源上使用最佳配置的实现,从而实现最小的运行时。我们提出GenMAT,一个便携式工具,用于识别任何应用程序的最佳变体,指定为元程序,在任何硬件上具有暴露的可调参数。GenMAT通过改变公开的可调参数来自动分析应用程序,以生成一小组分析数据。然后,GenMAT训练一个紧凑的机器学习模型,该模型用于快速预测大量可能参数设置的运行时间,以识别最佳变体。我们表明,在确定矩阵操作的最佳线性代数库时,GenMAT选择的变体与真正最佳变体的运行时偏差在3.5%以内。为了确定最佳卤化时间表,GenMAT正确地对数千个候选程序的运行时间进行了排序,其平均Spearman秩相关系数为0.95。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
GenMAT: A General-Purpose Machine Learning-Driven Auto-Tuner for Heterogeneous Platforms Survival of the Fittest Amidst the Cambrian Explosion of Processor Architectures for Artificial Intelligence : Invited Paper A Holistic Systems Approach to Leveraging Heterogeneity Designing Heterogeneous Systems: Large Scale Architectural Exploration Via Simulation : Invited Paper [Copyright notice]
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1