CN105224506A - 一种用于gpu异构集群的高性能fft方法 - Google Patents

一种用于gpu异构集群的高性能fft方法 Download PDF

Info

Publication number
CN105224506A
CN105224506A CN201510725866.3A CN201510725866A CN105224506A CN 105224506 A CN105224506 A CN 105224506A CN 201510725866 A CN201510725866 A CN 201510725866A CN 105224506 A CN105224506 A CN 105224506A
Authority
CN
China
Prior art keywords
dimension
data
fft
gpu
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510725866.3A
Other languages
English (en)
Other versions
CN105224506B (zh
Inventor
陈一峯
崔翔
王韬
严磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN201510725866.3A priority Critical patent/CN105224506B/zh
Publication of CN105224506A publication Critical patent/CN105224506A/zh
Application granted granted Critical
Publication of CN105224506B publication Critical patent/CN105224506B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公布了一种用于GPU异构集群的高性能FFT方法,将数据进行维度划分并表示为数组数据,按照划分维度进行分割后分布到GPU异构集群中与划分维度相同数目的节点上,再进行FFT计算,包括:获得GPU集群的节点数目、节点上GPU数目、节点内存容量、GPU设备存储器容量信息;将数据采用数组维度表示为数组数据;针对x维度进行维度划分;按照x维度分割数据,分布在多个节点上;将y和z维度方向的数据进行FFT计算;进行集群节点之间的数据转置;进行x维度的FFT计算。本发明是针对GPU异构集群的多层存储器体系结构特征的FFT方法,具有良好的性能和可延展性。

Description

一种用于GPU异构集群的高性能FFT方法
技术领域
本发明涉及计算机高性能计算领域,涉及一种用于GPU异构集群上的高性能FFT(FastFourierTransformation,快速傅氏变换)计算方法。
背景技术
在异构处理器FFT的研究方面,Nvidia公司有针对单个GPU的数学库CUBLAS和CUFFT,也正在研制针对单机上多个GPU的数学库;很多研究人员进行了单GPU上FFT算法的研究。在发布MIC协处理器的同时,Intel公司也推出了MIC协处理器上的MKL数学库。现有的传统集群上的商业版FFT数学库主要有FFTW和IntelMKL。FFTW是使用最为广泛的FFT库,其基于MPI的3维FFT并没有考虑计算和通信的重叠优化问题;P3DFFT通过对数据进行节点间高维分布以提高3维FFT的延展性,但没有考虑计算和通信的重叠优化问题;2DECOMP&FFT和Kandalla等通过优化多组输入数组间的计算通信重叠问题实现对批量数据3维FFT计算的性能优化;针对一些科学计算问题中需要对一个数据数组进行多次3维FFT计算的应用场景,Song等通过优化一次3维FFT内的计算通信重叠问题来提升性能;Bell等基于UPC和支持异步通信的硬件实现了一次3维FFT内的计算通信重叠优化;Fang等使用特定通信API在多维网络结构中实现了计算通信重叠的3维FFT;Doi等考虑非对称网状网络的拓扑结构,合理调度远距离进程之间的通信,在多核节点上使用不同的线程实现通信和计算的重叠。在HPCC的集群FFT测试中,目前最快的集群FFT是IBMBlueGene,达到226.10TFlop/s。
传统的集群3维FFT可以用维度表示法进行清晰的描述,如图2(a)所示,为8×8×8的3维立方体数据,其中,z维度为最密集的,而x维度为最稀疏的,此时,数组可以记为将该数组分布到4个节点的集群上去,一种方式是进行1维的分割,即将该数组按照x维度的方向进行分割,如图2(b)所示,此时,该数组记为这意味着数据分布在4个节点上,每个节点有2(x0维度)个8×8(y和z维度)的正方形数据,进行3维FFT计算的步骤如下:
一,在4(x1维度)个节点上分别并行进行2(x0维度)次2维8×8的FFT,即将y和z维度方向的1维FFT计算完成;
二,需要进行x维度方向的FFT,由于x维度方向的数据分布在不同的节点上,因此需要进行通信。将数据再进行y维度方向的分割,如图2(b)所示。此时,该数组记为通过进行2次(x0维度)的分组AllToAll通信,即可将x1维度和y1维度进行对调,数据的分布变为
三,数据已经按照y1维度分布在4个节点上,但x维度的数据在内存中仍不连续。为了使x维度的数据连续以保证cache访问的友好性,也可以在各个节点并行进行本地的数据转置,将其变为(此转置需要额外的内存缓冲区空间);
四,在完成了对x维度数据的1维FFT之后,可以将整个步骤反序进行,把数据元素恢复到初始的位置。
传统集群3维FFT的另一种分布数据的方法是按照2个维度对数据进行分布,对8×8×8的3维立方体数据按照x维度和y维度进行划分,分布到4×4的节点阵列上,记为该方法进行3维FFT计算的步骤如下:
一,z维度方向的数据都在同一个节点本地,16个节点并行计算2(x0维度)×2(y0维度)个z维度方向的1维FFT;
二,为了通信的需要,将z维度做进一步的分裂,记为按照x1维度,将节点阵列分为4组,每组4(y1维度)个节点,各组节点内做2(x0维度)×2(y0维度)次分组AllToAll通信,将y1维度和z1维度转置,得到
三,y维度方向的数据都在同一个节点本地,16个节点并行计算2(x0维度)×2(z0维度)个y维度方向的1维FFT;
四,按照z1维度,将节点阵列分为4组,每组4(x1维度)个节点,各组节点内做2(x0维度)×2(y0维度)次AllToAll通信,将x1维度和y1维度转置,得到
五,在完成了对x维度数据的1维FFT之后,可以将整个步骤反序进行,把数据元素恢复到初始的位置。
在上述计算方法中,第二步和第四步的通信都需要进行四次较小规模的AllToAll通信,在节点具有足够内存容量做缓冲区的情况下,可以通过本地数据转置将通信减少为1个AllToAll通信。
综上所述,已有高性能FFT方法针对的是单机或传统集群,到目前,尚未出现基于GPU异构集群的高性能FFT方法。对于GPU异构集群,由于其具有更加复杂的多层存储器结构,传统集群上的FFT算法已经不再适合其体系结构的特征,难以取得更高的性能。
发明内容
为了克服上述现有技术的不足,本发明提供一种用于GPU异构集群上的高性能FFT(FastFourierTransformation,快速傅氏变换)计算方法,针对GPU异构集群的多层存储器体系结构特征,通过适应性的数据维度划分和传输转置方法,实现天河1A系统上的大规模3维FFT,该方法得到了良好的性能和可延展性。
本发明提供的技术方案是:
一种用于GPU异构集群的高性能FFT方法,所述方法将待处理数据进行维度划分并表示为数组数据,对数组数据按照划分维度进行分割,将数据分布到GPU异构集群中与划分维度相同数目的节点上,再进行FFT计算;图1是本发明方法的流程图,具体包括如下步骤:
1)测试所使用GPU集群的体系结构特征,获取包括节点数目、节点上GPU数目、节点内存容量、GPU设备存储器容量等信息;设定d为GPU异构集群的节点数目;
2)针对待处理数据,针对x维度进行维度划分,采用数组维度表示方法进行表示,x维度的大小设为a,记为其中,x、y和z为维度的名称,a、b和c为相应维度的大小;该数组表示和传统编程语言中的数组表示相同,只是在各个维度上加上该维度的命名,方便对FFT计算问题的表示;
3)将数组数据(一般情况下,数据需为三维结构,但各个维度的大小可以不同)按照x维度分割为d份,数据分布在a个节点上;
这样,每一个节点的数据为(a/d)*b*c个复数,此时数据记为即x维度分裂为x1和x0两个维度,维度大小分别为d和a/d;
4)每个节点上的GPU将y维度方向和z维度方向的数据进行FFT计算;具体是进行x0维度个FFT计算,即进行a/d个2维的FFT计算;
由于计算的时间与数据传输的时间相比基本上可以忽略,在此直接使用CUFFT调用(CUFFT为Nvidia公司的单GPU上的FFT数学库函数)即可。
5)在进行x维度的FFT计算之前,需要进行集群节点之间的数据转置,将y维度的数据做进一步的划分,得到
x ^ 1 [ d ] x 0 [ a / d ] y 1 [ d ] y 0 [ b / d ] z [ c ] ,
在集群上直接进行通信,将数据分布变换为
y ^ 1 [ d ] y 0 [ b / d ] [ x 1 [ d ] x 0 [ a / d ] ] z [ c ] , y ^ 1 [ d ] y 0 [ b / d ] x [ a ] z [ c ] ,
这样,y维度和x维度得到交换,数据按照y1维度分布在集群节点上,x维度方向的数据存储在各个节点之内。
6)此时,各个节点可以分b/d(y0维度)次,将a*c的数据拷贝到GPU设备存储器上,并进行二维数据转置,使得x维度的数据完全连续,得到
y ^ 1 [ d ] y 0 [ b / d ] z [ c ] x [ a ] ;
7)进行x维度的FFT计算;
8)在使用CUFFT进行x维度的1维FFT计算之后,反方向重复整个数据移动过程,即回溯整个数据转置和传输的过程,将数据恢复为初始的分布状态,最终将数据恢复到最初始的位置,即 x [ a ] y [ b ] z [ c ] .
将上述用于GPU异构集群的高性能FFT方法应用于天河1A系统,天河1A是我国自主组建的大型GPU异构集群系统,该集群共有8100个节点,每一个节点接有2个6核Intel处理器和1个448核TeslaFermiGPU。该集群采用定制的网络并使用胖树的交换结构,每一个节点具有80Gbps的理论带宽;将上述用于GPU异构集群的高性能FFT方法应用于天河1A系统,包括如下步骤:
首先使用数组维度表示方法,将初始数据记为数组数据 x [ 8192 ] y [ 8192 ] z [ 8192 ] ;
再将数组数据按照x维度分割为4096份,分布到天河1A系统的4096个节点上,这样,每一个节点的数据为2×8192×8192个单精度复数,此时数据记为
x ^ 1 [ 4096 ] x 0 [ 2 ] y [ 8192 ] z [ 8192 ] ;
天河1A系统的每个GPU进行x0维度上2个2维的FFT,将y维度方向和z维度方向的数据进行计算;
将数据进行转置,将y维度的数据做进一步的划分,得到:
x ^ 1 [ 4096 ] x 0 [ 2 ] y 1 [ 4096 ] y 0 [ 2 ] z [ 8192 ] ,
在天河1A系统集群上直接使用copy子程序进行通信,将数据分布变换为
y ^ 1 [ 4096 ] y 0 [ 2 ] [ x 1 [ 4096 ] x 0 [ 2 ] ] z [ 8192 ] ,
y ^ 1 [ 4096 ] y 0 [ 2 ] x [ 8192 ] z [ 8192 ] ,
这样,y维度和x维度得到交换,数据按照y1维度分布在集群节点上,x维度方向的数据存储在各个节点之内;
此时,各个节点可以分2(y0维度)次,将8192×8192的数据拷贝到GPU设备存储器上,并进行正方形的数据转置,使得x维度的数据完全连续,得到:
y ^ 1 [ 4096 ] y 0 [ 2 ] z [ 8192 ] x [ 8192 ] ;
进行x维度的FFT计算;
在使用CUFFT进行x维度的1维FFT计算之后,反方向重复整个数据移动过程,将数据恢复到初始的位置。
与现有技术相比,本发明的有益效果是:
已有高性能FFT研究集中于单机或传统集群,缺乏GPU异构集群的高性能FFT的研究。对于GPU异构集群,由于其具有更加复杂的多层存储器结构,传统集群上的FFT算法已经不再适合其体系结构的特征,难以取得更高的性能。
与现有技术相比,本发明以天河1A系统为对象,针对GPU异构集群的多层存储器体系结构特征,提出适应性的数据维度划分和传输转置方法,通过数组维度类型程序设计,解决异构集群科学计算问题中复杂的数组维度处理问题:使用Parray语言的新型数组类型,可以在编码阶段对数组维度处理过程进行简洁的表示;同时,本发明还解决了如何使用数组维度类型程序设计方法和Parray语言实现天河1A系统上的大规模3维FFT,实现天河1A系统上的大规模3维FFT,该方法得到了良好的性能和可延展性。
附图说明
图1是本发明提供的用于GPU异构集群的高性能FFT方法的流程框图。
图2是传统集群的三维FFT方法数据处理示意图;
其中,(a)为需要进行FFT计算的3维立方体数据;(b)为将3维立方体数据分布到4个处理器上后对y和z两个维度进行FFT计算的数据状态;(c)为将数据在4个处理器之间进行通信,使得x维度的数据连续以进行x维度FFT计算的数据状态。
图3是使用本发明提供的GPU集群FFT方法和Intel公司数学库提供方法进行性能比较的结果示意图;
其中,横坐标为进行性能测试的不同的数据维度大小规模;纵坐标为本发明的GPU集群FFT算法代码和Intel公司数学库提供方法的性能比较,单位为Gflops,即1G次浮点运算每秒。
图4是使用本发明提供的GPU集群FFT方法处理的代码同Intel公司数学库提供方法进行性能加速比(即在增加参与计算节点的情况下,性能的提升情况)比较的结果示意图;
其中,横坐标为使用天河1A的节点数目;纵坐标为其取得的性能,其单位为Gflops,即1G次浮点运算每秒。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种GPU异构集群上的高性能FFT方法(PKUFFT),将该方法应用于我国自主组建的大型GPU异构集群系统天河1A上,天河1A集群共有8100个节点,每一个节点接有2个6核Intel处理器和1个448核TeslaFermiGPU,该集群采用定制的网络并使用胖树的交换结构,每一个节点具有80Gbps的理论带宽。
本发明使用Parray语言实现GPU异构集群的高性能FFT方法。使用Parray语言表示维度变换所针对的数组包括自然数组、人工数组和混合数组;并使用Parray语言描述维度变换和转置过程的数据传输。表示方法分别如下:
a,自然数组
Parray语言中,自然数组指数组数据元素的逻辑下标和物理偏移相一致的数组类型。对于本发明中这样的自然数组,Parray声明一个维度为a*b*c的数组类型,该数组为位于分页存储器中的浮点数数组,示例代码如下:
1.$parray{paged float[a][b][c]}A
b,人工数组
在Parray中,数组的物理存储与逻辑视图在概念上进行分离:类型提供且仅仅提供对数据的逻辑视图,与数据的物理存储空间无关;数组维度变换和转置通过人工数组实现。人工数组是指含有一个或多个人工维度的数组类型,人工维度来自于对已有数组类型维度的引用。对于一个正方形的数组类型A,其维度为b*c,其在内存中的转置表示为类型B的形式,其两个维度来自于类型A,但是维度的顺序进行了对调,人工数组的示例见下列代码:
c,线程数组和混合数组
Parray中,使用parray命令同样可以声明线程数组。
如下代码声明一个集群上多个节点上进程构成的数组类型MYMPITA,其维度为a。
1.$parray{mpi[a]}MYMPITA
Parray中,线程数组的维度可以和数据数组的维度结合在一起,构成一种特殊的人工数组,称为混合数组。混合数组可以用来表示分布的数据。下面混合数组表示的示例代码声明了一个混合数组类型T:
1.$parray{[[#MYMPITA][#A_0]][#A_1]}T
上述混合数组类型T中,它的T_0_0维度来自MPI进程数组类型MYMPITA,而T_0_1和T_1维度来自于分页内存数组类型DT。
采用Parray语言表示数据的维度变换之后,将维度变换的数据传输到集群节点,具体地:
Parray中,可以通过调用copy子程序完成集群节点上甚至节点间的数据传输和转置,其语法为
$copyS(s)toT(t)
其中,参数s和S为传输起始的数据地址和数组类型,参数t和T为传输目标的数据地址和数组类型,起始类型S和目标类型T需要具有相同的维度树结构。copy所完成的数据传输将根据起始类型S和目标类型T指示出的维度关系,将数据由起始地址s复制到目标地址t。
在天河1A上,使用Parray书写的3维FFT代码最大运行到14336×14336×14336单精度复数的规模,共使用7168个节点,这是目前世界上最大规模的3维FFT运算。本实施实例以使用4096个节点计算8192×8192×8192规模的数据为例,描述Parray3维FFT方法的步骤与应用:
首先使用数组维度表示方法,初始数据记为
再将数组数据按照x维度分割为4096份,分布到4096个节点上,这样,每一个节点的数据为2×8192×8192个单精度复数。此时数据记为
x ^ 1 [ 4096 ] x 0 [ 2 ] y [ 8192 ] z [ 8192 ]
然后,每个GPU先进行2(x0维度)个2维的FFT,将y维度方向和z维度方向的数据进行计算。由于计算的时间与数据传输的时间相比基本上可以忽略,在此直接使用CUFFT调用即可,无需使用已实现的更加优化的GPUFFT代码。
然后,在进行x维度的FFT计算之前,需要进行转置,将y维度的数据做进一步的划分,得到
x ^ 1 [ 4096 ] x 0 [ 2 ] y 1 [ 4096 ] y 0 [ 2 ] z [ 8192 ] ,
在集群上直接使用copy子程序进行通信,将数据分布变换为
y ^ 1 [ 4096 ] y 0 [ 2 ] [ x 1 [ 4096 ] x 0 [ 2 ] ] z [ 8192 ] ,
y ^ 1 [ 4096 ] y 0 [ 2 ] x [ 8192 ] z [ 8192 ] ,
这样,y维度和x维度得到交换,数据按照y1维度分布在集群节点上,x维度方向的数据存储在各个节点之内。
此时,各个节点可以分2(y0维度)次,将8192×8192的数据拷贝到GPU设备存储器上,并进行正方形的数据转置,使得x维度的数据完全连续,得到
y ^ 1 [ 4096 ] y 0 [ 2 ] z [ 8192 ] x [ 8192 ] ,
在使用CUFFT进行x维度的1维FFT计算之后,反方向重复整个数据移动过程,将数据恢复到初始的位置。
以上方法采用Parray代码实现,代码如下所示:
Parray书写的集群3维FFT代码:
其中,第1行声明自然数组类型HSTS,代表整个数据在集群上的维度划分;第2行声明自然数组类型HST,引用到HSTS_1维度,代表数据在一个节点上的维度划分;第5~7行,声明MPI进程数组类型MYTA以及混合数组类型S和T,注意S和T中的对应维度进行了调整,之后将使用其进行集群上数据的转置通信;进入FFT3D_FORWARD的执行代码,第8~12行,各个节点上分2次将y维度和z维度的8192×8192的数据传输到GPU上进行计算;第13行copy子程序利用之前声明的混合数组类型S和T进行算法中的集群之间的通信;第14~17行,各个节点将本地x维度的数据传输到GPU上进行1维FFT的计算;最后,反方向重复整个数据移动过程,将数据恢复到初始的位置。
使用Parray实现的GPU集群3维FFT(PKUFFT)在天河1A上进行了性能测试,并与IntelMKL10.3.1.048进行了比较。图3是使用本发明提供的GPU集群FFT方法和Intel公司数学库提供方法进行性能比较的结果示意图;其中,横坐标为进行性能测试的不同的数据维度大小规模;纵坐标为本发明的GPU集群FFT算法代码和Intel公司数学库提供方法的性能比较,单位为Gflops,即1G次浮点运算每秒。图3给出了它们在对不同规模的单精度复数数据做3维FFT时的性能;可以看出,PKUFFT的性能远远超出MKL。图4是使用本发明提供的GPU集群FFT方法处理的代码同Intel公司数学库提供方法进行性能加速比(即在增加参与计算节点的情况下,性能的提升情况)比较的结果示意图;其中,横坐标为使用天河1A的节点数目;纵坐标为其取得的性能,其单位为Gflops,即1G次浮点运算每秒。图4显示出,与MKL相比较,PKUFFT具有更好的性能延展性。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (4)

1.一种用于GPU异构集群的高性能FFT方法,所述方法将待处理数据进行维度划分并表示为数组数据,对数组数据按照划分维度进行分割后将数据分布到GPU异构集群中与划分维度相同数目的节点上,再进行FFT计算;具体包括如下步骤:
1)测试获得所使用GPU集群的体系结构特征,包括节点数目、节点上GPU数目、节点内存容量、GPU设备存储器容量信息;设定d为GPU异构集群的节点数目;
2)将待处理数据采用数组维度表示方法表示为数组数据;针对x维度进行维度划分,x维度的大小设为a,记为其中,x、y和z为维度的名称,a、b和c为相应维度的大小;
3)将步骤2)所述数组数据按照x维度分割为d份,数据分布在a个节点上;每一个节点的数据为(a/d)*b*c个复数,此时数据记为其中,x维度分裂为x1和x0两个维度,维度大小分别为d和a/d;
4)每个节点上的GPU将y维度方向和z维度方向的数据进行FFT计算;具体是进行x0维度个FFT计算,即进行a/d个2维的FFT计算;
5)在进行x维度的FFT计算之前,进行集群节点之间的数据转置,将y维度的数据做进一步的划分,得到在集群上直接进行通信,将y维度和x维度进行交换,数据分布变换为得到数据按照y1维度分布在集群节点上,x维度方向的数据存储在各个节点上;
6)各个节点分为y0维度大小b/d次,将a*c的数据拷贝到GPU设备存储器上,并进行二维数据转置,使得x维度的数据完全连续,得到
7)进行x维度的FFT计算;
8)反方向重复整个数据移动过程,回溯整个数据转置和传输的过程,将数据恢复为初始的分布状态,最终将数据恢复到最初始的位置,即
2.如权利要求1所述用于GPU异构集群的高性能FFT方法,其特征是,所述FFT计算具体通过调用FFT数学库函数CUFFT实现。
3.如权利要求1所述用于GPU异构集群的高性能FFT方法,其特征是,所述GPU异构集群为天河1A系统。
4.如权利要求1~3所述用于GPU异构集群的高性能FFT方法,其特征是,步骤1)所述GPU异构集群的节点数目d为4096;步骤2)所述x、y和z维度相应维度大小a、b和c均为8192。
CN201510725866.3A 2015-10-29 2015-10-29 一种用于gpu异构集群的高性能fft方法 Expired - Fee Related CN105224506B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510725866.3A CN105224506B (zh) 2015-10-29 2015-10-29 一种用于gpu异构集群的高性能fft方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510725866.3A CN105224506B (zh) 2015-10-29 2015-10-29 一种用于gpu异构集群的高性能fft方法

