49、线性代数算法设计与奇异向量重正交化加速

线性代数算法设计与奇异向量重正交化加速

在现代科学计算和工程应用中,线性代数算法的高效性至关重要。本文将介绍两个重要方面的内容:一是通过变换设计线性代数算法,二是利用多核处理器加速奇异向量的重正交化。

1. 通过变换设计线性代数算法

在对称正定(SPD)矩阵求逆的融合循环算法中,有如下代码展示了循环体的操作:

A11 := Chol(A11)
A01 := A01A−1
11
A00 := A00 + A01AT
01
A12 := A−T
11 A12
A02 := A02 −A01A12
A22 := A22 −AT
12A12
A01 := A01A−T
11
A12 := −A−1
11 A12
A11 := A−1
11
A11 := A11AT
11

使用 DxTer 工具对该算法进行处理,在无额外变换的情况下,它生成了数十万种实现,并选择了与专家开发相同的实现。与 ScaLAPACK 使用的非融合版本算法相比,融合循环算法的性能更好,因为通信在更多计算中得到了更好的分摊。

这表明可以机械地生成高性能的分布式线性代数(DLA)代码。DxTer 的目标是简化专家的负担,其关键在于揭示 DLA 领域的内在结构,通过分层设计捕获该领域的基本操作,并对实现这些操作的基本算法和优化进行编码。

1.1 相关工作比较
  • SPIRAL 项目 :主要专注于数字信号处理(DSP)领域,自动为目标架构生成高性能内核。它从 DSL 中的数学描述开始,应用重写变换递归替换操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值