日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c cuda 指定gpu_《CUDA C编程权威指南》——1.3 用GPU输出Hello World-阿里云开发者社区...

發布時間:2024/4/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c cuda 指定gpu_《CUDA C编程权威指南》——1.3 用GPU输出Hello World-阿里云开发者社区... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節書摘來自華章計算機《CUDA C編程權威指南》一書中的第1章,第1.3節,作者 [美] 馬克斯·格羅斯曼(Max Grossman),譯 顏成鋼 殷建 李亮,更多章節內容可以訪問云棲社區“華章計算機”公眾號查看。

1.3 用GPU輸出Hello World

學習一個新編程語言的最好方法就是使用這種新語言來編寫程序。在本節,你將開始編寫在GPU上運行的第一個內核代碼。像其他任何編程語言一樣編寫GPU上的第一個程序是輸出字符串“Hello World”。

如果這是你第一次使用CUDA,在Linux系統中,你可能想使用以下命令來檢查CUDA編譯器是否正確安裝:

通常的結果可能是:

你還需要檢查你的機器上是否安裝了GPU加速卡。對此你可以在Linux系統上使用以下命令:

通常的結果是:

在這個例子中,你安裝了兩個GPU卡(不同的用戶配置可能有所不同,因此顯示結果會有所差異)。現在你要準備好寫你的第一個CUDA C程序。寫一個CUDA C程序,你需要以下幾個步驟:

1.用專用擴展名.cu來創建一個源文件。

2.使用CUDA nvcc編譯器來編譯程序。

3.從命令行運行可執行文件,這個文件有可在GPU上運行的內核代碼。

首先,我們編寫一個C語言程序來輸出“Hello World”,如下所示:

把代碼保存到hello.cu中,然后使用nvcc編譯器來編譯。CUDA nvcc編譯器和gcc編譯器及其他編譯器有相似的語義。

如果你運行可執行文件hello,將會輸出:

接下來,編寫一個內核函數,命名為helloFromGPU,用它來輸出字符串“Hello World from GPU!”。

修飾符__global__告訴編譯器這個函數將會從CPU中調用,然后在GPU上執行。用下面的代碼啟動內核函數。

三重尖括號意味著從主線程到設備端代碼的調用。一個內核函數通過一組線程來執行,所有線程執行相同的代碼。三重尖括號里面的參數是執行配置,用來說明使用多少線程來執行內核函數。在這個例子中,有10個GPU線程被調用。綜上所述,得到代碼清單1-1所示的程序。

函數cudaDeviceRest()用來顯式地釋放和清空當前進程中與當前設備有關的所有資源。如下所示,在nvcc命令行中使用-arch sm_20進行編譯:

開關語句-arch sm_20使編譯器為Fermi架構生成設備代碼。運行這個可執行文件,它將輸出10條字符串“Hello World from GPU”,每個線程輸出1條。

總結

以上是生活随笔為你收集整理的c cuda 指定gpu_《CUDA C编程权威指南》——1.3 用GPU输出Hello World-阿里云开发者社区...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。