基于cuda并行计算的研究[独家原创].rar

   
RAR格式版权申诉手机打开展开

基于cuda并行计算的研究[独家原创],基于cuda并行计算的研究 15700字自己原创的毕业论文,已经通过校内系统检测,重复率低,仅在本站独家出售,大家放心下载使用基于cuda并行计算的研究i第一章 绪论11.1 课题研究的背景与意义11.2 国内外研究现状11.3 本文研究内容31.4 论文的结构4第二章 cuda并行模型及编程环境52.1 cuda编程...
编号:160-423122大小:624.59K
分类: 论文>计算机论文

该文档为压缩文件,包含的文件列表如下:

内容介绍

原文档由会员 淘宝大梦 发布

基于cuda并行计算的研究

15700字
自己原创的毕业论文,已经通过校内系统检测,重复率低,仅在本站独家出售,大家放心下载使用

基于cuda并行计算的研究 i
第一章 绪论 1
1.1 课题研究的背景与意义 1
1.2 国内外研究现状 1
1.3 本文研究内容 3
1.4 论文的结构 4
第二章 CUDA并行模型及编程环境 5
2.1 CUDA编程模型 5
2.1.1 CUDA软件架构 5
2.1.2 主机与设备 6
2.1.3 nvcc 编译器 8
2.2 CUDA存储器模型 9
2.2.1寄存器 9
2.2.2 局部存储器 9
2.2.3 共享存储器 10
2.2.4 全局存储器 12
2.2.5 固定存储器 13
2.2.6 纹理存储器 13
2.3 CUDA 执行模型 14
2.4 CUDA语法介绍 15
第三章 快速傅立叶变换FFT定义与设计 16
3.1 离散傅立叶变换定义 16
3.2 快速傅立叶变换的基本思想 17
3.3 快速傅立叶串行算法 19
3.3.1 倒位序重排算法 19
3.3.2 快速傅立叶串行算法 20
3.4 快速傅立叶并行算法 22
第四章 CUDA的快速傅立叶算法实现 27
4.1 实验平台及环境搭建 27
4.2 建立 CPU+GPU 异构模型 29
4.3 实验结果分析 30
第五章 总结与展望 30
致 谢 31
参 考 文 献 32


摘要
摘要 CUDA编程模型提供了一个直截了当的方法形容固有的并行计算,NVIDIA的TeslaGPU架构提供了极高的运算流量并且解决了大规模并行问题。
从单芯过渡到多核处理器,几乎所有的CPU现在都是并行处理器。增加并行性,而不是增加时钟率,已成为处理器性能的增长的主要动力,而这趋势很可能会持续下去。这就提出了许多如何开发高效的并行程序来更好地扩展更加跨越并行处理器的一系列重要问题。
前人研究表明,CUFFT----一种最容易实现的快速傅里叶变换算法并利用CUDA提供的库-----和一个简单的内核执行逐点相乘。这个做法比在单核2.4GHZ酷睿2四核Q6600用优化FFT运行快8倍。但是,因为FFT的大小是相当小的(256×64 ),使用整个GPU执行单一的FFT不能作高效地利用GPU做事 。相反,创建一个批处理的FFT它可将多个快速傅里叶变换到不同的线程块是一个利用硬件的更加有效的方法。提高一个批处理二维FFT内核接近近一倍卷积性能并且使GPU卷积比CPU快近16倍的执行时间。[此处应该较为归纳介绍文章的内容和最后的结论.]

本文主要分析的是CPU和GPU平台上FFT算法所用时间的比较。为CPU FFT的方法描述了详细的流程图。一维复数与复数的运算将会由CUFFT函数库详细说明。最终两个结果将会由加速时间进行比较。
遗憾的是,Linux平台的CUDA因为硬件的限制而被迫终止。[此处应该强调对linux平台下cuda环境的搭建作了学习和研究。]

关键词:CUDA并行计算,快速傅立叶变换,CPU FFT,CUFFT


Abstract The CUDA programming model provides a straightforward means of de-scribing inherently parallel computations, and NVIDIA’s tesla GPU architecture delivers high computational throughput on massively parallel problems.
With the transition from single core to multicore processors essentially complete, virtually all commodity CPUs are now parallel processors.Increasing parallelism, rather than increasing clock rate, has become the primary engine of processor performance growth, and this trend is likely to continue. This raises many important questions about how to productively develop efficient parallel programs that will scale well across increasingly parallel processors.
Previous studies have shown that CUFFT—the Fast Fourier Transform library supplied with CUDA—and a simple kernel performs point-wise multiplication. This approach is approximately eight times faster than a CPU version using an optimized FFT and running on one core of a 2.4-GHz Core2 Quad Q6600 processor. However, because the FFT size is fairly small (256×64), using the entire GPU to perform a single FFT does not produce enough work to efficiently utilize the GPU. Instead,creating a batched FFT that assigns multiple FFTs to different thread blocks is a much more effective way of utilizing the hardware. Implementing a batched 2D FFT kernel nearly doubled convolution performance and made the GPU convolution almost 16 times faster than the CPU implementation.
Main analysis of this text is the comparison of FFT between CPU platform and GPU platform.The main methods used in CPU FFT has been introduced with flow chart. 1D Complex-to-Complex Transforms will be introduced by CUFFT in detail.Two results from CPU and GPU are compared with speedup.
Unfortunately,the construction of Linux platform is terminated because of limitation of hardware.

Keywords CUDA parallel,Fast Fourier Transform,CPU FFT,CUFFT