A comparison of CPU and GPU implementations for solving the Convection Diffusion equation using the local Modified SOR method

IF 2 4区 计算机科学 Q2 COMPUTER SCIENCE, THEORY & METHODS Parallel Computing Pub Date : 2014-07-01 DOI:10.1016/j.parco.2014.02.002
Yiannis Cotronis, Elias Konstantinidis, Maria A. Louka, Nikolaos M. Missirlis
{"title":"A comparison of CPU and GPU implementations for solving the Convection Diffusion equation using the local Modified SOR method","authors":"Yiannis Cotronis,&nbsp;Elias Konstantinidis,&nbsp;Maria A. Louka,&nbsp;Nikolaos M. Missirlis","doi":"10.1016/j.parco.2014.02.002","DOIUrl":null,"url":null,"abstract":"<div><p>In this paper we study a parallel form of the SOR method for the numerical solution of the Convection Diffusion equation suitable for GPUs using CUDA. To exploit the parallelism offered by GPUs we consider the fine grain parallelism model. This is achieved by considering the local relaxation version of SOR. More specifically, we use SOR with red-black ordering using two sets of parameters <span><math><mrow><msub><mrow><mi>ω</mi></mrow><mrow><mn>1</mn><mi>ij</mi></mrow></msub></mrow></math></span> and <span><math><mrow><msub><mrow><mi>ω</mi></mrow><mrow><mn>2</mn><mi>ij</mi></mrow></msub></mrow></math></span> for the 5 point stencil. The parameter <span><math><mrow><msub><mrow><mi>ω</mi></mrow><mrow><mn>1</mn><mi>ij</mi></mrow></msub></mrow></math></span> is associated with each red (<em>i</em> <!-->+<!--> <em>j</em> even) grid point <span><math><mrow><mo>(</mo><mi>i</mi><mtext>,</mtext><mi>j</mi><mo>)</mo></mrow></math></span>, whereas the parameter <span><math><mrow><msub><mrow><mi>ω</mi></mrow><mrow><mn>2</mn><mi>ij</mi></mrow></msub></mrow></math></span> is associated with each black <span><math><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mi>j</mi></mrow></math></span> odd) grid point <span><math><mrow><mo>(</mo><mi>i</mi><mtext>,</mtext><mi>j</mi><mo>)</mo></mrow></math></span>. The use of a parameter for each grid point avoids the global communication required in the adaptive determination of the best value of <span><math><mrow><mi>ω</mi></mrow></math></span> and also increases the convergence rate of the SOR method (Varga, 1962) [38] and (Young, 1971) [41]. We present our strategy and the results of our effort to exploit the computational capabilities of GPUs under the CUDA environment. Additionally, two parallel CPU programs utilizing manual SSE2 (Streaming SIMD Extensions 2) and AVX (Advanced Vector Extensions) vectorization were developed as performance references. The optimizations applied on the GPU version were also considered for the CPU version. Significant performance improvement was achieved with all three developed GPU kernels differentiated by the degree of recomputations thus affecting the flops per element access ratio.</p></div>","PeriodicalId":54642,"journal":{"name":"Parallel Computing","volume":"40 7","pages":"Pages 173-185"},"PeriodicalIF":2.0000,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.parco.2014.02.002","citationCount":"14","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Parallel Computing","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0167819114000234","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 14

Abstract

In this paper we study a parallel form of the SOR method for the numerical solution of the Convection Diffusion equation suitable for GPUs using CUDA. To exploit the parallelism offered by GPUs we consider the fine grain parallelism model. This is achieved by considering the local relaxation version of SOR. More specifically, we use SOR with red-black ordering using two sets of parameters ω1ij and ω2ij for the 5 point stencil. The parameter ω1ij is associated with each red (i + j even) grid point (i,j), whereas the parameter ω2ij is associated with each black (i+j odd) grid point (i,j). The use of a parameter for each grid point avoids the global communication required in the adaptive determination of the best value of ω and also increases the convergence rate of the SOR method (Varga, 1962) [38] and (Young, 1971) [41]. We present our strategy and the results of our effort to exploit the computational capabilities of GPUs under the CUDA environment. Additionally, two parallel CPU programs utilizing manual SSE2 (Streaming SIMD Extensions 2) and AVX (Advanced Vector Extensions) vectorization were developed as performance references. The optimizations applied on the GPU version were also considered for the CPU version. Significant performance improvement was achieved with all three developed GPU kernels differentiated by the degree of recomputations thus affecting the flops per element access ratio.

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
用局部修正SOR方法求解对流扩散方程的CPU和GPU实现的比较
本文研究了一种适用于gpu的基于CUDA的对流扩散方程数值解的SOR方法的并行形式。为了利用gpu提供的并行性,我们考虑了细粒度并行模型。这是通过考虑SOR的局部松弛版本来实现的。更具体地说,我们使用带有红黑排序的SOR,对5点模板使用两组参数ω1ij和ω2ij。参数ω1ij与每个红色(i+j偶数)网格点(i,j)相关联,而参数ω2ij与每个黑色(i+j奇数)网格点(i,j)相关联。对每个网格点使用一个参数,避免了自适应确定ω最佳值所需的全局通信,也提高了SOR方法(Varga, 1962)[38]和(Young, 1971)[41]的收敛速度。我们提出了我们的策略和我们努力的结果,以利用gpu在CUDA环境下的计算能力。此外,开发了两个并行CPU程序,使用手动SSE2 (Streaming SIMD Extensions 2)和AVX (Advanced Vector Extensions)向量化作为性能参考。在GPU版本上应用的优化也被考虑用于CPU版本。通过重新计算的程度来区分所有三个开发的GPU内核,从而影响每个元素访问比率的flops,实现了显着的性能改进。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Parallel Computing
Parallel Computing 工程技术-计算机:理论方法
CiteScore
3.50
自引率
7.10%
发文量
49
审稿时长
4.5 months
期刊介绍: Parallel Computing is an international journal presenting the practical use of parallel computer systems, including high performance architecture, system software, programming systems and tools, and applications. Within this context the journal covers all aspects of high-end parallel computing from single homogeneous or heterogenous computing nodes to large-scale multi-node systems. Parallel Computing features original research work and review articles as well as novel or illustrative accounts of application experience with (and techniques for) the use of parallel computers. We also welcome studies reproducing prior publications that either confirm or disprove prior published results. Particular technical areas of interest include, but are not limited to: -System software for parallel computer systems including programming languages (new languages as well as compilation techniques), operating systems (including middleware), and resource management (scheduling and load-balancing). -Enabling software including debuggers, performance tools, and system and numeric libraries. -General hardware (architecture) concepts, new technologies enabling the realization of such new concepts, and details of commercially available systems -Software engineering and productivity as it relates to parallel computing -Applications (including scientific computing, deep learning, machine learning) or tool case studies demonstrating novel ways to achieve parallelism -Performance measurement results on state-of-the-art systems -Approaches to effectively utilize large-scale parallel computing including new algorithms or algorithm analysis with demonstrated relevance to real applications using existing or next generation parallel computer architectures. -Parallel I/O systems both hardware and software -Networking technology for support of high-speed computing demonstrating the impact of high-speed computation on parallel applications
期刊最新文献
Editorial Board Estimating resource budgets to ensure autotuning efficiency Lowering entry barriers to developing custom simulators of distributed applications and platforms with SimGrid Scalable tasking runtime with parallelized builders for explicit message passing architectures Iterative methods in GPU-resident linear solvers for nonlinear constrained optimization
×
引用
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