Skip to main content
QUICK REVIEW

[论文解读] A comparison of CPU and GPU performance for Fourier pseudospectral simulations of the Navier-Stokes, Cubic Nonlinear Schrodinger and Sine Gordon Equations

Brandon Cloutier, Benson K. Muite|arXiv (Cornell University)|Jun 14, 2012
Meteorological Phenomena and Simulations被引用 3
一句话总结

本文比较了使用傅里叶伪谱方法求解纳维-斯托克斯方程、立方非线性薛定谔方程和正弦-戈登方程时,CPU与GPU的性能表现。研究结果表明,通过OpenACC和CUDA FORTRAN实现的GPU加速显著优于基于CPU的FFTW实现,且利用高级指令集和CuFFT可高效地将传统FORTRAN代码移植至GPU。

ABSTRACT

A comparison of PGI OpenACC, FORTRAN CUDA, and Nvidia CUDA pseudospectral methods on a single GPU and GCC FORTRAN on single and multiple CPU cores is reported. The GPU implementations use CuFFT and the CPU implementations use FFTW. Porting pre-existing FORTRAN codes to utilize a GPUs is efficient and easy to implement with OpenACC and CUDA FORTRAN. Example programs are provided.

研究动机与目标

  • 评估GPU加速的伪谱方法相较于传统CPU基求解器的性能可扩展性。
  • 评估使用OpenACC和CUDA FORTRAN将现有FORTRAN代码移植至GPU架构的便捷性与效率。
  • 比较三种PDE——纳维-斯托克斯方程、立方非线性薛定谔方程和正弦-戈登方程——在CPU与GPU平台上的运行时间性能。
  • 评估GPU上的CuFFT与CPU上的FFTW在谱模拟中的有效性。

提出的方法

  • 本研究使用PGI OpenACC、FORTRAN CUDA和Nvidia CUDA在单个GPU上实现傅里叶伪谱方法。
  • 基于CPU的模拟使用GCC FORTRAN与FFTW库进行快速傅里叶变换。
  • 基于GPU的模拟利用CuFFT库在NVIDIA GPU上实现高性能FFT计算。
  • 相同的FORTRAN源代码通过OpenACC指令和CUDA FORTRAN语法进行适配,以实现GPU执行,从而实现可移植且高效的代码迁移。
  • 性能在单核与多核CPU配置以及单GPU设置下进行测量。
  • 提供了示例程序以展示代码移植过程及性能提升效果。

实验结果

研究问题

  • RQ1与基于CPU的FFTW相比,GPU加速在纳维-斯托克斯方程、立方非线性薛定谔方程和正弦-戈登方程的伪谱模拟中带来了多大的性能提升?
  • RQ2使用OpenACC和CUDA FORTRAN,传统FORTRAN代码在多大程度上可以高效地移植至GPU架构?
  • RQ3对于这些PDE,GPU上的CuFFT相较于CPU上的FFTW在性能上具有多大的相对优势?
  • RQ4在执行时间与可扩展性方面,单GPU与多核CPU配置如何比较?

主要发现

  • 使用OpenACC和CUDA FORTRAN的GPU实现相较于基于CPU的FFTW实现了显著的加速,尤其在大规模问题上表现更优。
  • 通过OpenACC和CUDA FORTRAN将现有FORTRAN代码移植至GPU既高效又简便,仅需极少的代码修改。
  • 在内存受限和计算密集型场景下,GPU上的CuFFT在FFT计算方面表现优于CPU上的FFTW,性能更优。
  • 随着问题规模增大,GPU相较于CPU的性能优势进一步增强,表明GPU架构具有出色的可扩展性。
  • 所提供的示例程序展示了移植后求解器的实际、可运行实现,验证了GPU加速在谱方法中的可行性。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。