1. 內(nèi)容簡介
現(xiàn)如今,各種大小視頻異軍突起。面對如此龐大的視頻容量和存儲(chǔ),如何高效精準(zhǔn)地對視頻等新媒體進(jìn)行云端處理,這既是視頻開發(fā)人員的責(zé)任,也是云服務(wù)商的責(zé)任。云服務(wù)提供商 (Cloud Service Providers) 從視頻處理、分析、搜索以及流媒體處理的性能方面出發(fā),旨在提升媒體云計(jì)算的應(yīng)用和服務(wù)。在流媒體中,視頻和圖像處理會(huì)占用大量計(jì)算和存儲(chǔ)資源。本文在基于英特爾® 至強(qiáng)® 可擴(kuò)展平臺(tái)的新技術(shù)上,介紹了新型 SIMD(單一指令多數(shù)據(jù)流) AVX-512 指令集,并闡述了該指令集是如何幫助提升視頻、圖像處理以及視頻深度學(xué)習(xí)應(yīng)用等各方面的性能。
2. 背景
SIMD向量化技術(shù)已經(jīng)在 x86 處理器上得到了廣泛支持,在數(shù)代不同的 x86 平臺(tái)上從 MMX、 SSE、 AVX、 AVX2 演進(jìn)到了 AVX-512指令集。快速增長的媒體云計(jì)算應(yīng)用和服務(wù)給云服務(wù)提供商提供了各種機(jī)遇。如圖1所示的思科流量預(yù)測數(shù)據(jù),到 2020 年,全球視頻流量將占到互聯(lián)網(wǎng)用戶消費(fèi)流量總量的 82%。層出不窮的新興媒體云計(jì)算應(yīng)用,例如視頻轉(zhuǎn)碼、視頻分析等,隨著4K/8K 視頻格式而逐漸興起,并將趨向成熟,但這對視頻處理能力提出了更高的要求,同時(shí)也對更多的存儲(chǔ)和網(wǎng)絡(luò)帶寬資源能力也給予一定的厚望,這就要求媒體云不斷地提升計(jì)算性能。
圖1 思科VNI: 全球IP流量預(yù)測
3. 利用AVX-512提升媒體云計(jì)算性能
在基礎(chǔ)的媒體云計(jì)算模塊中,處理好視頻轉(zhuǎn)碼、編輯、特征抽取和分析等環(huán)節(jié)都需要消耗大部分計(jì)算資源,特別是在視頻轉(zhuǎn)碼方面,并且視頻轉(zhuǎn)碼也是進(jìn)行其他進(jìn)一步處理和分析的基礎(chǔ)。優(yōu)化這些計(jì)算密集型運(yùn)算,英特爾的 SIMD(單指令多數(shù)據(jù)流)向量化技術(shù)關(guān)鍵性地解決掉了這個(gè)問題。隨著英特爾架構(gòu)平臺(tái)的演進(jìn)和代代升級,全新英特爾®至強(qiáng)®可擴(kuò)展處理器已經(jīng)成功集成了 AVX-512 技術(shù), 本文簡單介紹了AVX-512 這一新技術(shù)為媒體云計(jì)算客戶提供的以下優(yōu)勢:a.提供高效視頻處理解決方案?;A(chǔ)視頻編碼和轉(zhuǎn)碼性能將提升 2到 4倍,顯著提升媒體處理集群的計(jì)算能力。b. 提供各種高性能圖像處理解決方案。有效減小在線圖像處理延遲和帶寬問題。c. 提高深度學(xué)習(xí)算法的性能,幫助消除新興云服務(wù)提供商應(yīng)用程序的性能瓶頸。3.1 傳統(tǒng)視頻處理程序的性能提升離線視頻轉(zhuǎn)碼應(yīng)用程序?qū)儆诘湫偷?CPU 和內(nèi)存密集型的應(yīng)用,通過SIMD 向量化技術(shù)可優(yōu)化其最耗時(shí)的核心代碼。目前部分函數(shù)可以被編譯程序自動(dòng)優(yōu)化為使用SIMD向量化技術(shù),或者通過調(diào)用高性能的API來優(yōu)化,如果前面兩種方式都不可用,那么就需要分析代碼并根據(jù)開發(fā)手冊和相關(guān)文檔用 SIMD 的向量化指令手動(dòng)重寫。我們手動(dòng)重寫以下四個(gè)函數(shù)x264_pixel_satd_8x4、x264_pixel_satd_8x8、x264_pixel_satd_8x16、x264_pixel_satd_16x16。為了測試 SIMD 向量化實(shí)現(xiàn)的性能,我們使用 rand()% 10 隨機(jī)生成兩個(gè)像素矩陣中的元素的實(shí)驗(yàn)對比結(jié)果,得到如表一所示的實(shí)驗(yàn)結(jié)果。
表 1. SSE、 AVX2 和 AVX512 實(shí)現(xiàn)結(jié)果 從表1 中我們可以看到,與初始相比,最優(yōu)的 SIMD向量化實(shí)現(xiàn)方案獲得了3 倍到 5倍的性能加速。3.2 提升HEVC/H.265 程序性能視頻云服務(wù)提供商可利用HEVC/H.265技術(shù)幫助以較小的帶寬提供高質(zhì)量視頻, 并進(jìn)一步支持 4k和 8k 的超高分辨率視頻服務(wù)。這里,我們使用 rand()%40 - rand()%40 隨機(jī)生成源矩陣,測試結(jié)果如表 2所示。
表 2. SSE、 AVX2 和 AVX512 DCT 實(shí)現(xiàn)結(jié)果 從表2中我們可以看到,對于 4x4/8x8/32x32/ 數(shù)據(jù)集, AVX-512 代碼是最高效的選擇,能夠分別比初始代碼提供 44.46%、70.45% 和 37.60% 的性能提升。 因此, 在具體的視頻處理應(yīng)用中, 需要綜合考慮每種 SIMD 指令集的執(zhí)行效率和性能,然后選擇最高效的一種進(jìn)行優(yōu)化。3.3提升圖像處理程序性能
圖 2.在英特爾® 至強(qiáng)® 可擴(kuò)展 平臺(tái)上使用 SIMD 提升圖像縮放性能 圖 2 是使用 IPP 圖像縮放 API 來優(yōu)化初始的 GraphicsMagick 函數(shù)的結(jié)果。在這 5 種標(biāo)準(zhǔn)圖像的縮放加速4 倍以上,而 AVX-512 也比 AVX2 要高出 20% 以上。3.4加速視頻和圖像深度學(xué)習(xí)程序我們以 caffe 的評分和訓(xùn)練程序?yàn)槔瑴y試AVX-512對英特爾® 數(shù)學(xué)函數(shù)庫(英特爾® MKL)的優(yōu)化效果。如圖3和圖4所示,在英特爾® 至強(qiáng)® 可擴(kuò)展平臺(tái)上,AVX-512 指令可比AVX2 提供高 10% 到 40%的性能。
圖 3. Caffe 評分應(yīng)用程序通過 SIMD 實(shí)現(xiàn)的性能提升
圖 4. Caffe 應(yīng)用程序通過 SIMD 向量化實(shí)現(xiàn)的性能提升
4.總結(jié)
本文簡單闡述了英特爾® 至強(qiáng)®可擴(kuò)展平臺(tái)上的全新 AVX-512 技術(shù)和指令集,演示了如何利用它來優(yōu)化媒體云應(yīng)用程序。
文章摘自英特爾精英匯
歡迎聯(lián)系寶通集團(tuán)咨詢英特爾產(chǎn)品信息
寶通集團(tuán)聯(lián)系方式
咨詢熱線:0755-88603572
寶通官網(wǎng):m.bjshst.cn
客戶垂詢郵箱:cuifang.mo@ex-channel.com
客戶垂詢QQ:1627678462
地址:深圳市福田區(qū)深南大道1006號國際創(chuàng)新中心C座11樓
郵編:518026