CUDA 學習筆記之gpu結構

洛欣發表於2010-04-30

一個gpu裡面的處理單元以stream multiprocesser來組織,一個流多處理器有八個流處理器,二個特殊函式處理單元,16Kshared memory64Kconstant memory,一些指令分發快取單元。

線上程的分配中,一個block被對映到一個多處理器上,塊內的最多執行緒數目前限制為512,一般而言每個塊內128/256個執行緒是比較好的。定義塊的個數在128/64,這個和你的硬體有很大關係,比如如果你有50個多處理器,你定義的塊數量最好是50的倍數。執行時是以warp為單位的,現在每個warp裡有32個執行緒,因此要四個週期一個多處理器就能夠處理完一個warp塊。每個warp裡的所有執行緒執行同一條指令,warp內的執行緒執行分支會顯著的降低效能,但不是所有的分支。

 

       對於處理器分宿主和裝置,其中宿主是指cpu,一般宿主控制裝置,宿主執行序列部分,裝置執行並行部分。宿主執行裝置驅動,而裝置驅動是由執行時控制的,而執行時依據庫,cuda主要有兩個數學庫:cufftcublabs。這兩個庫很高階,應掌握。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22785983/viewspace-661685/,如需轉載,請註明出處,否則將追究法律責任。

相關文章