并行计算-29中科大_第1页
并行计算-29中科大_第2页
并行计算-29中科大_第3页
并行计算-29中科大_第4页
并行计算-29中科大_第5页
免费预览已结束,剩余25页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

并行计算

中国科学技术大学计算机科学与技术系国家高性能计算中心(合肥)2004年12月第三篇并行数值算法

第八章基本通讯操作

第九章稠密矩阵运算

第十章线性方程组的求解

第十一章快速傅里叶变换

第十一章快速傅里叶变换

11.1

快速傅里叶变换

11.2

并行FFT算法

11.1快速傅里叶变换(FFT)

11.1.1离散傅里叶变换(DFT)

11.1.2DFT的顺序代码

11.1.3串行FFT递归算法

11.1.4

串行FFT非递归算法国家高性能计算中心(合肥)52022/12/13离散傅里叶变换(DFT)定义给定向量A=(a0,a1,…,an-1)T,DFT将A变换为B=(b0,b1,…,bn-1)T11.1快速傅里叶变换(FFT)

11.1.1离散傅里叶变换(DFT)

11.1.2DFT的顺序代码

11.1.3串行FFT递归算法

11.1.4

串行FFT非递归算法国家高性能计算中心(合肥)72022/12/13

DFT的顺序代码代码1

forj=0ton-1dob[j]=0fork=0ton-1do

b[j]=b[j]+ωk*ja[k]endforendfor注:代码1需要计算ωk*j代码2的复杂度为O(n2)

代码2w=ω0forj=0ton-1dob[j]=0,s=ω0fork=0ton-1dob[j]=b[j]+s*a[k]s=s*wendforw=w*ωendfor11.1快速傅里叶变换(FFT)

11.1.1离散傅里叶变换(DFT)

11.1.2DFT的顺序代码

11.1.3串行FFT递归算法

11.1.4

串行FFT非递归算法国家高性能计算中心(合肥)92022/12/13串行FFT递归算法蝶式递归计算原理令为n/2次单位元根,则有.将b向量的偶数项和奇数项分别记为和注意推导中反复使用国家高性能计算中心(合肥)102022/12/13串行FFT递归算法国家高性能计算中心(合肥)112022/12/13串行FFT递归算法国家高性能计算中心(合肥)122022/12/13串行FFT递归算法FFT的蝶式递归计算图(由计算原理推出)

国家高性能计算中心(合肥)132022/12/13串行FFT递归算法特别地,n=8的FFT蝶式计算图(展开的)

国家高性能计算中心(合肥)142022/12/13串行FFT递归算法SISD上的FFT分治递归算法

输入:a=(a0,a1,…,an-1);输出:B=(b0,b1,…,bn-1)ProcedureRFFT(a,b)beginifn=1thenb0=a0else(1)RFFT(a0,a2,…,an-2,u0,u1,…,un/2-1)(2)RFFT(a1,a3,…,an-1,v0,v1,…,vn/2-1)(3)z=1(4)forj=0ton-1do(4.1)bj=ujmodn/2+zvjmodn/2(4.2)z=zωendfor注:(1)算法时间复杂度t(n)=2t(n/2)+O(n)endif解得t(n)=O(nlogn)end

(2)算法原理?11.1快速傅里叶变换(FFT)

11.1.1离散傅里叶变换(DFT)

11.1.2DFT的顺序代码

11.1.3串行FFT递归算法

11.1.4

串行FFT非递归算法国家高性能计算中心(合肥)162022/12/13串行FFT非递归算法蝶式计算示例

国家高性能计算中心(合肥)172022/12/13串行FFT非递归算法蝶式计算流图

国家高性能计算中心(合肥)182022/12/13串行FFT非递归算法行0行1行2行3行4行5行6行7如:b6=[(a0+a4)-(a2+a6)]-[(a1+a5)-(a3+a7)]ω2注:①下行线结点处的权因子的确定问题;②bi的下标确定:取行号的位序反。如,行3:3=(011)2==>(110)2=6,==>行3的输出为b6第十一章快速傅里叶变换