Publications (2)

Publication Number Publication Date
CN105224506A true CN105224506A (zh) 2016-01-06
CN105224506B CN105224506B (zh) 2018-02-13

Family

ID=54993485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510725866.3A Expired - Fee Related CN105224506B (zh) 2015-10-29 2015-10-29 一种用于gpu异构集群的高性能fft方法

Country Status (1)

Country Link
CN (1) CN105224506B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840306A (zh) * 2017-12-28 2019-06-04 中国科学院计算技术研究所 一种基于递归的并行快速傅里叶变换通信优化方法和系统
CN113688352A (zh) * 2021-08-20 2021-11-23 北京思朗科技有限责任公司 一种数据处理系统、方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937422A (zh) * 2009-07-02 2011-01-05 北京理工大学 基于gpu众核平台的fft并行方法
CN102902657A (zh) * 2012-09-07 2013-01-30 浪潮电子信息产业股份有限公司 一种利用gpu加速fft的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937422A (zh) * 2009-07-02 2011-01-05 北京理工大学 基于gpu众核平台的fft并行方法
CN102902657A (zh) * 2012-09-07 2013-01-30 浪潮电子信息产业股份有限公司 一种利用gpu加速fft的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YIFENG CHEN ET.: "Large-Scale FFT on GPU clusters", 《ICS‘10 PROCEEDINGS OF THE 24TH ACM INTERNATIONAL CONFERENCE ON SUPERCOMPUTING》 *
崔翔等: "基于Parray数组类型的矩阵乘法实现", 《计算机学报》 *
李繁: "基于GPU的高性能并行优化算法研究", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840306A (zh) * 2017-12-28 2019-06-04 中国科学院计算技术研究所 一种基于递归的并行快速傅里叶变换通信优化方法和系统
CN109840306B (zh) * 2017-12-28 2020-10-23 中国科学院计算技术研究所 一种基于递归的并行快速傅里叶变换通信优化方法和系统
CN113688352A (zh) * 2021-08-20 2021-11-23 北京思朗科技有限责任公司 一种数据处理系统、方法及装置
CN113688352B (zh) * 2021-08-20 2023-08-04 上海思朗科技有限公司 一种数据处理系统、方法及装置

