ARM NEON技術(shù)在車(chē)位識別算法中的應用
由優(yōu)化后程序代碼可見(jiàn),循環(huán)跳轉次數為原來(lái)的1 4 ,但是由于使用了NEON 相關(guān)的vld1q_u32 函數,一次可在NEON的128位寄存器中裝入4個(gè)32位數值,調用vaddq_u32可對4個(gè)數據時(shí)同時(shí)進(jìn)行加法運算,在一個(gè)指令周期就完成了4次加法運算,理論上加法運算次數為原來(lái)的1 4 ,大大提高了運算性能。
對于第二個(gè)for循環(huán)也可以采用類(lèi)似方法優(yōu)化,只是調用的函數略有不同,具體考參考GCC的技術(shù)文檔,有詳細的使用說(shuō)明。
其他函數如預處理、角點(diǎn)、相關(guān)度函數的優(yōu)化和此方法類(lèi)似,重點(diǎn)針對循環(huán)和可以并行運算的代碼進(jìn)行優(yōu)化。
表3 中給出了Cortex-A8 平臺使用NEON 技術(shù)優(yōu)化后與ARM11測試時(shí)間的對比。
4 結語(yǔ)
通過(guò)使用ARM NEON 技術(shù),對于圖像處理這類(lèi)矩陣運算進(jìn)行并行優(yōu)化,可大大提高處理速度,進(jìn)行優(yōu)化后,速度較優(yōu)化前提升了達2倍之多,較ARM11提升了8 倍的速度。ARM COTEX-A 系列所使用的NEON 技術(shù),不僅使車(chē)位圖像檢測算法的速度有很大提升,在信號處理等多媒體處理算法中,也有廣闊的應用前景。
評論