3、異構計算的典型應用
異構計算并不神秘,目前已滲透各個領域,不僅是PC領域,也包括了手持移動設備領域、行業領域,甚至是云計算、分布式計算領域。事實上,異構計算至少在應用端(前臺)并不像它的名字這樣生澀,很多應用里面,都有異構計算的身影。小到網頁及視頻加速,大到DNA計算、蛋白質計算、氣象運算,都能和異構計算搭上關系。但都有一定的限制,如_global_函數類型限定符用于聲明內核函數,只能在設備上執行,從主機調用。
3.1 AMD視頻穩定技術
視頻是和大家息息相關高頻應用。而AMD、英特爾和NVIDIA在視頻領域都有GPU加速/解碼/轉碼技術——這一點大家都知道了。但還有些技術可能大家還不了解,比如圖像穩定技術。
我們時常遇到抖動的視頻,這種抖動可能源于拍攝者的手不穩,也可能是因為長焦拍攝。無論如何,AMD通過異構計算拿出了解決方案:2011年中,AMD 宣布了“Steady Video”技術,可以實時對抖動畫面進行穩定化處理。不過由于缺乏播放軟件的支持,該技術一直是“只聞其聲,不見其形”,真正的應用并不多。而在AFDS 2012上,這一技術的升級版再度出擊——與去年不同的是,如今,你使用APU平臺筆記本,抑或是使用帶有AMD獨顯,就能實實在在地感受到這一技術帶來的良好特性。
Steady Video是一個很典型的異構計算應用,因為它并非完全采用GPU而解放CPU資源,而是將實時的視頻圖像處理任務進行了智能分工,分別交給CPU 和GPU共同完成。
3.2 人臉識別
人臉識別是生物識別這個大范疇中的一類,目前廣泛地運用在日常的娛樂生活中,相機拍照、攝像頭人臉識別登錄,甚至是目前很火的攝像頭動作感應游戲,都是基于人臉識別系統的。那么,人臉識別怎么會和異構計算扯上關系的呢?
人臉識別系統后臺有面部模型,而其識別工作方式可能是這樣的(不同軟件會有區別):先把畫面分成若干區域,大家可理解為一個區域對應一個識別框。然后,針對識別框進行識別和判定。每個識別框不是完全獨立的,而是有大量重復區域。也就是說,整個畫面會被分成海量的區域(識別框)。工作量如此大的“重復簡單勞動”,讓CPU來運算就很頭疼了——因為它得一個一個地(特指單核CPU)比對、判定,就像跑馬拉松;而GPU的核非常多,可同時對多個識別框進行比對和判定,效率大大提升。
或許有人會說:CPU速度快,可以彌補數量的不足。但人臉識別絕非圖示那么簡單。舉例來說,如果識別框的大小設定不對(如下圖),就無法正常識別到人臉。那么在完成一次全畫面識別后,需讓識別框變大點再從頭開始——這樣看來,就是恐怖的工作量了。一張1920×1080分辨率的靜態圖片若經多次識別框大小調整并最終找到人臉,識別(框)總量大概為4百萬個!如果是動態視頻(等同于人臉跟蹤),每秒的運算量還要翻幾十倍!很顯然,這類工作是GPU的專長。同時,GPU還會引入新的算法,會將畫面先分為若干獨立區域,利用面部模型先排除掉完全無人臉特征的區域,然后對剩下的區域進行并行計算(識別),效率可大幅提升。
3.3星云計算
星云計算,這個詞對于咱普通人可能覺得有些陌生,只知道通過各種太空望遠鏡和衛星拍攝的星云圖、星系圖好漂亮!不過宇宙中有數不清的星星,一個星系可能就有上萬億顆星星(銀河系有400億顆),而目前探知的星系就有1250億個……
如果天文學家要演示和模擬星球的運行和分布,將一個星系圖線性放大到星球圖,會是多大的工作量呢!?很顯然,內核不多的CPU干這個活兒是難以想象的。擁有上千流處理器的GPU干起來效率就高多了。通過GPU的加速,可以實現多至數百萬個運算星體的的處理工作,圖像縮放時可達60幀/秒,觀看者完全感覺不到停頓。
當然,如果純粹是GPU運算,CPU就閑著了,所以,如果能夠動態結合CPU 極高的頻率和GPU的并行運算能力,效率就能得到最大的提升。在這個應用中,節能不是第一要素,而是在固定的投入下發揮出最大工作效率,這也是異構計算的目的之一。
————————————————
? ? ? ? ? ? ? ? ? ? ? ? ? ? 版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
? ? ? ? ? ? ? ? ? ? ? ??
原文鏈接:https://blog.csdn.net/Pieces_thinking/article/details/122264574