【技术实现步骤摘要】
基于浮点数压缩技术的大规模FFT实现方法及装置
[0001]本专利技术涉及大规模FFT
,具体涉及一种基于浮点数压缩技术的大规模FFT实现方法及装置。
技术介绍
[0002]快速傅里叶变换(Fast Fourier Transform,FFT)在数字信号处理、微分方程求解、图像处理和分子动力学等很多学科和科学计算领域具有重要地位和意义。目前许多重要的大规模计算应用依赖于快速傅里叶变换的高效计算,因此在超级计算机上有效地实现大规模FFT是非常必要的。
[0003]对于大规模FFT计算,其输入数据并不能完全在单个节点上计算,需要划分到多个节点上,每个节点计算自己的FFT部分,然后再与其他节点进行数据交换,这就涉及节点间的任务划分问题,即区域分解策略。目前,大规模FFT有两种经典的分解策略,分别为一维区域分解(slab)和二维区域分解(pencil)。二维区域分解策略在大规模集群上应用得比较普遍,可以在两个维度上同时进行划分,具有更好的可扩展性,但因每个进程上只有一维的数据,需要进行2次数据交换。
[0004 ...
【技术保护点】
【技术特征摘要】
1.一种基于浮点数压缩技术的大规模FFT实现方法,应用于设备端,其特征在于,所述方法包括:对第i个维度的FFT计算结果进行共享指数浮点数压缩,并将压缩结果打包成第i个维度的压缩数据之后,拷贝至所述主机端;其中,所述第i个维度的压缩数据是连续存储的数据块,所述对第i个维度的FFT计算结果进行共享指数浮点数压缩,包括:对第i个维度的FFT计算结果进行非线性归一化操作,并对非线性归一化操作结果进行线性归一化操作;对线性归一化操作结果进行压缩;;从主机端获取所述第i个维度的压缩数据后,对第i个维度的压缩数据依次进行解包和共享指数浮点数解压缩,并基于解压缩数据进行FFT计算,以得到第i+1个维度的FFT计算结果;其中,所述对第i个维度的压缩数据进行共享指数浮点数解压缩,包括:对所述第i个维度的解包数据进行解压缩;对解压缩数据进行反线性归一化操作,并对反线性归一化操作结果进行反非线性归一化操作;在i+1<N的情况下,令i=i+1,并返回至所述对第i个维度的FFT计算结果进行共享指数浮点数压缩,并将第i个维度的压缩数据拷贝至所述主机端;其中,N表示FFT计算的总维度;在i+1=N的情况下,将第i+1个维度的FFT计算结果作为FFT实现结果。2.如权利要求1所述的方法,其特征在于,所述第i个维度的FFT计算结果的浮点数数据类型包括:double类型和低精度浮点数类型;其中,所述低精度浮点数类型用于存储压缩的浮点数,每个浮点数只需存储符号位和尾数部分的内容。3.如权利要求1所述的方法,其特征在于,所述第i个维度的FFT计算结果进行非线性归一化操作,包括:判断浮点数x是否大于零;其中,所述浮点数x是第i个维度的FFT计算结果对应的浮点数数组中的一元素;在所述浮点数x大于零的情况下,获取所述浮点数x的变形值y=log(x+1);在所述浮点数x不大于零的情况下,获取所述浮点数x的变形值y=
‑
log(
‑
x+1);基于所述浮点数x的变形值y,得到非线性归一化操作结果。4.如权利要求3所述的方法,其特征在于,对非线性归一化操作结果进行线性归一化操作,包括:设置区间的边界值A和边界值B;计算所述变形值y的变形值其中,min表示非线性归一化操作结果中最小的变形值y,max表示非线性归一化操作结果中最大的变形值y;基于所有变形值y的变形值x
′
,得到线性归一化操作结果。5.如权利要求4所述的方法,其特征在于,所述对解包数据进行反线性归一化操作,包括:获取区间的边界值A和边界值B;计算所述变形值x
′
的变形值其中,min表示非线性归
一化操作结果中最小的...
【专利技术属性】
技术研发人员:赵玉文,刘芳芳,马文静,李会元,彭远驰,
申请(专利权)人:中国科学院软件研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。