Also Published As

Publication number Publication date
CN105224506B (zh) 2018-02-13

Similar Documents

Publication Publication Date Title
CN104317768B (zh) 面向cpu+dsp异构系统的矩阵乘加速方法
KR20130090147A (ko) 신경망 컴퓨팅 장치 및 시스템과 그 방법
CN101937425B (zh) 基于gpu众核平台的矩阵并行转置方法
Zhou et al. GPU-based parallel multi-objective particle swarm optimization
CN108197075B (zh) 一种Inception结构的多核实现方法
CN109978171A (zh) 一种基于云计算的Grover量子仿真算法优化方法
CN112446471B (zh) 基于异构众核处理器的卷积加速方法
CN111813563A (zh) 匹配于高性能计算机体系结构的非结构网格数据管理方法
CN105224506A (zh) 一种用于gpu异构集群的高性能fft方法
CN115270500A (zh) 一种布尔求差运算方法、装置及电子设备
Burstedde et al. Coarse mesh partitioning for tree-based amr
CN111651208B (zh) 面向异构众核并行计算机的模态并行计算方法及系统
CN116303219A (zh) 一种网格文件的获取方法、装置及电子设备
CN107256203A (zh) 一种矩阵向量乘法的实现方法和装置
Kumari et al. A parallel selection sorting algorithm on GPUs using binary search
CN116128019A (zh) Transformer模型的并行训练方法及装置
WO2022134873A1 (zh) 数据处理装置、数据处理方法及相关产品
JP6888074B2 (ja) チップ装置および関連製品
JP6888073B2 (ja) チップ装置および関連製品
CN111913748B (zh) 一种适合复杂异构系统的hpl矩阵更新优化方法
CN109992860A (zh) 基于gpu的电磁暂态并行仿真方法和系统
McColl Mathematics, Models and Architectures
CN117311948B (zh) Cpu与gpu异构并行的自动多重子结构数据处理方法
CN109783240B (zh) 基于minmax局部优化结构化网格并行计算负载平衡方法
Huan et al. A new method of Sparse Matrix-Vector Multiplication on GPU

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180213

Termination date: 20201029

CF01 Termination of patent right due to non-payment of annual fee