Huimin Cui, Lei Wang, Jingling Xue, Yang Yang, Xiaobing Feng
{"title":"Automatic Library Generation for BLAS3 on GPUs","authors":"Huimin Cui, Lei Wang, Jingling Xue, Yang Yang, Xiaobing Feng","doi":"10.1109/IPDPS.2011.33","DOIUrl":null,"url":null,"abstract":"High-performance libraries, the performance-critical building blocks for high-level applications, will assume greater importance on modern processors as they become more complex and diverse. However, automatic library generators are still immature, forcing library developers to manually tune library to meet their performance objectives. We are developing a new script-controlled compilation framework to help domain experts reduce much of the tedious and error-prone nature of manual tuning, by enabling them to leverage their expertise and reuse past optimization experiences. We focus on demonstrating improved performance and productivity obtained through using our framework to tune BLAS3 routines on three GPU platforms: up to 5.4x speedups over the CUBLAS achieved on NVIDIA GeForce 9800, 2.8x on GTX285, and 3.4x on Fermi Tesla C2050. Our results highlight the potential benefits of exploiting domain expertise and the relations between different routines (in terms of their algorithms and data structures).","PeriodicalId":355100,"journal":{"name":"2011 IEEE International Parallel & Distributed Processing Symposium","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"29","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 IEEE International Parallel & Distributed Processing Symposium","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IPDPS.2011.33","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 29
Abstract
High-performance libraries, the performance-critical building blocks for high-level applications, will assume greater importance on modern processors as they become more complex and diverse. However, automatic library generators are still immature, forcing library developers to manually tune library to meet their performance objectives. We are developing a new script-controlled compilation framework to help domain experts reduce much of the tedious and error-prone nature of manual tuning, by enabling them to leverage their expertise and reuse past optimization experiences. We focus on demonstrating improved performance and productivity obtained through using our framework to tune BLAS3 routines on three GPU platforms: up to 5.4x speedups over the CUBLAS achieved on NVIDIA GeForce 9800, 2.8x on GTX285, and 3.4x on Fermi Tesla C2050. Our results highlight the potential benefits of exploiting domain expertise and the relations between different routines (in terms of their algorithms and data structures).
高性能库是高级应用程序的性能关键构建块,随着现代处理器变得更加复杂和多样化,高性能库将在处理器上发挥更大的作用。然而,自动库生成器仍然不成熟,迫使库开发人员手动调优库以满足他们的性能目标。我们正在开发一个新的脚本控制编译框架,通过使领域专家能够利用他们的专业知识和重用过去的优化经验,帮助他们减少手动调优的繁琐和易出错的本质。我们专注于展示通过使用我们的框架在三个GPU平台上调优BLAS3例程获得的改进性能和生产力:在NVIDIA GeForce 9800上实现的CUBLAS加速高达5.4倍,在GTX285上实现2.8倍,在Fermi Tesla C2050上实现3.4倍。我们的结果强调了利用领域专业知识和不同例程之间的关系(就其算法和数据结构而言)的潜在好处。