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