盡管多媒體處理極大地受益于多核處理器可用性的提高,但直到最近,人們?nèi)詢A向于從基本同質(zhì)的 CPU 架構(gòu)的角度考慮多核。一種典型的方法提供雙核、四核和更多數(shù)量的內(nèi)核,這些內(nèi)核排列在對稱多處理器 (SMP) 或緩存一致的非統(tǒng)一內(nèi)存架構(gòu) (ccNUMA) 組中。這些設(shè)備有時(shí)帶有額外的硬件加速來卸載特別困難的任務(wù),例如 H.264 視頻處理中使用的上下文自適應(yīng)可變長度編碼 (CAVLC) 或處理器密集型上下文自適應(yīng)二進(jìn)制算術(shù)編碼 (CABAC) 熵編碼功能。
許多公司現(xiàn)在在他們的設(shè)備中提供集成顯卡,主要是為了節(jié)省電路板空間和材料成本。擁有集成圖形處理單元 (GPU) 的另一個(gè)好處是它可以提供另一種途徑來攻擊具有挑戰(zhàn)性的計(jì)算任務(wù)。例如,AMD 的 R 系列處理器將 Bulldozer CPU 架構(gòu)與離散級 AMD Radeon GPU 集成以產(chǎn)生加速處理單元 (APU)。
GPU 是一組單指令多數(shù)據(jù) (SIMD) 處理元素。請注意陣列和 x86 內(nèi)核之間的通用內(nèi)存控制器。這種架構(gòu)是轉(zhuǎn)向 AMD 異構(gòu)系統(tǒng)架構(gòu) (HSA) 的早期步驟,它通過將集成圖形處理元素視為可應(yīng)用于非圖形數(shù)據(jù)的計(jì)算資源池,顯著打破了傳統(tǒng)的多核方法。它類似于可以使用附加硬件加速器的方式,但具有作為大型可編程設(shè)備集群的優(yōu)勢 - 高端多達(dá) 384 個(gè)內(nèi)核 - 具有數(shù)百 GFLOPS 的計(jì)算吞吐量。
表 1 說明了與 AMD R 系列 APU 具有相同底層架構(gòu)的 AMD 臺式機(jī)部件的基本操作參數(shù)?;?Bulldozer 的 CPU 的 121.6 GFLOPS 浮點(diǎn)性能與 GPU 相形見絀,GPU 為可以有效利用資源的應(yīng)用程序提供 614 GFLOPS。在成像中利用添加的 GPU 處理器的關(guān)鍵是考慮將數(shù)據(jù)塊傳輸?shù)?GPU、對其進(jìn)行處理、然后將結(jié)果返回到主線程所需的時(shí)間。
表 1:運(yùn)行參數(shù)的比較展示了 AMD 臺式機(jī)部件中 CPU 與 GPU 的性能。
視頻轉(zhuǎn)碼應(yīng)用中的性能分析
盡管當(dāng)前一代 AMD R 系列處理器需要在 GPU 和 CPU 之間進(jìn)行緩沖區(qū)傳輸,但數(shù)據(jù)并行應(yīng)用程序可以實(shí)現(xiàn)吞吐量和功率效率的提高,這大大超過了數(shù)據(jù)傳輸?shù)某杀尽?/p>
數(shù)據(jù)并行應(yīng)用程序的一個(gè)示例是 Handbrake,它是一種廣泛使用的視頻轉(zhuǎn)碼實(shí)用程序,可在各種操作系統(tǒng)和硬件平臺上運(yùn)行。該實(shí)用程序值得注意的是,它具有良好集成的多核支持,因此可作為研究多核策略有效性的合適平臺。Handbrake 使用 x264,這是一種功能齊全的 H.264 編碼器,用于多種開源和商業(yè)產(chǎn)品,可提供足夠的多核支持。
在這兩個(gè)項(xiàng)目中都使用了 OpenCL,以最大限度地利用 APU 中可用的 GPU 計(jì)算資源。在 x264 中,與前瞻功能相關(guān)的質(zhì)量優(yōu)化被完全移植到 GPU 上的 OpenCL。這可用于轉(zhuǎn)碼應(yīng)用程序以提高輸出視頻質(zhì)量,通常會(huì)消耗高達(dá)約 20% 的 CPU 時(shí)間。Handbrake 直接使用 x264 作為視頻編碼器。此外,Handbrake 使用 OpenCL 執(zhí)行視頻縮放和從 RGB 到 YUV 色彩空間的色彩空間轉(zhuǎn)換。AMD 的硬件視頻解碼器 (UVD) 也被用于 Handbrake 以執(zhí)行一些視頻解碼任務(wù)。
數(shù)據(jù)是在 Trinity 100 W A10 臺式機(jī)上生成的;但是,底層架構(gòu)與嵌入式產(chǎn)品中使用的架構(gòu)相同。
為了簡化對 APU 復(fù)雜電源管理架構(gòu)的分析,我們評估了頂級熱設(shè)計(jì)功耗 (TDP),而不是分解每個(gè)子系統(tǒng)消耗的功耗。表 2 中顯示的數(shù)據(jù)表明,當(dāng)純粹在 CPU 中執(zhí)行處理時(shí),可以實(shí)現(xiàn) 14.8 fps 的幀速率,并且在 62 秒內(nèi)完成處理。在處理過程中涉及 GPU 和 UVD 塊將幀速率提高到 18.3 fps,從而減少了處理時(shí)間,從而減少了 14 秒或 22% 的功耗。
表 2:對 A10 臺式機(jī)上的 Handbrake 應(yīng)用程序的分析顯示了單獨(dú)使用 CPU 與使用 GPU 和 UVD 塊進(jìn)行處理時(shí)的性能差異。
表 2 中的浮點(diǎn)運(yùn)算總數(shù)是表 1 中的浮點(diǎn)吞吐量和處理時(shí)間的乘積,從中可以得出一個(gè)品質(zhì)因數(shù):每瓦操作數(shù)。查看每瓦特的總浮點(diǎn)運(yùn)算和歸一化運(yùn)算,很明顯處理資源被留在了桌面上。僅 CPU 的吞吐量為每瓦 75 次操作,而當(dāng)添加 GPU 時(shí),它提高到每瓦 353 次操作,理論浮點(diǎn)吞吐量提高了近 5 倍 (4.7)。
22% 是非常重要的節(jié)省,但是盡管這一代 APU 在 HSA 方向上取得了重大進(jìn)展,但從延遲和吞吐量的角度來看,所有內(nèi)存訪問并不統(tǒng)一。當(dāng)內(nèi)核訪問內(nèi)存時(shí),它會(huì)直接這樣做。在典型應(yīng)用中,此類操作的理論速率為 22 GBps 或 16 到 18 GBps。但是,當(dāng)在主機(jī)內(nèi)存中創(chuàng)建緩沖區(qū)以訪問 GPU 數(shù)據(jù)時(shí),該數(shù)據(jù)會(huì)通過不同的路徑,其中有效帶寬接近 8 MBps。這意味著內(nèi)核在本地可以預(yù)期的內(nèi)存帶寬與程序員為 GPU 內(nèi)存設(shè)置本地緩沖區(qū)時(shí)可以預(yù)期的內(nèi)存帶寬差距接近 3:1。這是對稱的。如果 GPU 需要駐留在 CPU 內(nèi)存中的數(shù)據(jù),那么同樣的關(guān)系也成立。
未來采用全 HSA 架構(gòu)的設(shè)備將擁有統(tǒng)一的內(nèi)存模型,無需在 CPU 和 GPU 內(nèi)存區(qū)域之間復(fù)制數(shù)據(jù)。諸如 x264 的前瞻功能等算法,當(dāng)移入 GPU 的處理域時(shí),從內(nèi)存帶寬的角度來看,將具有近乎同等的地位。
基準(zhǔn)測試應(yīng)用程序中的性能分析
數(shù)據(jù)并行應(yīng)用程序的第二個(gè)示例是 LuxMark,它是一個(gè)面向圖形的基準(zhǔn)測試包,它使用 OpenCL,并說明了當(dāng)從等式中移除內(nèi)存訪問時(shí)間的差異時(shí)可以實(shí)現(xiàn)的目標(biāo)。默認(rèn)的集成基準(zhǔn)測試在 AMD Embedded R-464L APU 上運(yùn)行,其特性如表 3 所示。
表 3:運(yùn)行參數(shù)比較展示了 AMD 嵌入式 R-464L APU 中的 CPU 與 GPU 性能。
表 4 中的結(jié)果清楚地表明,對于此類處理任務(wù),GPU 的性能優(yōu)于 CPU 25% 以上。使用完整的 HSA 實(shí)施,人們會(huì)期望看到 CPU 加 GPU 的增加接近 GPU 加 CPU 的總和:344。在實(shí)踐中,得到的數(shù)字是 230,這是一個(gè)不平凡的 63% 提升,但不是反映充分利用的資源。這種差距主要是由于 CPU 解析數(shù)據(jù)的開銷以及以前面描述的較低速度在 CPU 和 GPU 之間來回傳輸數(shù)據(jù)的開銷。這些特性將能夠以最小的開銷同時(shí)利用 CPU 和 GPU,從而使 CPU 和 GPU 的綜合性能明顯優(yōu)于單獨(dú)使用任何一個(gè)。
表 4:在 AMD 嵌入式 R-464L APU 上運(yùn)行 LuxMark 2.0 基準(zhǔn)測試的結(jié)果表明 GPU 在此處理任務(wù)中的表現(xiàn)優(yōu)于 CPU。
最大化計(jì)算資源
新發(fā)布的 APU 產(chǎn)品為嵌入式計(jì)算產(chǎn)品的設(shè)計(jì)人員提供了重要的計(jì)算資源。利用這些資源需要對底層硬件架構(gòu)有深入的了解,深入了解目標(biāo)應(yīng)用程序中的數(shù)據(jù)流問題,并熟悉 OpenCL 等最新工具。
作者:Frank Altschuler ,Jonathan Gallmeier
審核編輯:郭婷
-
amd
+關(guān)注
關(guān)注
25文章
5421瀏覽量
133814 -
嵌入式
+關(guān)注
關(guān)注
5059文章
18975瀏覽量
302083 -
gpu
+關(guān)注
關(guān)注
28文章
4673瀏覽量
128594
發(fā)布評論請先 登錄
相關(guān)推薦
評論