1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        一文搞懂 GPU 的概念、工作原理,以及與 CPU 的區(qū)別

        共 2473字,需瀏覽 5分鐘

         ·

        2024-06-19 07:33


                 

        作者:IT一指禪

        近幾個月,幾乎每個行業(yè)的小伙伴都了解到了ChatGPT的可怕能力。你知道么,ChatGPT之所以如此厲害,是因為它用到了幾萬張NVIDA Tesla A100顯卡做AI推理和圖形計算。

        本文就簡單分享下GPU的相關內(nèi)容,歡迎閱讀。

        GPU是什么?

        GPU的英文全稱Graphics Processing Unit,圖形處理單元。

        說直白一點:GPU是一款專門的圖形處理芯片,做圖形渲染、數(shù)值分析、金融分析、密碼破解,以及其他數(shù)學計算與幾何運算的。GPU可以在PC、工作站、游戲主機、手機、平板等多種智能終端設備上運行。

        GPU和顯卡的關系,就像是CPU和主板的關系。前者是顯卡的心臟,后者是主板的心臟。有些小伙伴會把GPU和顯卡當成一個東西,其實還有些差別的,顯卡不僅包括GPU,還有一些顯存、VRM穩(wěn)壓模塊、MRAM芯片、總線、風扇、外圍設備接口等等。


        GPU和CPU誰最強呢?

        這個其實不好說,好點的GPU內(nèi)部的晶體管數(shù)量可以超過CPU,CPU的強項是做邏輯運算,GPU的強項是做數(shù)學運算和圖形渲染。這就ChatGPT用大量高性能顯卡做AI推理的原因。

        接下來,我們做個簡單的對比。

        結(jié)構(gòu)組成不同

        CPU和GPU都是運算的處理器,在架構(gòu)組成上都包括3個部分:運算單元ALU、控制單元Control和緩存單元Cache。

        但是,三者的組成比例卻相差很大。

        在CPU中緩存單元大概占50%,控制單元25%,運算單元25%;

        在GPU中緩存單元大概占5%,控制單元5%,運算單元90%。


        結(jié)構(gòu)組成上的巨大差異說明:CPU的運算能力更加均衡,但是不適合做大量的運算;GPU更適合做大量運算。

        這倒不是說GPU更牛X,實際上GPU更像是一大群工廠流水線上的工人,適合做大量的簡單運算,很復雜的搞不了。但是簡單的事情做得非???,比CPU要快得多。

        相比GPU,CPU更像是技術專家,可以做復雜的運算,比如邏輯運算、響應用戶請求、網(wǎng)絡通信等。但是因為ALU占比較少、內(nèi)核少,所以適合做相對少量的復雜運算。


        緩存不同

        在CPU里面,大概50%是緩存單元,并且是四級緩存結(jié)構(gòu);而在GPU中,緩存是一級或者二級的。

        浮點運算方式不同

        CPU性能更加注重線程的性能,在控制部分做的事情較多,這樣做就是為了確??刂浦噶畈荒苤袛?,在浮點計算上功耗少。

        相較于CPU,GPU的結(jié)構(gòu)更為簡單,基本上它也只做單精度或雙精度浮點運算。GPU的運算速度更快,吞吐量也更高。

        響應方式不同

        CPU基本上是實時響應,采用多級緩存來保障多個任務的響應速度。

        GPU往往采用的是批處理的機制,即:任務先排好隊,挨個處理。


          GPU對于圖形處理

          我們假設在實時渲染中,一幀1080*720P的圖片,那么這張圖就有大概777600個像素點。如果按照最基本的24幀/秒的幀率計算。1秒鐘就要求計算機處理18662400個,即:1866.24萬個像素點。

          這還是高清的情況下,如果是1090*1080、2K、4K甚至8K的視頻渲染,可想而知,這個計算量是何其巨大。尤其是在像游戲這樣的實時渲染場景下,顯然僅僅依靠CPU渲染是會超時的。

          實際上,在屏幕中顯示的三維物體都要經(jīng)過多重的坐標變換,并且物體的表面會受到環(huán)境中各種光線的影響,呈現(xiàn)不同的顏色和陰影。這就包括了光線的漫射、折射、透射、散射等。


          接下來,我們以英偉達NVIDIA RTX3090 為例,看下GPU是如何進行渲染的


          RTX3090的流式多處理器有10496個,每個內(nèi)核都有具備整數(shù)運算和浮點運算的部分,還有用于在操作數(shù)中排隊和收集結(jié)果的部分。


          所謂流式多處理器可以認為是一個獨立的任務處理單元,也可以認為一顆GPU包含了10496個CPU同時處理各個圖片處理任務。



            我們就可以通過算法和程序,對1秒鐘18662400個像素點的整體任務進行切割分片,讓10496顆處理器并行計算。

            這樣的話,每個處理器負責大概每秒處理18662400/10496,即1778個像素點的渲染任務就行了。

            如下圖所示,在GPU中會劃分為多個流式處理區(qū),每個處理區(qū)包含數(shù)百個內(nèi)核,每個內(nèi)核相當于一顆簡化版的CPU,具備整數(shù)運算和浮點運算的功能,以及排隊和結(jié)果收集功能。


            注意,除了流處理器CUDA以外,影響GPU性能的還有

            • 核心頻率:頻率越高,性能越強、功耗也越高。

            • 顯示位寬:單位是bit,位寬決定了顯卡同時可以處理的數(shù)據(jù)量,越大越好。

            • 顯存容量:顯存容量越大,代表能緩存的數(shù)據(jù)就越多。

            • 顯存頻率:單位是MHz或bps,顯存頻率越高,圖形數(shù)據(jù)傳輸速度就越快。

            總結(jié)

            一言以蔽之,GPU不管是處理圖形渲染、數(shù)值分析,還是處理AI推理。底層邏輯都是將極為繁重的數(shù)學進行任務拆解,化繁為簡。

            然后,利用GPU多流處理器的機制,將大量的運算拆解為一個個小的、簡單的運算,并行處理。我們也可以認為一個GPU就是一個集群,里面每個流處理器都是一顆CPU,這樣就容易理解了。


            以上是關于GPU概念、工作原理的簡要介紹。說是簡單,其實在圖形處理方面,還有很多深層次的處理邏輯沒有展開,比如像素位置變換、三角原理等等。感興趣的小伙伴可以深入研究下。



          春招已經(jīng)開始啦,大家如果不做好充足準備的話,春招很難找到好工作。


          送大家一份就業(yè)大禮包,大家可以突擊一下春招,找個好工作!


          瀏覽 76
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          1. <strong id="7actg"></strong>
          2. <table id="7actg"></table>

          3. <address id="7actg"></address>
            <address id="7actg"></address>
            1. <object id="7actg"><tt id="7actg"></tt></object>
              国产又粗又猛又爽又黄的视频蜜蜜 | 国产羞羞的视频在线观看 | 男男超h高h污肉1v1 | 天天夜夜人人 | 无码偷拍 | 欧美精品导航 | 久久久久国产免费观看 | 台湾无码在线观看 | 99视频偷窥在线精品国自产拍 | (高h)玩淫怀孕小说 |