基于cuda并行計算的研究[獨家原創(chuàng)].rar
基于cuda并行計算的研究[獨家原創(chuàng)],基于cuda并行計算的研究 15700字自己原創(chuàng)的畢業(yè)論文,已經(jīng)通過校內系統(tǒng)檢測,重復率低,僅在本站獨家出售,大家放心下載使用基于cuda并行計算的研究i第一章 緒論11.1 課題研究的背景與意義11.2 國內外研究現(xiàn)狀11.3 本文研究內容31.4 論文的結構4第二章 cuda并行模型及編程環(huán)境52.1 cuda編程...
該文檔為壓縮文件,包含的文件列表如下:
內容介紹
原文檔由會員 淘寶大夢 發(fā)布
基于cuda并行計算的研究
15700字
自己原創(chuàng)的畢業(yè)論文,已經(jīng)通過校內系統(tǒng)檢測,重復率低,僅在本站獨家出售,大家放心下載使用
基于cuda并行計算的研究 i
第一章 緒論 1
1.1 課題研究的背景與意義 1
1.2 國內外研究現(xiàn)狀 1
1.3 本文研究內容 3
1.4 論文的結構 4
第二章 CUDA并行模型及編程環(huán)境 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 執(zhí)行模型 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的快速傅立葉算法實現(xiàn) 27
4.1 實驗平臺及環(huán)境搭建 27
4.2 建立 CPU+GPU 異構模型 29
4.3 實驗結果分析 30
第五章 總結與展望 30
致 謝 31
參 考 文 獻 32
摘要
摘要 CUDA編程模型提供了一個直截了當?shù)姆椒ㄐ稳莨逃械牟⑿杏嬎?,NVIDIA的TeslaGPU架構提供了極高的運算流量并且解決了大規(guī)模并行問題。
從單芯過渡到多核處理器,幾乎所有的CPU現(xiàn)在都是并行處理器。增加并行性,而不是增加時鐘率,已成為處理器性能的增長的主要動力,而這趨勢很可能會持續(xù)下去。這就提出了許多如何開發(fā)高效的并行程序來更好地擴展更加跨越并行處理器的一系列重要問題。
前人研究表明,CUFFT----一種最容易實現(xiàn)的快速傅里葉變換算法并利用CUDA提供的庫-----和一個簡單的內核執(zhí)行逐點相乘。這個做法比在單核2.4GHZ酷睿2四核Q6600用優(yōu)化FFT運行快8倍。但是,因為FFT的大小是相當小的(256×64 ),使用整個GPU執(zhí)行單一的FFT不能作高效地利用GPU做事 。相反,創(chuàng)建一個批處理的FFT它可將多個快速傅里葉變換到不同的線程塊是一個利用硬件的更加有效的方法。提高一個批處理二維FFT內核接近近一倍卷積性能并且使GPU卷積比CPU快近16倍的執(zhí)行時間。[此處應該較為歸納介紹文章的內容和最后的結論.]
本文主要分析的是CPU和GPU平臺上FFT算法所用時間的比較。為CPU FFT的方法描述了詳細的流程圖。一維復數(shù)與復數(shù)的運算將會由CUFFT函數(shù)庫詳細說明。最終兩個結果將會由加速時間進行比較。
遺憾的是,Linux平臺的CUDA因為硬件的限制而被迫終止。[此處應該強調對linux平臺下cuda環(huán)境的搭建作了學習和研究。]
關鍵詞: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
15700字
自己原創(chuàng)的畢業(yè)論文,已經(jīng)通過校內系統(tǒng)檢測,重復率低,僅在本站獨家出售,大家放心下載使用
基于cuda并行計算的研究 i
第一章 緒論 1
1.1 課題研究的背景與意義 1
1.2 國內外研究現(xiàn)狀 1
1.3 本文研究內容 3
1.4 論文的結構 4
第二章 CUDA并行模型及編程環(huán)境 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 執(zhí)行模型 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的快速傅立葉算法實現(xiàn) 27
4.1 實驗平臺及環(huán)境搭建 27
4.2 建立 CPU+GPU 異構模型 29
4.3 實驗結果分析 30
第五章 總結與展望 30
致 謝 31
參 考 文 獻 32
摘要
摘要 CUDA編程模型提供了一個直截了當?shù)姆椒ㄐ稳莨逃械牟⑿杏嬎?,NVIDIA的TeslaGPU架構提供了極高的運算流量并且解決了大規(guī)模并行問題。
從單芯過渡到多核處理器,幾乎所有的CPU現(xiàn)在都是并行處理器。增加并行性,而不是增加時鐘率,已成為處理器性能的增長的主要動力,而這趨勢很可能會持續(xù)下去。這就提出了許多如何開發(fā)高效的并行程序來更好地擴展更加跨越并行處理器的一系列重要問題。
前人研究表明,CUFFT----一種最容易實現(xiàn)的快速傅里葉變換算法并利用CUDA提供的庫-----和一個簡單的內核執(zhí)行逐點相乘。這個做法比在單核2.4GHZ酷睿2四核Q6600用優(yōu)化FFT運行快8倍。但是,因為FFT的大小是相當小的(256×64 ),使用整個GPU執(zhí)行單一的FFT不能作高效地利用GPU做事 。相反,創(chuàng)建一個批處理的FFT它可將多個快速傅里葉變換到不同的線程塊是一個利用硬件的更加有效的方法。提高一個批處理二維FFT內核接近近一倍卷積性能并且使GPU卷積比CPU快近16倍的執(zhí)行時間。[此處應該較為歸納介紹文章的內容和最后的結論.]
本文主要分析的是CPU和GPU平臺上FFT算法所用時間的比較。為CPU FFT的方法描述了詳細的流程圖。一維復數(shù)與復數(shù)的運算將會由CUFFT函數(shù)庫詳細說明。最終兩個結果將會由加速時間進行比較。
遺憾的是,Linux平臺的CUDA因為硬件的限制而被迫終止。[此處應該強調對linux平臺下cuda環(huán)境的搭建作了學習和研究。]
關鍵詞: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