開發(fā)者如何利用移動異構(gòu)計(jì)算?
要想真正充分釋放異構(gòu)計(jì)算的潛能,除了出色的硬件,還需要很棒的軟件和工具。高通在近期的一次網(wǎng)絡(luò)研討會上論述了這個(gè)問題,總結(jié)了它們?yōu)橐苿赢悩?gòu)計(jì)算提供的軟件,包括訪問多種處理核心的不同方式。
全面的異構(gòu)計(jì)算軟件解決方案
開發(fā)者在訪問一個(gè)異構(gòu)計(jì)算系統(tǒng)的多種處理核心時(shí)有著不同需求。一種極端情況是,一些精通編程和處理器架構(gòu)的開發(fā)者希望能夠深度優(yōu)化某種特定處理核心的算法。另一種極端是,一些開發(fā)者更希望基礎(chǔ)處理器架構(gòu)被剔除掉,只留下容易操作的高級函數(shù)調(diào)用和應(yīng)用程序接口(API)。
如下圖所示,高通為開發(fā)者提供訪問驍龍?zhí)幚砥鲀?nèi)多種異構(gòu)核心的渠道分為三個(gè)級別:域庫、新興行業(yè)環(huán)境和本地訪問。
對于那些希望利用異構(gòu)計(jì)算的益處、又想避免進(jìn)行處理核心精確編程的開發(fā)者來說,高通為不同處理核心優(yōu)化了許多域庫。“域庫”旨在向應(yīng)用開發(fā)者 提供常見用戶體驗(yàn)所需的關(guān)鍵功能。例如,F(xiàn)astCV能加快如實(shí)時(shí)計(jì)算機(jī)視覺(CV)應(yīng)用所需的人臉檢測等關(guān)鍵功能。高通優(yōu)化了FastCV 的各種功能,讓這些功能在適合的處理核心上運(yùn)行,比如使某些功能在CPU、VeNum、GPU或DSP上運(yùn)行,實(shí)現(xiàn)以***的功耗提供***的性能。事實(shí)上, 內(nèi)部測試顯示,某些FastCV功能的性能提升了51倍。
對于那些在不同處理核心之間尋求一致編程環(huán)境的開發(fā)者,高通提供RenderScript和OpenCL等新興行業(yè)環(huán)境。事實(shí)上,高通在所有Adreno 3xx GPU上都支持OpenCL,涵蓋從大眾市場層級到***層級的驍龍?zhí)幚砥鳌?/p>
對于那些熟悉基礎(chǔ)處理器架構(gòu)并希望從硬件中“榨取”***性能和功率效率的專家級開發(fā)者,高通提供本地訪問處理核心的幾種工具:例如用于DSP 的Hexagon軟件開發(fā)工具包(SDK);用于CPU的驍龍LLVM;以及用于GPU的Adreno軟件開發(fā)工具包。“本地訪問”是一種編程模型,它最 小化地從不同處理核心的指令集架構(gòu)中提取內(nèi)容,讓開發(fā)者能夠***限度地接近硬件。對于需要特定處理核心的全功率和專用功能的高強(qiáng)度計(jì)算來說,這種訪問級別十分必要。高通通過本地訪問構(gòu)建優(yōu)化的新興行業(yè)環(huán)境和域庫。
此外,高通還為開發(fā)者提供全面的工具、手冊和參考代碼,讓異構(gòu)計(jì)算編程變得更加容易。
異構(gòu)計(jì)算正在進(jìn)行時(shí)
借助在系統(tǒng)架構(gòu)和軟件領(lǐng)域的專業(yè)技術(shù),高通通過對關(guān)鍵功能進(jìn)行系統(tǒng)級編程,充分利用異構(gòu)計(jì)算的優(yōu)勢,從而在異構(gòu)計(jì)算方面樹立領(lǐng)先地位。OEM廠商和獨(dú)立軟件開發(fā)商(ISV)還利用異構(gòu)計(jì)算提供關(guān)鍵的差異化性能。
此外,網(wǎng)絡(luò)研討會還得出一個(gè)重要結(jié)論:許多開發(fā)者正從異構(gòu)計(jì)算中受益,即便他們不知道自己正在運(yùn)用異構(gòu)計(jì)算。例如,Vuforia擴(kuò)增實(shí)境平臺就使用 FastCV。市場上目前有4000多種Vuforia應(yīng)用,均采用異構(gòu)計(jì)算。還有許多應(yīng)用程序采用針對異構(gòu)計(jì)算而優(yōu)化的其他域庫。
另外,開發(fā)者也已開始意識到新興行業(yè)環(huán)境和本地訪問帶來的益處。異構(gòu)計(jì)算帶來的功率和性能方面的巨大優(yōu)化,我相信會有越來越多的應(yīng)用程序采用該技術(shù)。
總之,高通正在三個(gè)關(guān)鍵領(lǐng)域大規(guī)模提供異構(gòu)計(jì)算,具體包括:提供具有不同軟件訪問級別的綜合工具、多種處理核心,以及覆蓋大眾市場及***移動終端的全線產(chǎn)品組合。




















