GenMAT:用于异构平台的通用机器学习驱动的自动调谐器

Naifeng Zhang, Ajitesh Srivastava, R. Kannan, V. Prasanna
{"title":"GenMAT:用于异构平台的通用机器学习驱动的自动调谐器","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":"{\"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}","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

摘要

随着计算平台与异构资源的发展,开发充分利用计算能力的优化代码变得越来越具有挑战性。领域专家需要广泛的计算机体系结构、编译器优化和并行计算知识,以了解哪种实现最适合他们的问题领域和数据。即使花费大量时间学习、编写和调试高性能代码,这种优化也可能无法推广到不同的输入、应用程序或计算平台。为了帮助最终用户以高生产率在异构环境中以最佳方式部署工作负载,一个基本问题是自动找到应用程序的最佳“变体”——在最合适的硬件资源上使用最佳配置的实现,从而实现最小的运行时。我们提出GenMAT,一个便携式工具,用于识别任何应用程序的最佳变体,指定为元程序,在任何硬件上具有暴露的可调参数。GenMAT通过改变公开的可调参数来自动分析应用程序,以生成一小组分析数据。然后,GenMAT训练一个紧凑的机器学习模型,该模型用于快速预测大量可能参数设置的运行时间,以识别最佳变体。我们表明,在确定矩阵操作的最佳线性代数库时,GenMAT选择的变体与真正最佳变体的运行时偏差在3.5%以内。为了确定最佳卤化时间表,GenMAT正确地对数千个候选程序的运行时间进行了排序,其平均Spearman秩相关系数为0.95。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
GenMAT: A General-Purpose Machine Learning-Driven Auto-Tuner for Heterogeneous Platforms
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.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信