NEON_13

什麼是NEON?
Neon是Arm高級SIMD架構的實現。

Neon的目的是通過提供以下內容來加速數據處理:

32個128位向量寄存器,每個寄存器都可以包含多個數據通道。
SIMD指令可同時在多個數據通道上運行。
可以從Neon技術中受益的應用包括多媒體和信號處理,3D圖形,語音,圖像處理或其他對定點和浮點性能至關重要的應用。

 

作爲程序員,您可以使用多種方法來使用Neon技術:

支持Neon的開源庫(例如Arm Compute庫)提供了利用Neon的最簡單方法之一。
編譯器中的自動矢量化功能可以自動優化代碼,以利用Neon。
Neon內部函數是函數調用,編譯器將其替換爲適當的Neon指令。 這使您可以直接從底層訪問所需的確切Neon指令,而這些指令全部都來自C或C ++代碼。
對於極高的性能,手工編碼的Neon彙編程序可能是經驗豐富的程序員的最佳方法。

 

在本指南中,我們將重點介紹對AArch64使用Neon內在函數,但也可以爲AArch32對其進行編譯。 有關AArch32 Neon的詳細信息,請參閱Armv8-A的Neon簡介。 首先,我們將看一個簡化的圖像處理示例和矩陣乘法。 然後,我們將繼續對內在函數本身進行更一般的討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章