9、基于Cell宽带引擎的LU分解优化与性能评估

基于Cell宽带引擎的LU分解优化与性能评估

1. 依赖分析与并行性利用

在块LU分解的典型实现中,矩阵会被划分为多个小的块。分解过程的第一次迭代,整个矩阵会被视为4个区域。第一次迭代使用特定方程计算对应区域A00、A01和A10的最终LU分解结果,同时计算对应区域A11的中间结果。后续迭代仅在更新后的区域A11上进行相同计算,随着迭代次数增加,工作集逐渐变小,直至得到最后一个块的最终结果。

迭代计算图示

为了帮助运行时依赖检查,使用了状态矩阵。数据矩阵中的每个块在状态矩阵中都有一个对应元素,指示该块计算完成的迭代次数。运行时,PPE会使用状态矩阵确定准备运行的任务。例如,在第二次迭代中,如果PPE发现块(1, 3)和(2, 1)的状态均为1,则可知块(2, 3)的计算已准备好运行。这种方案能暴露所有任务级并行性。

除了任务级并行性,还利用了Cell B/E支持的其他级别的并行性:
- 数据级并行性 :主要通过向量化实现,手动对程序进行向量化以最大化数据级并行性。
- 指令级并行性 :通过展开循环和插入分支提示来增加。
- 通信并行性 :使用邮箱作为SPE和PPE之间的主要通信方案,通信是非阻塞的。当任务分配给SPE时,会给它一个唯一的DMA标签,将任务所需的所有DMA Get请求排入MFC。MFC执行DMA操作时,SPE可自由处理其他请求,定期轮询每个标签下待处理的DMA操作状态,当MFC指示某个DMA标签没有更

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值