亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于GPU的CUDA應(yīng)用開發(fā)環(huán)境構(gòu)架

        2013-09-12 01:49:48陳曉翔林嘉宇
        微處理機 2013年1期
        關(guān)鍵詞:驅(qū)動程序處理器編程

        鄧 力,陳曉翔,林嘉宇

        (國防科學(xué)技術(shù)大學(xué)電子科學(xué)與工程學(xué)院,長沙 410073)

        1 引言

        從1999年NVIDIA公司最早提出圖形處理單元GPU到現(xiàn)在,GPU的應(yīng)用已經(jīng)不再局限于3D圖形處理了,并已經(jīng)演變成為了一個具有強大浮點數(shù)編程和計算能力的處理器,以滿足人們進行大規(guī)模科學(xué)計算的要求。事實也證明,GPU在浮點運算、并行計算等計算方面,可以提供數(shù)十倍乃至于上百倍于CPU的性能。因此,選擇具有巨大市場潛力并為開發(fā)者提供開源應(yīng)用開發(fā)環(huán)境的CUDA作為開發(fā)平臺,并對其環(huán)境平臺的搭建與應(yīng)用進行介紹。

        2 CUDA+VS2008應(yīng)用開發(fā)環(huán)境架構(gòu)

        CUDA是由硬件和軟件架構(gòu)共同組成的,這個架構(gòu)可以讓 GPU 執(zhí)行由 C、C++、Fortran、OpenCL、DirectCompute以及其他語言所編寫的程序。在PC上其應(yīng)用開發(fā)平臺的搭建,總體上分為驅(qū)動程序、編譯器和編程環(huán)境的安裝三個部分。以操作系統(tǒng)Win7(64位)家庭普通版Service Pack 1的筆記本作為基本平臺,介紹CUDA4.1+VS2008開發(fā)環(huán)境搭建的步驟及相關(guān)事項。

        2.1 CUDA 平臺搭建

        從NVIDIA官方網(wǎng)站下載以下程序:

        1)devdriver_4.1_winvista - win7_64_286.16_notebook.exe

        2)cudatoolkit_4.1.28_win_64.msi(CUDA 平臺:版本為4.1.28,操作系統(tǒng)為 windows64位)

        3)gpucomputingsdk_4.1.28_win_64.exe(CUDA的軟件開發(fā)工具包:版本為4.1.28,操作系統(tǒng)為windows64位)

        2.1.1 devdriver安裝

        由于使用的顯卡是NVIDIA GeForce GT 540M,因此需要首先安裝驅(qū)動程序包,即上面提到的devdriver_4.1_winvista - win7_64_286.16_notebook.exe(驅(qū)動程序:版本為4.1,操作系統(tǒng)為winvistawin7-64位,機型為筆記本),注意在從NVIDIA官方網(wǎng)站下載時要選擇與開發(fā)應(yīng)用的PC平臺相對應(yīng)的版本。

        2.1.2 cudatoolkit安裝

        接著,安裝 cudatoolkit_4.1.28_win_64.msi(CUDA 平臺:版本為 4.1.28,操作系統(tǒng)為 windows64位),注意下載時選擇對應(yīng)的版本。

        devdriver和cudatoolkit程序最好都執(zhí)行默認安裝。

        2.1.3 gpucomputingsdk 安裝

        最后,安裝 gpucomputingsdk_4.1.28_win_64.exe(CUDA 的軟件開發(fā)工具包:版本為4.1.28,操作系統(tǒng)為windows64位),注意下載時選擇對應(yīng)的版本。

        建議按照缺省路徑安裝,但若覺得查找路徑麻煩,也可自己指定安裝目錄。

        完成上述3步后,其cudatoolkit和 gpucomputingsdk默認路徑分別為:

        1)C:Program FilesNVIDIA GPU Computing Toolkit

        2)C:ProgramDataNVIDIA CorporationNVIDIA GPU Computing SDK 4.1

        下面用SDK_PATH代表C:ProgramDataNVIDIA CorporationNVIDIA GPU Computing SDK 4.1。

        2.1.4 安裝檢查

        在win7的環(huán)境變量中,檢查相關(guān)參數(shù)是否添加到系統(tǒng)變量里,如表1所示,若沒有則需自行添加。

        表1 環(huán)境變量

        以上步驟完成了對CUDA應(yīng)用平臺的安裝。

        2.2 VS2008 平臺搭建

        目前,支持 CUDA的 IDE有 VS2005、VS2008、VS2010等,以 Microsoft Visual Studio Team System 2008 Architecture Edition為例,安裝完成后按下面步驟進行配置和測試。

        為運行g(shù)pucomputingsdk里的例程,首先得用VS2008生成兩個工具庫文件:

        1)使用VS2008打開SDK_PATHCcommoncutil_vs2008.sln,選“生成→批生成→全選→生成”。目的:為生成各配置需要的 cutil32[D].lib和 cutil64[D].lib,lib存放的位置:SDK_PATHccommonlib(win32|X64)。

        2)使用 VS2008打開 SDK_PATHsharedshr Utils_vs2008.sln,選“生成→批生成→全選→生成”。目的:為生成各配置需要的 shrUtils32D.lib和 shr Utils64D.lib,lib 存放的位置:SDK_PATH\sharedlib(win32|X64)。

        注意:這個項目編譯時有可能會提示有兩個.cpp找不到,直接把他們從項目里移去即可。因為同名的.h文件里已經(jīng)有完整代碼了。

        在VS2008中,選“工具→項目和解決方案→VC++目錄”,在win32|X64的庫文件中添加“C:Program FilesNVIDIA GPU Computing ToolkitCUDAv4.1lib”、“SDK_PATHCcommonlib”兩個路徑;在win32|X64的引用文件和包含文件中添加“C:Program FilesNVIDIA GPU Computing ToolkitCUDAv4.1include”、“SDK_PATHCcommoninc”、“SDK_PATHsharedinc”三個路徑。目的:使VS2008能找到相關(guān)頭文件和庫文件。

        然后,選“工具→項目和解決方案→VC++目錄項目設(shè)置”,將*.cu;*.cuh添加到C/C++文件擴展名中。目的:使VS2008能執(zhí)行上述類型文件。

        最后,選“工具→選項→文本編輯器→文件擴展名”,將.cu和.cuh添加到 Microsoft Visual C++編輯器里。目的:使VS2008識別上述類型文件中C/C++語法。

        使用VS2008打開SDK_PATHCsrcandwidthTestandwidthTest_vs2008.sln,按照“編譯”→“生成bandwidthTes”→“調(diào)試”→“啟動”,就會出現(xiàn)其結(jié)果。

        3 CUDA調(diào)用GPU的性能測試

        用VS2008創(chuàng)建一個空白的win32控制程序,在該項目里添加.cu文件,并編寫了兩個程序,一個直接用CPU計算1-300000的整數(shù)平方和并循環(huán)100次,另一個調(diào)用GPU計算1-300000的整數(shù)平方和并循環(huán)100次,并通過 QueryPerformanceFrequency函數(shù)進行了時間統(tǒng)計,如表2所示。

        表2 環(huán)境變量

        從結(jié)果可以看出GPU運算花費的時間幾乎可以不計(約為0.02ms);CPU運算花費的時間(約為63ms)是GPU運算花費時間的3150倍;在初始化設(shè)備、開辟空間和向GPU傳入數(shù)據(jù)上花費的時間(約為(522+1882)=2404ms)是CPU運算花費時間的38倍。上述測試數(shù)據(jù)表明GPU的科學(xué)計算能力明顯強于CPU,但是GPU與CPU進行數(shù)據(jù)通信是GPU運算的一個“瓶頸”。因此,只有對于可以進行大規(guī)模數(shù)據(jù)并行計算的程序,即當進行并行計算所節(jié)約的時間大大超過GPU與CPU相互調(diào)用時所浪費的時間時,GPU才能突顯出其強大的科學(xué)計算優(yōu)勢。

        4 結(jié) 束 語

        多核CPU和多核GPU的出現(xiàn)意味著并行系統(tǒng)已成為主流處理器芯片。此外,根據(jù)摩爾定律,其并行性將不斷擴展。這就需要開發(fā)出可透明地擴展并行性的應(yīng)用軟件,以便利用日益增加的處理器內(nèi)核數(shù)量。這種情況就像3D圖形應(yīng)用程序可通過透明地擴展其并行性的方式,以支持配備各種數(shù)量內(nèi)核的多核GPU。CUDA正是基于應(yīng)對這種挑戰(zhàn),而提供的一種并行編程模型和軟件環(huán)境。同時,保證了熟悉C語言等標準編程語言的程序員能夠快速掌握并使用它。隨著該開發(fā)環(huán)境構(gòu)架的不斷發(fā)展與成熟,開發(fā)者將能夠更加自由地發(fā)揮其靈感與創(chuàng)意,使GPU給人們的工作、教育、休閑、娛樂帶來豐富多彩的應(yīng)用。

        [1]Jason Sanders,edward Kandrot.CUDA BY EXAMPLE[M].Addison - Wesley Professional,2011.

        [2]科克,胡文美.大規(guī)模并行處理器編程實戰(zhàn)[M].北京:清華大學(xué)出版社,2010.

        [3]NVIDIA CUDA C Programming Guide(Version3.1.1)[EB/OL].NVIDIA Corporation,2010.

        [4]NVIDIA CUDA C Programming Best Practices Guide(Version3.1)[EB/OL].NVIDIA Corporation,2010.

        [5]張舒,褚艷利,趙開勇,張玉勃.GPU高性能運算之CUDA[M].北京:中國水利水電出版社,2009.

        [6]李波,趙華成,張敏芳.CUDA高性能計算并行編程[J].程序員,2009,25(9):55-64.

        猜你喜歡
        驅(qū)動程序處理器編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
        ADI推出新一代SigmaDSP處理器
        汽車零部件(2014年1期)2014-09-21 11:41:11
        呼嚕處理器
        小青蛙報(2014年1期)2014-03-21 21:29:39
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        奶头又大又白喷奶水av| 日韩精品视频免费福利在线观看 | 国产女人av一级一区二区三区| 久久午夜福利电影| 97se亚洲精品一区| 国产91对白在线观看| 亚洲综合在线一区二区三区| 亚洲gay片在线gv网站| 牲欲强的熟妇农村老妇女| 国产最新一区二区三区天堂| 国产精品午夜福利亚洲综合网| 丰满少妇人妻无码| 日本边添边摸边做边爱的网站| 午夜影院91| 在线视频一区二区国产| 精品久久久久久久久午夜福利| 曰本无码人妻丰满熟妇5g影院| 99在线无码精品秘 入口九色 | 18禁真人抽搐一进一出在线| 国产精品一区高清在线观看| 午夜在线观看一区二区三区四区| 一个人看的视频在线观看| 精品国产sm捆绑最大网免费站| 久久成人永久免费播放| 日本在线综合一区二区| 国产综合精品一区二区三区| 亚洲精品无码久久毛片| 亚洲天堂免费一二三四区| 一区二区三区天堂在线| 国产精品无码成人午夜电影| 91成人午夜性a一级毛片| 日本女优久久精品观看| 欧美国产综合欧美视频| 日韩亚洲中字无码一区二区三区| 午夜男女视频一区二区三区| 久久久久免费精品国产| 国产全肉乱妇杂乱视频| 国产精品无码mv在线观看| 少妇又色又爽又高潮在线看| 中文乱码字慕人妻熟女人妻| 亚洲欧美日韩中文字幕网址|