计算机空间密铺,基于空间密铺的并行Stencil算法-计算机科学与探索.pdf

计算机科学与探索 1673-9418/2019/ 13(02)-0181-14

Journal of Frontiers of Computer Science and Technology doi: 10.3778/j.issn. 1673-9418.1712006

基于空间密铺的并行Stencil 算法*

1,2+ 1 1 1,2

郭 鹏 ,袁 良 ,张云泉 ,黄 珊

1. 中国科学院 计算技术研究所 计算机体系结构国家重点实验室,北京 100190

2. 中国科学院大学 计算机与控制学院,北京 100049

+ 通讯作者 E-mail: guopeng@

摘 要:Stencil 计算是一种科学和工程应用中常见的循环模式,而分块技术是一种提高数据局部性和并行性的

强大转换方法。与以往直接对整个迭代空间进行分块的分块技术不同,提出了一种新的两层密铺分块的并行

算法。首先,利用不同分块密铺数据空间;然后,所有分块沿时间维度扩展密铺迭代空间。该算法有以下优

点:(1)最大化并发执行;(2 )无冗余计算;(3 )简洁的循环条件;(4 )适应Stencil 不同的尺寸、形状、阶数和边界

条件。实验结果表明,对于3D27p Stencil ,非周期边界的性能比Pluto 高12% ,周期边界的性能比Pochoir 最高

提升40% 。

关键词:Stencil 计算;空间密铺;分块方法

文献标志码:A 中图分类号:TP301

郭鹏, 袁良, 张云泉, 等. 基于空间密铺的并行Stencil 算法[J]. 计算机科学与探索, 2019, 13(2): 181-194.

GUO P, YUAN L, ZHANG Y Q, et al. Parallel Stencil algorithm based on tessellating[J]. Journal of Frontiers of

Computer Science and Technology, 2019, 13(2): 181-194.

Parallel Stencil Algorithm Based on Tessellating

1,2+ 1 1 1,2

GUO Peng , YUAN Liang , ZHANG Yunquan , HUANG Shan 索

1. State Key Laboratory of Computer Architecture, Institute of Computing Technology, Chinese Academy of Sciences,

Beijing 100190, China 探

2. School of Computer and Control Engineering, University of Chinese Academy of Sciences, Beijing 100049, China

Abstract: Stencil computations represent a very common class of nested loops in scientific and engineering

applications. The exhaustively studied tiling is one of the most powerful transformation techniques to explore the

g

r

data locality and parallelism. Unli

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
'绑定对象数据 If SMTStencilDetails.Stencil IsNot Nothing Then txtStencil.Text = SMTStencilDetails.Stencil.StencilName txtStencilID.Text = SMTStencilDetails.Stencil.StencilID TimeStart.Value = IIf(SMTStencilDetails.Stencil.StartDate = Nothing, Date.Now, SMTStencilDetails.Stencil.StartDate) cmbState.SelectedIndex = SMTStencilDetails.Stencil.StateID - 1 txtThickness.Text = SMTStencilDetails.Stencil.Thickness TimeMake.Value = SMTStencilDetails.Stencil.MakeDate txtLocation.Text = SMTStencilDetails.Stencil.Location txtUsesCount.Text = SMTStencilDetails.Stencil.StencilUseCount cmbWorkShop.Text = SMTStencilDetails.Stencil.WorkShop txtNotes.Text = SMTStencilDetails.Stencil.Notes dtpMaintenanceTime.Value = IIf(SMTStencilDetails.Stencil.RepairDate = Nothing, Date.Now, SMTStencilDetails.Stencil.RepairDate) If SMTStencilDetails.Stencil.ProductName.Count = 0 Then txtTip.Text = "" prdList = Nothing Else For i = 0 To SMTStencilDetails.Stencil.ProductName.Count - 1 For j = 0 To cklProductName.Items.Count - 1 Dim s = cklProductName.GetItemText(cklProductName.Items(j)) If s = SMTStencilDetails.Stencil.ProductName(i) Then cklProductName.SetItemChecked(j, True) strPart += "," & SMTStencilDetails.Stencil.ProductName(i) End If Next Next txtTip.Text = strPart.Substring(1) prdList = strPart.Substring(1) End If Else cmbState.SelectedIndex = 0 End If 保持原有逻辑情况下优化该代码,让代码具有更好的可读性,可维护性,具有更好的性能,并说明理由
最新发布
06-09

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值