如何用OpenMP来实现FFT按时间基2抽取算法

ayyan 2009-09-01 04:09:08
N点FFT利用按时间基2抽取之后,每一级运算中的N/2个蝶形运算中任意两个蝶形是没有数据交互的,因此我觉得可以用OpenMP来实现每一级中N/2个蝶形运算的并行执行。但是发现实际写起来还是遇到了困难,百思不得其解。问题在:
串行情况下,我可以按逐级、逐组、逐个这样的迭代来执行,其中每个蝶形运算的中两个运算数的序号,旋转因子的序号都很容易确定。
在并行情况下,若用逐级、逐个这种迭代方式来实现的话,发现怎么都找不出各个参数如何确定。
也就是:temp=data[p]+data[p+k]*W[bf];
data[p+k]=data[p]-data[p+k]*W[bf];
data[p]=temp;
在逐个运算时,这个p,k,bf三个参数如何确定。想的头都大了,完全找不出规律来。
...全文
142 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayyan 2009-09-03
  • 打赏
  • 举报
回复
发重了。

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