詳解作業系統中GPU、CPU兩者之間的區別特點

2020-12-27 51cto

詳解作業系統中GPU、CPU兩者之間的區別特點

今天主要介紹一下GPU、CPU和兩者之間的區別。下面,我們一起來看。

作者:波波說運維來源:今日頭條|2019-10-21 08:44

今天主要介紹一下GPU、CPU和兩者之間的區別。下面,我們一起來看。

1. CPU即中央處理器

CPU( Central Processing Unit, 中央處理器)就是機器的「大腦」,也是布局謀略、發號施令、控制行動的「總司令官」。

CPU的結構主要包括運算器(ALU, Arithmetic and Logic Unit)、控制單元(CU, Control Unit)、寄存器(Register)、高速緩存器(Cache)和它們之間通訊的數據、控制及狀態的總線。

簡單來說就是:計算單元、控制單元和存儲單元

2. GPU即圖形處理器。

GPU全稱為Graphics Processing Unit,中文為圖形處理器,就如它的名字一樣,GPU最初是用在個人電腦、工作站、遊戲機和一些行動裝置(如平板電腦、智慧型手機等)上運行繪圖運算工作的微處理器。

為什麼GPU特別擅長處理圖像數據呢?這是因為圖像上的每一個像素點都有被處理的需要,而且每個像素點處理的過程和方式都十分相似,也就成了GPU的天然溫床。

GPU的構成相對簡單,有數量眾多的計算單元和超長的流水線,特別適合處理大量的類型統一的數據。但GPU無法單獨工作,必須由CPU進行控制調用才能工作。CPU可單獨作用,處理複雜的邏輯運算和不同的數據類型,但當需要大量的處理類型統一的數據時,則可調用GPU進行並行計算。

兩者區別:

從根本上說CPU和GPU它們的目的不同,且有不同側重點,也有著不同的性能特性,在某些工作中CPU執行得更快,另一工作中或許GPU能更好。當你需要對大量數據做同樣的事情時,GPU更合適,當你需要對同一數據做很多事情時,CPU正好。

然而在實際應用中,後一種情形更多,也就是CPU更為靈活能勝任更多的任務。GPU能做什麼?關於圖形方面的以及大型矩陣運算,如機器學習算法、挖礦、暴力破解密碼等,GPU會大幅提高計算效率。

  • Cache, local memory: CPU > GPU
  • Threads(線程數): GPU > CPU
  • Registers: GPU > CPU 多寄存器可以支持非常多的Thread,thread需要用到register,thread數目大,register也必須得跟著很大才行。
  • SIMD Unit(單指令多數據流,以同步方式,在同一時間內執行同一條指令): GPU > CPU。

簡單地說,CPU擅長分支預測等複雜操作,GPU擅長對大量數據進行簡單操作。一個是複雜的勞動,一個是大量並行的工作。

其實GPU可以看作是一種專用的CPU,專為單指令在大塊數據上工作而設計,這些數據都是進行相同的操作,要知道處理一大塊數據比處理一個一個數據更有效,執行指令開銷也會大大降低,因為要處理大塊數據,意味著需要更多的電晶體來並行工作,現在旗艦級顯卡都是百億以上的電晶體。

CPU呢,它的目的是儘可能快地在單個數據上執行單個指令。由於它只需要使用單個數據單條指令,因此所需的電晶體數量要少得多,目前主流桌面CPU電晶體都是十億以下,和頂級GPU相差十倍以上,但它需要更大的指令集,更複雜的ALU(算術邏輯單元),更好的分支預測,更好的虛擬化架構、更低的延遲等等。

另外,像我們的作業系統Windows,它是為x86處理器編寫的,它需要做的任務執行的進程,在CPU上肯定更為高效,你想每個線程的任務並不相同,基本上難以並行化,完全發揮不了GPU的長處。

總結

總而言之,CPU和GPU因為最初用來處理的任務就不同,所以設計上有不小的區別。CPU的運算速度取決於請了多麼厲害的教授。教授處理複雜任務的能力是碾壓小學生的,但是對於沒那麼複雜的任務,還是頂不住人多。當然現在的GPU也能做一些稍微複雜的工作了,相當於升級成初中生高中生的水平。但還需要CPU來把數據餵到嘴邊才能開始幹活,最終還是靠CPU來管的。

