將推理、場景分類、圖像處理和視頻回放增強之類的工作負載放到邊緣設備(如智能手機)的CPU和GPU進行處理,會耗盡運行周期并縮短電池使用壽命。DSP編程越方便,您的應用就能更快地以更高性能和更低功耗運行類似的工作負載。
因此,我們新發布的Hexagon DSP SDK 3.3.2到處都體現了“可用性”。
如果您是嵌入式開發者,會發現工具包包含了各種常用的編程工具。如果您是移動應用開發者,也會找到順利過渡到DSP編程所需的一切。坦白說,這些工具對部分人員來說可能覺得難以應付,但其實大可不必有這種想法。
本文將一一介紹SDK中包含的更高可用性方法。
1. 不用從頭開始DSP編程。我們為您提供了大量的示例代碼。
為顯示我們對可用性的認真態度,我們添加了SDK示例代碼和文檔。您可以找到Hexagon Vector eXtensions(HVX)基準示例代碼,和在Hexagon上使用Halide的示例代碼。另外,還更新了入門指南和分析器、模擬器和調試器文檔。我們制作了QuRT(運行在Hexagon上的實時操作系統)和DSP Compute用戶指南,并更新了HVX上下文保存/恢復功能。
2. 不用重寫C++算法。我們已經在DSP上提供了相關支持。
很多開發者受到高性能和低功耗的雙重誘惑,而從嵌入式領域轉向DSP編程。之前他們花了多年時間完善運行在CPU上的C或C++算法,例如低光視頻捕捉、圖像穩定或卷積神經網絡。如果不能確定是否能夠實現承諾得好處,不會有多少人愿意再重新為DSP寫代碼并進行優化。
從去年1月份開始,我們提供了一個編譯器和庫,利用Hexagon SDK在DSP編程時使用C++語言。現在,在SDK 3.3.2中,我們更新了編譯器工具鏈,允許在Hexagon DSP上執行以C++ 11/14編寫的框架和算法。
這就意味著無需重新編寫這些算法,就可以直接為DSP重新編譯,并在Hexagon上運行。這是第一個巨大的進步,您會看到性能提升和耗能減少。大多數情況下,我們希望您作進一步優化。
3. 不用編寫自己的編程工具。我們已經提供了編程工具。
Hexagon包含DSP邏輯以及類似于CPU的功能和特性,因此可以將其視為嵌入式處理器。在Hexagon SDK 3.3.2中,我們補充了用于編寫、調試和分析的工具集,確保您的應用從底層硬件中獲得最大收益:
?完整的工具箱——在SDK中,您可以找到完整的LLVM工具鏈(編譯器、鏈接器、匯編器)、診斷日志記錄、性能監視器、動態鏈接器和加載器以及支持協同仿真和虛擬平臺的仿真器。
?調試器——我們增加了LLDB支持,意味著能更好地支持C和C++代碼。現在,當您通過USB連接開發工作站和參考板或設備時,可以在IDE中執行常見的調試操作,例如單步執行調試代碼,使用斷點,檢查寄存器或內存內容。
?IDE插件——SDK包含Eclipse IDE插件,以便更好地與開發環境集成。
?Profiler——在DSP分析器sysMon中,我們完善并允許您訪問相關功能,方便您更深入地了解算法性能。為幫助您了解代碼在Hexagon上的執行情況,sysMon收集并顯示性能、緩存和其他相關指標。
有了這一功能強大的補充,您會發現SDK更加易用。
4. 不用構建自己的圖像處理語言。我們為您提供了Halide工具。
如果您開發相機和圖像項目,可能聽說過或使用過Halide,實現高性能視覺和成像算法。我們認為Halide和Hexagon是絕佳搭配,所以我們聯合Google一起為HVX構建了一個Halide工具集。以下是我們為您提供的工具:
?Halide編譯器——作為Hexagon SDK 3.3.2和Hexagon LLVM工具集的一部分,Halide工具集提供了一個針對Hexagon DSP和HVX的Halide編譯器。這意味著,如果您熟悉C++語言結構,就不需要深入了解底層處理器架構,就可以開始編寫Halide程序。相反,您可以把精力集中在從DSP為圖像算法獲得盡可能多的性能。
?Halide運行環境——利用此運行環境,您可以通過添加一個簡單的.hexagon()指令,輕松地將內核函數透明分派到Hexagon。這在異構計算中十分方便。
?Halide簡潔性——我們自己在Qualcomm驍龍835和845移動平臺設備上進行的圖像處理測試中,首先從一個大約有175行匯編代碼的高效算法開始。然后把它重寫成一個C例程,大約有100行代碼,性能略有下降。最后,我們使用Halide重寫,不到二十幾行代碼,獲得和匯編代碼相同的性能。 當然了實現情況因人而異,但如果您喜歡編碼緊湊,Halide也許是您的菜。
5. 不用編寫自己的神經網絡庫。我們為您提供了一個。
越來越多的人談論設備端處理如何給AI應用帶來優勢,以及如何在云端訓練神經網絡模型,然后在設備端運行推理。大多數公司都試圖在CPU或GPU上優化AI處理,但在 Qualcomm Technologies,Inc.(QTI) ,過去數年時間我們一直在對DSP上的AI處理進行優化。
下一步:下載SDK
雖然Hexagon是驍龍異構計算模型的一部分,但Hexagon DSP SDK 3.3.2本身看起來就像是個嵌入式開發平臺。它支持搭載驍龍SDM630、SDM660、SDM820、SDM835、SDM845和SDM670的設備。
?現在就下載SDK,看看它能在性能和功耗方面給您帶來哪些優勢。
?下載Halide,更方便地編寫高性能圖像處理代碼。
-
dsp
+關注
關注
552文章
7962瀏覽量
348269 -
編程
+關注
關注
88文章
3592瀏覽量
93596 -
SDK
+關注
關注
3文章
1026瀏覽量
45779
發布評論請先 登錄
相關推薦
評論