11.1

快速傅里叶变换

11.2

并行FFT算法

11.2并行FFT算法

11.2.1SIMD-MC2上的FFT算法

11.2.2SIMD-BF上的FFT算法

国家高性能计算中心(合肥)212022/12/13

SIMD-MC2上的FFT算法算法描述n个处理器组成n1/2×n1/2的方阵,处理器以行主序编号国家高性能计算中心(合肥)222022/12/13

SIMD-MC2上的FFT算法算法11.3(P270):

输入:ak处于Pk中;输出bk处于Pk中

Begin

(1)fork=0ton-1par-dock=akendfor

(2)forh=logn-1to0dofork=0ton-1par-do(2.1)p=2h(2.2)q=n/p(2.3)z=ωp//先算出ωn/2,以后每次z=z1/2(2.4)if(kmodp=kmod2p)thenpar-do//满足条件的处理器同时做(i)ck=ck+ck+pzr(k)modq//(i)和(ii)同时执行(ii)ck+p=ck-ck+pzr(k)modqendifendforendfor(3)fork=0ton-1par-dobk=cr(k)endfor//r(k)为k的位序反

End

如:n=16h=3,p=8,q=2,z=ω8

h=2,p=4,q=4,z=ω4h=1,p=2,q=8,z=ω2h=0,p=1,q=16,z=ω1国家高性能计算中心(合肥)232022/12/13

SIMD-MC2上的FFT算法示例:P271例11.5,n=4

第(1)步:国家高性能计算中心(合肥)242022/12/13

SIMD-MC2上的FFT算法第(2)步:

第1次迭代(h=1):p=2,q=2,z=ω2

满足kmod2=kmod4的处理器为P0和P1,同时计算

P0:c0=c0+(ω2)0c2=a0+a2P1:c1=c1+(ω2)0c3=a1+a3c2=c0-(ω2)0c2=a0-a2c3=c1-(ω2)0c3=a1-a3

国家高性能计算中心(合肥)252022/12/13

SIMD-MC2上的FFT算法第(2)步:

第2次迭代(h=0):p=1,q=4,z=ω

满足kmod1=kmod2的处理器为P0和P2,同时计算

P0:c0=c0+ω0c1=(a0+a2)+(a1+a3)P2:c1=c1+ω1c3=(a0+a2)+(a1+a3)ωc1=c0-ω0c1=(a0+a2)-(a1+a3)

c3=c1-ω1c3=(a0+a2)+(a1+a3)ω国家高性能计算中心(合肥)262022/12/13

SIMD-MC2上的FFT算法第(3)步:b0=c0,b1=c2,b2=c1,b3=c3算法分析计算时间:p=O(logn)选路时间:trouting:只涉及(2.4)和(3)(2.4):O(n1/2)(3):O(n1/2)综上,当n较大时t(n)=O(n1/2)11.2并行FFT算法

11.2.1SIMD-MC2上的FFT算法

11.2.2SIMD-BF上的FFT算法

国家高性能计算中心(合肥)282022/12/13

SIMD-BF上的FFT算法蝶形网络处理器布局

有k+1层,每层有n=2k个处理器,共有n(1+logn)个处理器第r行第i列的处理器记为Pr,i,i=(a1,a2,…,ak)2互连方式

Pr,i与上层Pr-1,i,Pr-1,j相连,这里i的第r位为0Pr,j与上层Pr-1,i,Pr-1,j相连,这里j与i仅在第r位不同权因子ω在BF网络中的计算方法

Pr,i中ω的指数为j=exp(r,i)

这里exp(r,i)=(ar,…,a1,0,…,0)//即i的前r位取位序反,再后补0k-r国家高性能计算中心(合肥)292022/12/13

SIMD-BF上的FFT算法示例:n=8的BF网络表示

r,i与上层Pr-1,i,Pr-1,j相连,这里i的第r位为0Pr,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论