11、基于数据依赖图的模板应用优化

基于数据依赖图的模板应用优化

1. 传统平铺方法的局限性

传统的平铺方法是从一组固定的转换中寻找最佳的平铺技术。例如,它们会找到能在源代码上产生最佳结果的仿射变换。一些平铺技术会对提供的源代码应用一组转换,并在转换后的程序中搜索最佳的局部性。这种方法过去曾取得成功,但它受到搜索空间的限制,因为搜索空间本质上受限于从初始源代码生成的程序。

2. 问题的提出

我们关注的核心问题是:“通过使用片上内存,哪种平铺策略最能有效减少片外带宽?”不过,并非在所有情况下都能找到该平铺问题的解决方案,因为解决该问题需要了解应用程序的完整依赖图,而这对于某些应用来说在实际或理论上可能是不可能的。

本文聚焦于在并行处理器上运行的模板应用的最优平铺问题。在这种情况下,该优化问题是可解的,原因如下:
- 程序中的计算与输入数据无关。
- 可以对程序中的所有计算进行计数。
- 可以构建一个数据依赖图,以提供程序中计算之间的关系。

3. 并行模板计算的最优平铺

对于并行模板计算,并行意味着当一个瓦片的内存加载完成后,就可以完全计算该瓦片,无需与片外内存或其他处理器进行通信。以下是一个一维FDTD的内核代码示例:

for t in 0 to NT-1
    for i in 1 to N-1
        E[i] = k1*E[i] + k2 * ( H[i] - H[i-1] )
    end for
    for i in 1 to N-1
        H[i]+=E[i]-E[i+1]
    end for
en
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值