Optimizing large scale CUDA applications using input data specific optimizations

B. Taskov
{"title":"Optimizing large scale CUDA applications using input data specific optimizations","authors":"B. Taskov","doi":"10.1145/2668904.2668941","DOIUrl":null,"url":null,"abstract":"CUDA applications and general-purpose GPU (GPGPU) programs are widely used nowadays for solving computationally intensive tasks. There is a substantial effort in the form of tools, papers, books and features that are targeted at GPGPU APIs such as CUDA and OpenCL. The GPU architecture, being substantially different from the traditional CPU ones (x86, PowerPC, ARM) requires a different approach and introduces a different set of challenges. Apart from the traditional and well examined GPGPU problems - such as memory access patterns, parallel designs and occupancy, there is yet another really important, but not well studied setback - from one point onward, the bigger the CUDA application gets (in terms of lines of code) the slower it becomes, mostly due to register spilling. Register spilling is more or less a problem for most of the available architectures today, but it can easily become a massive bottleneck on the GPU due to its nature. We are going to examine in detail why this happens, what are the common ways to solve it, and we are going to propose one simple, presently undocumented approach that may be used to alleviate the issue in some situations. For the purpose of this paper we will focus on the NVidia Fermi Architecture","PeriodicalId":401915,"journal":{"name":"Proceedings of the 11th European Conference on Visual Media Production","volume":"50 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-11-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 11th European Conference on Visual Media Production","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2668904.2668941","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

CUDA applications and general-purpose GPU (GPGPU) programs are widely used nowadays for solving computationally intensive tasks. There is a substantial effort in the form of tools, papers, books and features that are targeted at GPGPU APIs such as CUDA and OpenCL. The GPU architecture, being substantially different from the traditional CPU ones (x86, PowerPC, ARM) requires a different approach and introduces a different set of challenges. Apart from the traditional and well examined GPGPU problems - such as memory access patterns, parallel designs and occupancy, there is yet another really important, but not well studied setback - from one point onward, the bigger the CUDA application gets (in terms of lines of code) the slower it becomes, mostly due to register spilling. Register spilling is more or less a problem for most of the available architectures today, but it can easily become a massive bottleneck on the GPU due to its nature. We are going to examine in detail why this happens, what are the common ways to solve it, and we are going to propose one simple, presently undocumented approach that may be used to alleviate the issue in some situations. For the purpose of this paper we will focus on the NVidia Fermi Architecture
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
使用特定于输入数据的优化优化大规模CUDA应用程序
目前,CUDA应用程序和通用GPU (GPGPU)程序被广泛用于解决计算密集型任务。针对GPGPU api(如CUDA和OpenCL)的工具、论文、书籍和功能都做了大量的工作。GPU架构与传统的CPU架构(x86、PowerPC、ARM)有本质上的不同,需要采用不同的方法,并引入了不同的挑战。除了传统的GPGPU问题——比如内存访问模式、并行设计和占用,还有另一个非常重要的问题,但没有得到很好的研究——从某一点开始,CUDA应用程序越大(就代码行而言),它变得越慢,主要是由于寄存器溢出。寄存器溢出或多或少是当今大多数可用架构的问题,但由于其性质,它很容易成为GPU的巨大瓶颈。我们将详细研究为什么会发生这种情况,解决它的常见方法是什么,并且我们将提出一种简单的,目前未记录的方法,可用于缓解某些情况下的问题。为了本文的目的,我们将重点关注NVidia费米架构
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Optimizing large scale CUDA applications using input data specific optimizations Bullet time using multi-viewpoint robotic camera system Saliency-based parameter tuning for tone mapping Advanced video debanding Multi-clip video editing from a single viewpoint
×
引用
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