CN110162469B - 一种基于cuda的fft软件库性能测试方法及装置 - Google Patents
一种基于cuda的fft软件库性能测试方法及装置 Download PDFInfo
- Publication number
- CN110162469B CN110162469B CN201910344917.6A CN201910344917A CN110162469B CN 110162469 B CN110162469 B CN 110162469B CN 201910344917 A CN201910344917 A CN 201910344917A CN 110162469 B CN110162469 B CN 110162469B
- Authority
- CN
- China
- Prior art keywords
- fft
- fft software
- fourier transform
- performance
- fast fourier
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及测试技术领域,公开一种基于CUDA的FFT软件库性能测试方法,包括以下步骤:步骤1:构建多个测试平台,所述测试平台性能参数一致;步骤2:在各测试平台上搭建不同FFT软件库;步骤3:分别将测试数据输入不同FFT软件库,进行不同FFT软件库单双精度下的快速傅里叶变换;步骤4:基于步骤3中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件FFT算法的浮点运算性能进行比较;步骤5:基于步骤3中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件库FFT算法的运行时间进行比较。本发明还公开一种基于CUDA的FFT软件库性能测试装置。本发明可以对基于CUDA的FFT软件库进行性能测试。
Description
技术领域
本发明涉及测试技术领域,特别涉及一种基于CUDA的FFT软件库性能测试方法及装置。
背景技术
傅里叶变换在物理学、数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学、海洋学、结构力学等领域都已经有着广泛的应用。大型射电天文望远镜所收集的大量信号在处理时,通常需要大量用到FFT算法,对数据处理算法提出了较高的要求。
SKA(平方公里阵列射电望远镜)是国际上即将建造的最大综合孔径射电望远镜,由数量多达3000个的碟形天线构成。整个阵列中大约50%的望远镜天线位于中央核心区的5公里半径内,另外的25%将外延至200公里范围,最后的25%将延伸超过3000公里,最终所有望远镜被等效为一个反射面积高达1平方公里的超大望远镜。SKA建造的目的是为了解答目前困扰科学界的众多问题,如关于第一代天体如何形成、星系演化、宇宙磁场、引力的本质、地外生命与地外文明、暗物质和暗能量等。SKA建成后,将比目前最大厘米波综合孔径望远镜JVLA灵敏度提高50倍,搜寻速度提高10000倍。按计划望远镜阵列将安装于南非和澳大利亚沙漠中,并分别在开普敦和珀斯建立数据中心,以接收处理SKA产生的海量数据。
SKA的研究极度依赖于超级计算技术的支撑。随着工程的推进,数量庞大的望远镜阵列每天将接受大量数据,据估计每秒采集的数据量将大于12Tb,相当于2013年底中国互联网国际出口带宽的3.5倍,相当于谷歌每年数据量的30倍。这需要百亿次级别的超级计算机才能完成科学数据处理,相当于目前全球最快超级计算机天河2号性能的52倍。按现有的计算架构设计,这样的超级计算机不仅投资巨大,单是每年的电费支出就将是一笔天文数字。作为射电天文学数据成像过程中用到的基础数据处理算法,FFT算法在SKA的数据处理中占据重要地位。分析现有各种FFT软件库的数据处理性能,据此改进SKA数据处理流程中的相应部分,将有助于优化提高SKA数据处理能力。
发明内容
本发明提供一种基于CUDA的FFT软件库性能测试方法及装置,可以对基于CUDA的FFT软件库进行性能测试,从而根据测试结果得出FFT算法的优化方向。
为了实现上述目的,本发明采用以下技术方案:
一种基于CUDA的FFT软件库性能测试方法,包括:
步骤1:构建多个测试平台,所述测试平台性能参数一致;
步骤2:在各测试平台上搭建不同FFT软件库;
步骤3:分别将测试数据输入不同FFT软件库,进行不同FFT软件库单双精度下的快速傅里叶变换;
步骤4:基于步骤3中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件FFT算法的浮点运算性能进行比较;
步骤5:基于步骤3中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件库FFT算法的运行时间进行比较。
进一步地,所述性能参数包括CPU、GPU、内存、存储、操作系统及软件。
进一步地,所述FFT软件库包括:CLFFT、FFTW、CUFFT及SFFT。
一种基于CUDA的FFT软件库性能测试装置,包括:
构建模块,用于构建多个测试平台,所述测试平台性能参数一致;
搭建模块,用于在各测试平台上搭建不同FFT软件库;
快速傅里叶变换模块,用于分别将测试数据输入不同FFT软件库,进行不同FFT软件库单双精度下的快速傅里叶变换;
第一比较模块,用于基于快速傅里叶变换模块中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件FFT算法的浮点运算性能进行比较;
第二比较模块,用于基于快速傅里叶变换模块中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件库FFT算法的运行时间进行比较。
与现有技术相比,本发明具有的有益效果:
本发明的一种基于CUDA的FFT软件库性能测试方法及装置,首先通过构建多个测试平台,并在各测试平台上搭建不同FFT软件库;然后分别将测试数据输入不同FFT软件库,进行不同FFT软件库单双精度下的快速傅里叶变换;最后对单精度及双精度下不同FFT软件库FFT算法的浮点运算性能进行比较,对单精度及双精度下不同FFT软件库FFT算法的运行时间进行比较。通过上述方法实现了对基于CUDA的FFT软件库性能测试,可以会后续SKA数据处理流程中的相应部分的改进提供依据。本发明对CUFFT与FFTW两种FFT算法库的运算性能开展了评测,实验结果表明基于GPU加速的CUFFT库在浮点运算性能上要优于FFTW,在运行时间上,CUFFT也具有更好的稳定性。
附图说明
图1为本发明实施例的一种基于CUDA的FFT软件库性能测试方法的基本流程图;
图2为本发明实施例的一种基于CUDA的FFT软件库性能测试方法的单精度下CUFFT与FFTW中FFT算法的浮点运算性能比较曲线图;
图3为本发明实施例的一种基于CUDA的FFT软件库性能测试方法的双精度下CUFFT与FFTW中FFT算法的浮点运算性能比较曲线图;
图4为本发明实施例的一种基于CUDA的FFT软件库性能测试方法的单精度下CUFFT与FFTW中FFT算法的运行时间比较曲线图;
图5为本发明实施例的一种基于CUDA的FFT软件库性能测试方法的双精度下CUFFT与FFTW中FFT算法的运行时间比较曲线图;
图6为本发明实施例的一种基于CUDA的FFT软件库性能测试装置的结构示意图。
具体实施方式
下面结合附图和具体的实施例对本发明做进一步的解释说明:
实施例一:
如图1所示,一种基于CUDA的FFT软件库性能测试方法,包括以下步骤:
步骤S101:构建多个测试平台,所述测试平台性能参数一致;
具体地,所述性能参数包括CPU、GPU、内存、存储、操作系统及软件。作为一种可实施方式,本实施例中性能参数如表1、表2所示。
表1测试平台性能参数
所使用的Tesla K80GPU加速器性能参数如下:
表2GPU加速卡性能参数
步骤S102:在各测试平台上搭建不同FFT软件库;
具体地,所述FFT软件库包括:CLFFT、FFTW、CUFFT及SFFT。作为一种可实施方式,本实施例中基于CUDA对FFTW和CUFFT进行性能测试。
CLFFT基于OpenCL的一个包含FFT的软件库。除了支持GPU设备之外,还支持CPU设备来加速程序运行。
FFTW(Faster Fourier Transform in the West)是由麻省理工学院计算机科学实验室超级计算技术组的Matteo Frigo博士和Steven G.Johnson博士开发的一套离散傅里叶变换(DFT)计算库。
CUFFT是的全称是CUDAFast Fourier Transform,它提供了一系列的函数帮助开发者进行快速傅里叶变换的运算。
稀疏傅里叶变换(SFFT)是由麻省理工学院计算机科学和人工智能实验室研究出的,它被用来计算在频率域上稀疏的时域信号的离散傅里叶变换(DFT)。
步骤S103:分别将测试数据输入不同FFT软件库,进行不同FFT软件库单双精度下的快速傅里叶变换;具体地,测试数据为不同大小(M*N像素)的2维图像数据,各FFT软件库在单精度和双精度下的快速傅里叶变换后测试结果分别如表3、表4所示,其中Elapsedtime为运行时间,单位为毫秒,Gflps(GigaFloating-point Operations Per Second)为每秒10亿次的浮点运算数。表3.CUFFT单双精度下的快速傅里叶变换测试结果表
表4.FFTW单双精度下的快速傅里叶变换测试结果表
步骤S104:基于步骤S103中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件FFT算法的浮点运算性能进行比较;具体地,对单精度及双精度下FFTW和CUFFT的FFT算法的Gflps(每秒10亿次的浮点运算数)进行比较,结果如图2、图3所示。
步骤S105:基于步骤S103中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件库FFT算法的运行时间进行比较;具体地,对单精度及双精度下FFTW和CUFFT的FFT算法的Elapsed time(运行时间)进行比较,结果如图4、图5所示。
根据图2-5可以发现,FFTW在较小规模数据下,其浮点运算性能要高于CUFFT,随着数据量增大,CUFFT的并行运算性能得到发挥,相对于FFTW,其在浮点运算性能上的优势逐渐扩大。总体来看,FFTW在运行时其浮点运算性能保持在比较稳定的水平,CUFFT的浮点运算性能在不同数据输入下呈现出较大的波动性。由于CUFFT是并行算法库,因此在数据利于其并行分配任务时,算法性能就会提升,反之亦然。在程序运行时间上,两种软件库均存在较大的波动性,但是CUFFT波动的幅度要小于FFTW。在相同输入的实验数据下,本发明对CUFFT与FFTW两种FFT算法库的运算性能开展了评测,实验结果表明基于GPU加速的CUFFT库在浮点运算性能上要优于FFTW,在运行时间上,CUFFT也具有更好的稳定性。
本发明的一种基于CUDA的FFT软件库性能测试方法及装置,首先通过构建多个测试平台,并在各测试平台上搭建不同FFT软件库;然后分别将测试数据输入不同FFT软件库,进行不同FFT软件库单双精度下的快速傅里叶变换;最后对单精度及双精度下不同FFT软件库FFT算法的浮点运算性能进行比较,对单精度及双精度下不同FFT软件库FFT算法的运行时间进行比较。通过上述方法实现了对基于CUDA的FFT软件库性能测试,可以会后续SKA数据处理流程中的相应部分的改进提供依据。本发明对CUFFT与FFTW两种FFT算法库的运算性能开展了评测,实验结果表明基于GPU加速的CUFFT库在浮点运算性能上要优于FFTW,在运行时间上,CUFFT也具有更好的稳定性。
实施例二:
如图6所示,一种基于CUDA的FFT软件库性能测试装置,包括:
构建模块201,用于构建多个测试平台,所述测试平台性能参数一致;
搭建模块202,用于在各测试平台上搭建不同FFT软件库;
快速傅里叶变换模块203,用于分别将测试数据输入不同FFT软件库,进行不同FFT软件库单双精度下的快速傅里叶变换;
第一比较模块204,用于基于快速傅里叶变换模块203中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件FFT算法的浮点运算性能进行比较;
第二比较模块205,用于基于快速傅里叶变换模块203中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件库FFT算法的运行时间进行比较。
本发明的一种基于CUDA的FFT软件库性能测试方法及装置,首先通过构建多个测试平台,并在各测试平台上搭建不同FFT软件库;然后分别将测试数据输入不同FFT软件库,进行不同FFT软件库单双精度下的快速傅里叶变换;最后对单精度及双精度下不同FFT软件库FFT算法的浮点运算性能进行比较,对单精度及双精度下不同FFT软件库FFT算法的运行时间进行比较。通过上述方法实现了对基于CUDA的FFT软件库性能测试,可以会后续SKA数据处理流程中的相应部分的改进提供依据。本发明对CUFFT与FFTW两种FFT算法库的运算性能开展了评测,实验结果表明基于GPU加速的CUFFT库在浮点运算性能上要优于FFTW,在运行时间上,CUFFT也具有更好的稳定性。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种基于CUDA的FFT软件库性能测试方法,其特征在于,包括:
步骤1:构建多个测试平台,所述测试平台性能参数一致;
步骤2:在各测试平台上搭建不同FFT软件库;
步骤3:分别将测试数据输入不同FFT软件库,进行不同FFT软件库单双精度下的快速傅里叶变换;
步骤4:基于步骤3中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件FFT算法的浮点运算性能进行比较;
步骤5:基于步骤3中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件库FFT算法的运行时间进行比较。
2.根据权利要求1所述的一种基于CUDA的FFT软件库性能测试方法,其特征在于,所述性能参数包括CPU、GPU、内存、存储、操作系统及软件;
具体包括:
CPU:2颗Intel Xeon E5-2620 V3处理器;
GPU:2块NVIDIA Tesla K80 GPU;
内存:8根16GB DDR4内存,共128GB,最大支持768GB;
存储:512GB SSD硬盘,1TB SAS高速硬盘;
操作系统:CentOS7;
软件:CUDA8.0,Python3.6。
3.根据权利要求1所述的一种基于CUDA的FFT软件库性能测试方法,其特征在于,所述FFT软件库包括:CLFFT、FFTW、CUFFT及SFFT。
4.一种基于CUDA的FFT软件库性能测试装置,其特征在于,包括:
构建模块,用于构建多个测试平台,所述测试平台性能参数一致;
搭建模块,用于在各测试平台上搭建不同FFT软件库;
快速傅里叶变换模块,用于分别将测试数据输入不同FFT软件库,进行不同FFT软件库单双精度下的快速傅里叶变换;
第一比较模块,用于基于快速傅里叶变换模块中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件FFT算法的浮点运算性能进行比较;
第二比较模块,用于基于快速傅里叶变换模块中不同FFT软件库快速傅里叶变换的结果,对单精度及双精度下不同FFT软件库FFT算法的运行时间进行比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910344917.6A CN110162469B (zh) | 2019-04-26 | 2019-04-26 | 一种基于cuda的fft软件库性能测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910344917.6A CN110162469B (zh) | 2019-04-26 | 2019-04-26 | 一种基于cuda的fft软件库性能测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110162469A CN110162469A (zh) | 2019-08-23 |
CN110162469B true CN110162469B (zh) | 2023-01-24 |
Family
ID=67640210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910344917.6A Active CN110162469B (zh) | 2019-04-26 | 2019-04-26 | 一种基于cuda的fft软件库性能测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110162469B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853648A (zh) * | 2014-02-21 | 2014-06-11 | 北京神舟航天软件技术有限公司 | 嵌入式软件性能评测硬件辅助测试装置和方法 |
CN106951309A (zh) * | 2017-04-25 | 2017-07-14 | 郑州云海信息技术有限公司 | 一种虚拟化平台虚拟机计算性能测试的方法及系统 |
CN107544943A (zh) * | 2017-08-28 | 2018-01-05 | 湖南时变通讯科技有限公司 | 一种基于fft库函数的部分频点的计算方法及装置 |
CN109375606A (zh) * | 2018-09-21 | 2019-02-22 | 北京广利核系统工程有限公司 | 一种算法库测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407275B2 (en) * | 2008-10-22 | 2013-03-26 | International Business Machines Corporation | Fast floating point compare with slower backup for corner cases |
-
2019
- 2019-04-26 CN CN201910344917.6A patent/CN110162469B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853648A (zh) * | 2014-02-21 | 2014-06-11 | 北京神舟航天软件技术有限公司 | 嵌入式软件性能评测硬件辅助测试装置和方法 |
CN106951309A (zh) * | 2017-04-25 | 2017-07-14 | 郑州云海信息技术有限公司 | 一种虚拟化平台虚拟机计算性能测试的方法及系统 |
CN107544943A (zh) * | 2017-08-28 | 2018-01-05 | 湖南时变通讯科技有限公司 | 一种基于fft库函数的部分频点的计算方法及装置 |
CN109375606A (zh) * | 2018-09-21 | 2019-02-22 | 北京广利核系统工程有限公司 | 一种算法库测试方法 |
Non-Patent Citations (2)
Title |
---|
FFT used for fabric defect detection based on CUDA;Zhonglun Pan .et;《2017 IEEE 2nd Advanced Information Technology, Electronic and Automation Control Conference》;20170326;全文 * |
硬件模拟器对仿真加速的测试平台研究;曹立勇等;《西昌学院学报》;20160630;第30卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110162469A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Satish et al. | Designing efficient sorting algorithms for manycore GPUs | |
Ren et al. | Sparse LU factorization for parallel circuit simulation on GPU | |
Rocki et al. | Accelerating 2-opt and 3-opt local search using GPU in the travelling salesman problem | |
US20170060811A1 (en) | Matrix operands for linear algebra operations | |
Hou et al. | Auto-tuning strategies for parallelizing sparse matrix-vector (spmv) multiplication on multi-and many-core processors | |
Cao et al. | Implementing sparse matrix-vector multiplication using CUDA based on a hybrid sparse matrix format | |
US20190042926A1 (en) | Deep compressed network | |
Byun et al. | Benchmarking data analysis and machine learning applications on the Intel KNL many-core processor | |
Waidyasooriya et al. | FPGA-based deep-pipelined architecture for FDTD acceleration using OpenCL | |
Hupca et al. | Spherical harmonic transform with GPUs | |
CN110162469B (zh) | 一种基于cuda的fft软件库性能测试方法及装置 | |
Li et al. | Enabling high performance deep learning networks on embedded systems | |
Zhang et al. | CUDA-based Jacobi's iterative method | |
Zhao et al. | The optimization of FFT algorithm based with parallel computing on GPU | |
Zhang et al. | HLC2: a highly efficient cross-matching framework for large astronomical catalogues on heterogeneous computing environments | |
Sun et al. | Cuda based fast implementation of very large matrix computation | |
Sun et al. | Crsd: application specific auto-tuning of spmv for diagonal sparse matrices | |
Reza et al. | CUDA-enabled Hadoop cluster for sparse matrix vector multiplication | |
Maringanti et al. | Acceleration of conjugate gradient method for circuit simulation using CUDA | |
Wu et al. | Two-stage column block parallel LU factorization algorithm | |
Hidayetoğlu et al. | MLFMA memory reduction techniques for solving large-scale problems | |
Chen et al. | Bit-graphblas: Bit-level optimizations of matrix-centric graph processing on gpu | |
Eliuk et al. | dMath: A scalable linear algebra and math library for heterogeneous GP-GPU architectures | |
WO2022241725A1 (zh) | 卷积运算的处理方法、电子设备、移动终端及存储介质 | |
Tao et al. | Atomic reduction based sparse matrix-transpose vector multiplication on GPUs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |