應(yīng)用程序開發(fā)人員喜歡通過將應(yīng)用程序的邏輯設(shè)計為不同對象實體之間的交互來堅持面向?qū)ο蟮?a href="http://www.www27dydycom.cn/v/tag/1315/" target="_blank">編程風(fēng)格。在這個過程中,每個實體都被建模為C++類或結(jié)構(gòu)。結(jié)構(gòu)數(shù)組(AOS)維護(hù)這些實體的集合,這使得代碼更可讀,更易于維護(hù)。但是,這種用戶友好的代碼可能會面臨一個挑戰(zhàn)時,涉及到矢量化效率。通常,由于在主存儲器中以非單位步長的方式布置數(shù)據(jù),所以收集用于填充向量寄存器所需的數(shù)據(jù)。為了使數(shù)據(jù)布局更加矢量友好,開發(fā)人員經(jīng)常需要手動將數(shù)據(jù)結(jié)構(gòu)從AoS更改為數(shù)組結(jié)構(gòu)(SoA)。Intel的單指令多數(shù)據(jù)(SIMD)布局模板幫助開發(fā)人員在編程時保留AoS接口,但是在幕后,數(shù)據(jù)結(jié)構(gòu)以SoA格式布局。這是一個雙贏的解決方案,面向?qū)ο蠛褪噶坑押玫木幊獭?/p>
本演示文稿演示了如何分析性能敏感循環(huán)中的內(nèi)存訪問模式,以及如何使布局模板能夠盡可能地從常量和變量跨行內(nèi)存訪問更改為單元跨行內(nèi)存訪問。
-
內(nèi)存
+關(guān)注
關(guān)注
8文章
3125瀏覽量
75271 -
編程
+關(guān)注
關(guān)注
88文章
3689瀏覽量
95259 -
C++
+關(guān)注
關(guān)注
22文章
2119瀏覽量
75322
發(fā)布評論請先 登錄
什么是CAD矢量化?
使用SVE對HACCmk進(jìn)行矢量化的案例研究
RealView編譯工具NEON矢量化編譯器指南
一種優(yōu)化的鞋樣圖像矢量化方法
阿郎“零接觸矢量化”技術(shù)實現(xiàn)寬帶服務(wù)提速
使用線程和矢量化將串行代碼轉(zhuǎn)換為并行
矢量化數(shù)據(jù)并行性的程序方面的作用
使用英特爾SIMD數(shù)據(jù)布局模板提高矢量化效率
矢量化或性能模具:調(diào)整最新的AVX SIMD指令
一種全新的視角去理解和處理地圖矢量化的任務(wù)

基于矢量化場景表征的端到端自動駕駛算法框架

評論