六边形区域快速傅里叶变换的CUDA-MPI算法及其实现
A CUDA-MPI ALGORITHM FOR THE FAST FOURIER TRANSFORM ON THE HEXAGON AND ITS IMPLEMENTATION
查看参考文献17篇
文摘
|
本文研究六边形区域上快速傅里叶变换(FFTH)的CUDA-MPI算法及其实现.首先,我们通过充分利用CUDA的层次化并行机制及其库函数,设计了FFTH的高效率的CUDA算法.对于规模为3×2048~2的双精度复数类型数据,我们设计的CUDA程序与CPU串行程序相比可以达到12倍加速比,如果不计内存和显存之间的数据传输,则加速比可达40倍;其计算效率与CUFFT所提供的二维方形区域FFT程序的效率基本一致.在此基础上,我们通过研究GPU上分布式并行数据的转置与排序算法,优化设计了FFTH的CUDA-MPI算法.在3×8192~2的数据规模、10节点×6GPU的计算环境下,我们的CUDA-MPI程序与CPU串行程序相比达到了55倍的加速;其效率比MPI并行版FFTW以及基于CUFFT本地计算和FFTW并行转置的方形区域并行FFT的效率都要高出很多.FFTH的CUDA-MPI算法研究和测试为大规模CPU+GPU异构计算机系统的可扩展新型算法的探索提供了参考. |
其他语种文摘
|
In this paper,we study the parallel algorithm based on CUDA and MPI for the Fast Fourier Transform on the hexagon(FFTH) and its implementation.Firstly,we design a CUDA FFTH algorithm by utilizing the hierachical parallelization mechanism and the build-in CUFFT library for classic rectangular FFTs.With respect to the serial cpu program,our CUDA program achieves 12x speedup for 3×2048~2 double-precision complex-to-complex FFTH.If we ignore the PCI between main memory and GPU device memory,around 30x40x speedup can be even achieved.Although the non-tensorial FFTH is much more complicated than the rectangular FFT,our CUDA FFTH program gains the same efficiency as the rectangular CUFFT.Next,efforts are mainly contributed to optimization techniques for parallel array transposition and data sorting,which significantly improve the efficiency of the CUDA-MPI FFTH algorithm.On a 10-node cluster with 60 GPUs,our CUDA-MPI program achieves about 55x speedup with respect to the the serial cpu program for 3×8192~2 complex-to-complex double-precision FFTH,and it is more efficient than the MPI parallel FFTW.Our research on the CUDA-MPI algorithm for FFTH is beneficial to the exploration and development of new parallel algorithms on large-scale CPU-GPU heterogeneous computer systems. |
来源
|
数值计算与计算机应用
,2012,33(1):59-72 【核心库】
|
关键词
|
六边形区域快速傅里叶变换
;
CUDA-MPI算法
;
并行排序
|
地址
|
中国科学院软件研究所并行软件与计算科学实验室, 北京, 100190
|
语种
|
中文 |
文献类型
|
研究性论文 |
ISSN
|
1000-3266 |
学科
|
数学 |
基金
|
国家自然科学基金资助项目
|
文献收藏号
|
CSCD:4490717
|
参考文献 共
17
共1页
|
1.
Chen Y. Large-scale FFT on GPU clusters.
ICS'10,2010,2:315-324
|
CSCD被引
1
次
|
|
|
|
2.
Cooley J W. An algorithm for the machine caculation of complex Fourier series.
Math. Comp.,1965,19:297-301
|
CSCD被引
189
次
|
|
|
|
3.
.
CUDA C Programming Guide, Version 3.1. NIVIDIA Corp,2010
|
CSCD被引
1
次
|
|
|
|
4.
.
CUDA CUFFT Library, Version 3.1. NIVIDIA Corp,2010
|
CSCD被引
1
次
|
|
|
|
5.
.
FFTW: Manual for FFTW 3.3 Online
|
CSCD被引
1
次
|
|
|
|
6.
Jacobsen D A. An MPI-CUDA Implementation for Massively Parallel Incompressible Flow Computations on Multi-GPU Clusters.
48th AIAA Aerospace Sciences Meeting,2010
|
CSCD被引
1
次
|
|
|
|
7.
Li H. Fast generalized Fourier transforms on hexagon domains.
RDCPS Annual Reports,2002,13:45-57
|
CSCD被引
1
次
|
|
|
|
8.
Li H. Fast Fourier Transform on Hexagon.
RDCPS Annual Reports,2004,15:50-63
|
CSCD被引
1
次
|
|
|
|
9.
Li H. Fast Fourier transform on hexagon.
Current Trend in High Performance and Its Application, Lecture Notes in Computational Science and Engineering,2005:357-362
|
CSCD被引
3
次
|
|
|
|
10.
Li H. Discrete Fourier analysis, cubature and interpolation on a hexagon and a triangle.
SIAM J. Numer. Anal,2008,46:1653-1681
|
CSCD被引
7
次
|
|
|
|
11.
Luo L. A scalable hybrid algorithm based on domain decomposition and algebraic multigrid for solving partial differential equations on a cluster of CPU/GPUs, Proceedings of 2nd International Workshop on GPUs and Scientific Applications.
In conjunction with 2011 International Conference on Parallel Architectures and Compilation Techniques (PACT 2011)
|
CSCD被引
1
次
|
|
|
|
12.
.
NVIDIA: NVIDIA's Fermi: The First Complete GPU Computing Architecture
|
CSCD被引
1
次
|
|
|
|
13.
Sun J. Multivariate Fourier series over a class of non tensor-product partition domains.
J. Comput. Math.,2003,21:53-62
|
CSCD被引
9
次
|
|
|
|
14.
孙家昶. 平行六边形区域上的快速离散傅立叶变换.
计算数学,2004,26(3):351-366
|
CSCD被引
6
次
|
|
|
|
15.
Wang H. MVAPICH2-GPU: optimized GPU to GPU communication for InfiniBand cluster.
Comput. Sci. Res. Dev.,2011,26:257-266
|
CSCD被引
1
次
|
|
|
|
16.
许彦芹. 基于SMP集群的MPI+CUDA模型的研究与实现.
计算机工程与设计,2010,31(15):3408-3412
|
CSCD被引
8
次
|
|
|
|
17.
Yang C. Parallel multilevel methods for implicit solution of shallow water equations with nonsmooth topography on the cubed-sphere.
Journal of Computational Physics,2011,230:2523-2539
|
CSCD被引
2
次
|
|
|
|
|