硬體零基礎做GPU方面的程式設計使用CUDA框架,想問一下顯示卡和GPU主要是用來幹啥的?為啥用GPU程式設計?

時間 2021-05-06 01:43:38

1樓:f117

GPU就是顯示卡的發動機,由於基本不單賣,也可以認為GPU等於顯示卡。GPU用來做平行計算可以理解為你GPU控制多個工人sm同時用織布機warp織布,織布機上的每根線就是乙個並行執行緒thread。

2樓:Jeeyong

粗淺的理解

我看的資料告訴我, 是這麼一回事.

先說乙個概念上的誤區(我看你提問時問的時顯示卡和GPU, 所以解釋一下)? GPU,就是通常說的顯示卡.但GPU其實是顯示卡的計算晶元, 而顯示卡包含了外圍的通用電路.

還包括散熱統. 但是就叫GPU吧.

CPU和GPU的基礎架構上就有區別.因為計算內容上的差異.

CPU主要做成了高頻,善於處理複雜的單一任務. 稍微多一些也不重要啦.

GPU正好相反, 它主要需要處理的是簡單,但是數量巨多的任務.

就好比CPU處理的是一整張完整的數學考試卷. 裡面包含了加減乘除,概率,微積分,矩陣,巴拉巴拉各種數學題.

但是GPU計算的有點像小學時候做的速算比賽的試卷,整張試卷只有加減,甚至沒有乘除,但是要求的是時間效率.

因為這個原因, 籠統的說, 他們之間的架構區別就在於, GPU有特別多個核心,可以同時排程.動則1000多, 2000多個核心. 但是每個核心的速度並不高, 也不需要多高.

於是就有人想到了, 如果能把一些複雜度低,但是計算密集度大的問題交給GPU去做,效率豈不是更高?

比如現在流行的人工智慧, 他把乙個複雜的問題拆解成很多個簡單的基礎計算, 最後得出答案.這時候GPU的優勢就體現出來了.

CUDA框架是屬於乙個API, 她提供了很多封裝好的介面指令,讓你可以通過高階語言去直接操作GPU底層的指令集, 如果沒有這個, 不說其他問題, 單單學習成本和工作量就能讓人放棄學習吧.

總結, 為啥用GPU程式設計, 因為執行效率比CPU快.

還有, 上面說了因為面對的問題不同,所以架構不同.所以:

1.並不是所有問題都適合用GPU去處理.

2.就目前情況看,也不是所有問題都可以(或者說適合)GPU去幹.

以上!寫完就補充:

據說, 魔獸世界, 你進入奧格瑞瑪城, 四下環顧的時候, 你看到的每幀畫面中大約有70萬個三角形.

3樓:BlueWanderer

當CPU的計算能力和資料傳輸頻寬成為瓶頸的時候,GPU可能能給你提供更高的計算能力和傳輸頻寬。

GPU的峰值運算能力和記憶體頻寬(視訊記憶體和GPU之間)都比CPU高乙個數量級。但是因為結構的特殊性,不是所有任務都能有效發揮GPU的效能。

我想從零基礎學習程式設計,c語言無疑是基礎 那麼那本書入門比較好呢?各位科技大佬求指點?

林奇 愛好者?真的是愛好者?那學個毛毛C語言喲,右拐python不謝 爸爸用python一百多行寫了個文件歸類 自家公司網頁小爬蟲 pdf自動校驗,省了我乙個星期的苦力。用C寫?別說省了,怕不是要倒貼乙個月時間進去。 somi 當然是 c primer plus 沒有之一,沒有之一。作為學計算機的鋼...

零基礎 想從事攝影。請問 更適合去學什麼方面的攝影呢?

叮叮噹噹 零基礎?那就先學三個部分第一了解器材並且能熟練掌握使用第二部需要了解相機與光線的配合和對拍攝內容的概括第三並不是掌握後期和鑽研人像風光,而是多去拍攝多看大師作品拍完3 5萬的快門 少用連拍 自然能明白自己適合拍什麼或者更喜歡拍什麼!到那時候你自己就知道接下來該學什麼做什麼了!7歲孩子用手持...

零基礎學習程式設計可以直接從做專案開始嗎

超平的程式設計課 當然可以,這叫用以致學,是高效率的學習方式。專案本身也分大小,也分複雜和簡單的,從小專案和簡單專案入手就可以啦。如果師傅帶著那就更OK了。 令狐 你是不是想多了!你連最基礎的英文單詞都不會,就算你周圍全都是外中國人,你也很難學會!做程式設計也是一樣,你連最基礎的技能都沒有,你拿什麼...