Accelerating MATLAB slow loop execution with CUDA

Ubaidullah, S. Khan
{"title":"Accelerating MATLAB slow loop execution with CUDA","authors":"Ubaidullah, S. Khan","doi":"10.1109/ICET.2011.6048447","DOIUrl":null,"url":null,"abstract":"MATLAB's high-level programming syntax and user-friendly environment makes it best suited to write technical code. MATLAB is extensively used in a number of scientific fields, such as digital image processing, digital signal processing, mathematics (just to name a few). The significance of MATLAB's programming is its rich library of built-in functions that provide programming ease. However, MATLAB uses an interpreter which slows down the processing, especially while executing loops. This becomes a performance bottleneck in programs that make excessive use of loops. In the field of digital image processing, for example, the operations performed on a matrix usually involve many nested loop structures. Therefore, MATLAB is often exposed to the issues of slow execution and memory latency. In order to accelerate MATLAB's processing, we utilize NVIDIA's CUDA parallel processing architecture. We demonstrate that interfacing MATLAB with CUDA and parallelizing the most time-consuming portions of MATLAB's code, the processing can be speeded up significantly. As a proof of concept, we present some results of JPEG compression with MATLAB using CUDA. Not only our results show a significant performance boost in MATLAB's processing, but are also in perfect agreement with quality.","PeriodicalId":167049,"journal":{"name":"2011 7th International Conference on Emerging Technologies","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 7th International Conference on Emerging Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICET.2011.6048447","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

MATLAB's high-level programming syntax and user-friendly environment makes it best suited to write technical code. MATLAB is extensively used in a number of scientific fields, such as digital image processing, digital signal processing, mathematics (just to name a few). The significance of MATLAB's programming is its rich library of built-in functions that provide programming ease. However, MATLAB uses an interpreter which slows down the processing, especially while executing loops. This becomes a performance bottleneck in programs that make excessive use of loops. In the field of digital image processing, for example, the operations performed on a matrix usually involve many nested loop structures. Therefore, MATLAB is often exposed to the issues of slow execution and memory latency. In order to accelerate MATLAB's processing, we utilize NVIDIA's CUDA parallel processing architecture. We demonstrate that interfacing MATLAB with CUDA and parallelizing the most time-consuming portions of MATLAB's code, the processing can be speeded up significantly. As a proof of concept, we present some results of JPEG compression with MATLAB using CUDA. Not only our results show a significant performance boost in MATLAB's processing, but are also in perfect agreement with quality.
用CUDA加速MATLAB慢循环执行
MATLAB的高级编程语法和用户友好的环境使其最适合编写技术代码。MATLAB被广泛应用于许多科学领域,如数字图像处理、数字信号处理、数学(仅举几例)。MATLAB编程的意义在于其丰富的内置函数库,这些函数库提供了编程的便利性。然而,MATLAB使用的解释器会减慢处理速度,特别是在执行循环时。这在过度使用循环的程序中成为性能瓶颈。例如,在数字图像处理领域,对矩阵执行的操作通常涉及许多嵌套的循环结构。因此,MATLAB经常面临执行缓慢和内存延迟的问题。为了加快MATLAB的处理速度,我们采用了NVIDIA的CUDA并行处理架构。我们证明了将MATLAB与CUDA接口并并行化MATLAB代码中最耗时的部分,可以显着加快处理速度。作为概念验证,我们给出了一些使用CUDA的MATLAB压缩JPEG的结果。我们的结果不仅显示了MATLAB处理的显着性能提升,而且与质量完全一致。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
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学术官方微信