【編輯推薦】

【責任編輯:

趙寧寧

TEL:(010)68476606】

點讚 0

相關焦點

  • 萊特幣ltc挖礦教程:cpu挖礦與gpu挖礦(詳細圖文)
    小編特整理了萊特幣ltc挖礦教程,用詳細的圖文介紹萊特幣的兩種挖礦方法:cpu挖礦與gpu挖礦。  >>>萊特幣錢包下載安裝教程第二步 下載萊特幣挖礦軟體1、CPU挖礦  首先你需要下載pooler-cpuminer來進行CPU挖礦。下面的列表中有各個作業系統的版本下載。選擇適合你的版本,下載並解壓縮。
  • 實踐經驗分享:在深度學習中餵飽GPU
    關注 極市平臺 公眾號 ,回復 加群,立刻申請入群~前段時間訓練了不少模型,發現並不是大力出奇蹟,顯卡越多越好,有時候 1 張 v100 和 2 張 v100 可能沒有什麼區別,後來發現瓶頸在其他地方,寫篇文章來總結一下自己用過的一些小 trick,最後的效果就是在 cifar 上面跑 vgg
  • 在 Ubuntu 16.04 中安裝支持 CPU 和 GPU 的 Google TensorFlow 神經網絡軟體
    Nvidia CUDA 是一個 GPU 加速庫,它已經為標準神經網絡中用到的標準例程調優過。CuDNN 是一個用於 GPU 的調優庫,它負責 GPU 性能的自動調整。TensorFlow 同時依賴這兩者用於訓練並運行深層神經網絡,因此它們必須在 TensorFlow 之前安裝。
  • gpu伺服器是幹什麼的_gpu伺服器和普通伺服器有什麼區別
    前言 其實現在很多人都聽說或者接觸過伺服器,眾所周知,伺服器是網絡中的重要設備,要接受少至幾十人、多至成千上萬人的訪問,因此對伺服器具有大數據量的快速吞吐、超強的穩定性、長時間運行等嚴格要求。
  • 居然有免費的GPU可以跑深度學習代碼!
    = Truewith tf.device('/cpu:0'): random_image_cpu = tf.random_normal((100, 100, 100, 3)) net_cpu = tf.layers.conv2d(random_image_cpu, 32, 7) net_cpu = tf.reduce_sum(net_cpu
  • 深度學習中GPU和顯存分析
    這裡推薦一個好用的小工具:gpustat,直接pip install gpustat即可安裝,gpustat基於nvidia-smi,可以提供更美觀簡潔的展示,結合watch命令,可以動態實時監控GPU的使用情況。watch --color -n1 gpustat -cpu
  • 微軟官方系統版本的區別與特點,家庭版?專業版?企業版?
    大家好,歡迎回到萬魔寺,大家好,歡迎回到萬魔寺,這是零基礎學習安裝windows作業系統的第三期,上期簡單分享了有關下載原版鏡像的小知識,本期,我們來學習微軟官方windows系統各個版本的區別與特點。
  • CPU和GPU的區別
    講解對象:CPU和GPU的區別作者:融水公子 rsgz對象:CPU英文名:Central Processing Unit實質:中央處理器多核:有多核,但總數沒有超過兩位數特點:1 每個核都有足夠大的緩存和足夠多的數字和邏輯運算單元
  • 安全帶和安全繩兩者之間的區別
    安全帶和安全繩兩者之間的區別安全帶和安全繩都同歸屬於高空作業防護用品,是一對組合裝備,兩者通常是搭配著使用於高空作業中,保護使用者的安全。雖然兩者類似,可是兩者卻是不一樣的設備。接下來,就一起來看一下,安全帶和安全繩的區別吧。
  • CPU配置|cpuinfo參數
    在Linux系統中,提供了proc文件系統顯示系統的軟硬體信息。如果想了解系統中CPU的提供商和相關配置信息,則可以通過/proc/cpuinfo文件得到。flush_l1d arch_capabilities21bogomips : 3984.0022clflush size : 6423cache_alignment : 6424address sizes : 43 bits physical, 48 bits virtual25power management:首先我們解釋各參數的含義,然後再給出它們之間的內部關係
  • linux sysbench (一): CPU性能測試詳解
    網上sysbench教材眾多,但沒有一篇中文教材對c
  • CATIA 兩個Part文件之間發布和複製公用元素的步驟及兩者區別詳解
    在工程設計中,經常會遇到多個.零部件使用同一點、線、面、草圖、曲面、特徵,大大方便了設計的統一性以及後期修改管理,在這裡給大家分享兩個自己在設計過程中使用CATIA達到該效果的兩種方法(由於使用的英文版,所以命令使用英文)方法一、使用發布(Publication
  • 作業系統基礎-CPU虛擬化
    另一方面,為了彌補高速CPU到低速I/O設備之間的差距,在存儲器之間引入了多層的緩存,比如本地硬碟作為網絡的緩存,內存(DRAM)作為硬碟的緩存,SRAM作為內存的緩存。作業系統通過分時復用的方式實現了CPU的虛擬化,運行進程A一段時間後,主動或被動地把這個進程的狀態信息寫入物理內存然後從物理內存中讀取另一個進程B的狀態信息,從而恢復進程B的運行。進程在其生命周期中,始終處於以下三個狀態中的一個:
  • 超算安裝GPU-based軟體 (以pytorch為例)
    在官方repo下也有一個issue是請求安裝cuda版本但是只裝上了CPU-only版本雖然已經closed,但是我仍然遇到了類似的問題:猜測是安裝過程中通過硬體來決定版本,而且在安裝命令中無法強制聲明安裝cuda版本的pytorch而非CPU-only版本。
  • CPU GPU TPU簡介
    這三者在人工智慧領域又有何區別?下面就為大家簡單介紹一下。首先要實現人工智慧必須有三點:算法(核心),硬體和數據(基礎)。       算法主要分為為工程學算法和模擬算法。       工程學方法是採用傳統的編程技術,利用大量數據處理經驗改進提升算法性能;模擬法則是模仿人類或其他生物所用的方法或者技能,提升算法性能,例如遺傳算法和神經網絡。
  • 32位和64位作業系統之間到底有何區別?
    cpu就按內存存的數據順序重頭開始讀,32位就每次處理32個0和1的組合。64為就每次處理64個0和1的組合。所有說64為應該更快。但是64為為了能兼容32位的東西(以前32位電腦的文件現在64位還是能處理,)。所以就會出現CPU就會出現其實每次還是出來32個0和1的組合。這個時候速度是一樣的。
  • CPU散片是否靠譜?CPU散片與盒裝CPU有什麼區別?
    CPU散片與盒裝CPU有什麼區別?什麼是CPU散片?CPU散片是指沒有包裝盒、沒有原裝風扇、價格便宜並且沒有經過晶片廠商認證,不是由正常渠道上市的CPU產品。 CPU散片靠譜嗎?至於全新與二手的區別,有新的當然選新的,大家可以選擇找淘寶銷量較高的商家購買CPU。CPU散片與盒裝CPU有什麼區別?1、外包裝方面的不同,盒裝CPU是正規渠道以明確標註的單盒形式出售的CPU,往往在盒裝內還包含了散熱器,而散片沒有包裝盒,只有一顆CPU。
  • Dota與LOL之間的區別 你認為兩者之間的不同在哪裡?
    如果要說兩者之間的區別,比起補刀、死亡、英雄等各種不同的地方,這裡發表一下個人的見解:技能技能作為區分兩款遊戲英雄不同的最大元素,比起英雄聯盟在原本保守的平衡的基礎上建立新的英雄與新技能,dota2在技能方面則時注重了大不相同的各司其職的重要特色。
  • 32位與64位作業系統具體有什麼區別?
    如今隨著電腦技術的升級,很少聽到大家在交流說是安裝32位作業系統還是64位作業系統了,但是在之前的一段時間內,我們經常能聽到這樣的對話,那麼具體32位作業系統與64位作業系統有什麼區別呢?我們一起來看看。