(一)【OpenCL入門教程】異構計算的概念


大家知道,不同架構的處理器硬件能力各有不同:

  • CPU是標准的多指令單數據流的處理器,它適合邏輯控制以及任務調度
  • GPU是單指令多數據的處理器,它支持大規模的並行計算,適合圖像渲染
  • DSP是專用的數字信號處理處理器
  • FPGA對高並行性,低延時的場合特別適合

異構計算設備是指在同一個電腦系統中有兩種以上、架構差異很大的計算設備,例如同時有CPU和GPU。異構計算能夠提供更靈活的組合方案。

異構計算概念的產生要從 CPU 的發展歷程說起。

現在是一個大數據的時代,隨着物聯網的廣泛應用,每時每刻都會產生海量的數據,這些數據對應着龐大的計算量,這對硬件算力的要求就越來越高了。

人們在最初提高算力的時候主要是去提高 CPU 運行的主頻,等到 CPU 的主頻提高到極限以后,就開始想辦法把 CPU 的內核做成多核,這種多核系統是一種同構(相同結構)多核的並行計算系統。

通過多核是可以明顯提高性能,但是有一些計算場景在處理數據的時候,它會需要大量的乘加的計算、而有的只需要去做一些事務性的調度或者傳輸,完成的任務各不相同,此時采用同構計算的多核CPU不能夠滿足多種計算的需求,所以人們就想到了異構計算,對於不同的任務,采用不同的架構的處理器去進行計算,做到物盡其用,提高它的算力。

 

這里舉個例子:現在人工智能領域非常火的英偉達顯卡,它內部的每個計算單元在最開始是去做 3D 的渲染計算用的, 它和 CPU 是不同的架構,但當它們同時存在於一個系統當中,它們可以根據各自的優勢處理不同的任務 ,充分發揮各個架構的算力,所以來說異構並行計算的系統是現在在大數據、物聯網、人工智能時代的必然產物。

但是不同的硬件處理器平台對軟件開發人員來說,開發語言、環境都是不一樣的,這為開發帶來了難度,所以一個統一的開發標准去橋接不同硬件極為關鍵,OpenCL 的出現就為異構系統並行計算提供了這樣的一個標准。

下一講 我們介紹OpenCL。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM