System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 亚洲AV无码乱码国产麻豆,亚洲AV无码成人精品区在线观看,蜜臀亚洲AV无码精品国产午夜.
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于數據訪問語義分析的AVX數據向量分割優化方法技術

    技術編號:44080424 閱讀:3 留言:0更新日期:2025-01-17 16:13
    本發明專利技術公開了一種基于數據訪問語義分析的AVX數據向量分割優化方法,在可執行文件的動態指令轉換過程中,根據對AVX指令的語義分析明確指令功能及數據向量的精度和位數,動態確定了計算類AVX指令對應的Neon指令;根據對AVX指令及相關AVX指令的語義分析明確指令功能、數據向量的精度和位數及數據分割策略,實現了指令級的數據分割策略優化,動態確定了數據加載類AVX指令對應的Neon指令以及AVX寄存器與Neon寄存器間的映射關系,在此基礎上實現了Neon指令模擬AVX指令的執行,有效提升了AVX指令在ARM平臺上模擬執行時的執行性能。

    【技術實現步驟摘要】

    本專利技術屬于計算機軟件開發,具體涉及一種基于數據訪問語義分析的avx數據向量分割優化方法。


    技術介紹

    1、avx(advanced?vector?extensions)是intel公司在其處理器中引入的一種simd(單指令多數據)指令集,旨在提高浮點運算和整數運算的性能。avx指令集允許處理器一次處理更多的數據,從而提高處理過程的并行性和吞吐量。avx指令集的關鍵特點包括:采用了更大的寄存器,avx可使用256位寬甚至512位寬的ymm寄存器,較sse指令集使用的128位寬的xmm寄存器來說avx一次能夠處理更多的數據;操作數融合,avx指令能夠同時操作兩個128位的操作數,并將結果存儲在一個256位的寄存器中,有效減少了需要的指令數量和潛在的延遲;混合精度,avx支持混合精度操作,即允許在同一指令中處理單精度(32位)和雙精度(64位)浮點數等。

    2、arm64架構的simd指令集,通常被稱為neon,也被稱為高級simd,是armv7架構及以后版本中引入的一種指令集擴展,用于加速多媒體和信號處理等需要大量數據處理的應用,為高性能計算提供了支持。實際中,當在arm64平臺上高效執行x86架構的工業計算軟件時,就需要使用arm64的simd指令高效模擬執行avx指令。然而,由于avx指令支持256位或512位的數據向量而neon指令主要支持128位的數據向量,因此當使用neon指令模擬執行avx指令處理avx數據向量時,就需要將其分割重組后才能處理。

    3、現有利用neon指令處理avx數據向量進行數據分割的策略主要包括位寬調整分割策略及元素匹配分割策略。其中,位寬調整分割策略,是指將?avx?數據向量按?128?位為單位進行分割,使其適應?neon?指令處理的位寬?,這種策略的優點是分割方式簡單直接易于實現,能夠充分發揮?neon?指令的并行計算能力,提高數據處理效率,缺點是可能會破壞數據的完整性;元素匹配分割策略,是指基于數據元素本身的大小和類型,將?avx?數據向量中的元素按照?neon?數據向量能夠處理的數據元素數量進行劃分,優點是能夠保證數據的完整性,缺點是當數據元素數量與?neon?數據向量容量不匹配時可能導致空間浪費,增加代碼復雜性,降低數據處理效率。

    4、綜上所述,當使用neon指令模擬執行avx指令處理avx數據向量時,如何動態確定avx數據向量的數據分割策略是需要解決的關鍵問題。


    技術實現思路

    1、有鑒于此,本專利技術提供了一種基于數據訪問語義分析的avx數據向量分割優化方法,在指令級優化了數據分割策略,實現了avx指令在arm平臺上的高效模擬執行。

    2、本專利技術提供的一種基于數據訪問語義分析的avx數據向量分割優化方法,具體包括以下步驟:

    3、步驟1、計算待執行的可執行文件的哈希值,通過動態指令轉換加載執行該可執行文件,根據該哈希值在分割策略映射列表中查找是否存在與該可執行文件對應的文件映射關系,如果存在則獲取該文件映射關系后執行步驟6,否則為該可執行文件創建以哈希值為標識的文件映射關系后執行步驟2;

    4、步驟2、將當前待轉換的指令記為第一avx指令,將第一avx指令的地址記為第一avx指令地址,獲取第一avx指令的數據向量的精度和位數;若第一avx指令的類型為數據加載指令則執行步驟3,否則若為計算指令則執行步驟4;

    5、步驟3、根據對第一avx指令及相關avx指令的語義分析,確定第一avx指令的數據分割策略及avx寄存器與neon寄存器的映射關系,將第一avx指令地址,及對應的第一avx指令的類型、數據向量的精度和位數、數據分割策略及avx寄存器與neon寄存器的映射關系,加入文件映射關系中;由第一avx指令轉換得到的neon指令完成對neon寄存器的操作,執行步驟5;

    6、步驟4、根據第一avx指令的語義及其數據向量的精度和位數確定第一avx指令對應的neon指令;將第一avx指令地址,及對應的第一avx指令的類型、數據向量的精度和位數及neon指令,加入文件映射關系中;由第一avx指令轉換得到的neon指令完成對neon寄存器的操作,執行步驟5;

    7、步驟5、若該可執行文件未執行完畢則執行步驟2;否則將該可執行文件的哈希值與文件映射關系添加到分割策略映射列表中,結束本流程;

    8、步驟6、根據該可執行文件對應的文件映射關系,完成avx指令到neon指令的轉換,完成該可執行文件的執行,結束本流程。

    9、進一步地,所述步驟3中所述根據對第一avx指令及相關avx指令的語義分析,確定第一avx指令的數據分割策略的方式為:

    10、步驟2.1、將第一avx指令的源操作數對應的寄存器記為第一源寄存器,將目的操作數對應的寄存器記為第一目標寄存器;從指令相關數據中獲取所有的avx指令及其操作碼、指令后綴和操作數形成相關avx指令集合;

    11、步驟2.2、選取相關avx指令集合中的avx指令作為第二avx指令,將第二avx指令的源操作數對應的寄存器記為第二源寄存器,將其目的操作數對應的寄存器記為第二目標寄存器;若第二avx指令為按位操作的指令且第二源寄存器為第一目標寄存器,則將第一avx指令的數據分割策略設置為按位分割策略;否則執行步驟2.3;

    12、步驟2.3、若第一目標寄存器已被第二avx指令修改,則將第一avx指令的數據分割策略設置為按數據元素分割策略;否則執行步驟2.4;

    13、步驟2.4、若第二源寄存器內的數據包含控制掩碼,且第二源寄存器為第一目標寄存器,則將第一avx指令的數據分割策略設置為按位分割策略;否則將第一avx指令的數據分割策略設置為按數據元素分割策略。

    14、進一步地,所述步驟3中根據對第一avx指令及相關avx指令的語義分析,確定第一avx指令的avx寄存器與neon寄存器的映射關系的方式為:

    15、步驟3.1、將第一avx指令的數據向量記為第一數據向量,將第一avx指令的數據向量的精度記為第一精度,將第一avx指令的數據向量的位數記為第一位數;若第一avx指令的數據分割策略為按位分割策略則執行步驟3.2,若為按數據元素分割策略則執行步驟3.3;

    16、步驟3.2、將第一數據向量的第一位數與neon寄存器的位數的商作為數據分段數量n,將第一數據向量分割為n個數據段,采用neon指令集中的數據加載指令從第一數據向量的低位到高位執行n次數據加載操作完成將第一數據向量到neon寄存器的加載;記錄第一avx指令的avx寄存器與neon寄存器之間的映射關系;

    17、步驟3.3、根據第一數據向量的第一精度,采用neon指令集中的數據元素加載指令將第一數據向量加載到neon寄存器中,記錄第一avx指令的avx寄存器與neon寄存器之間的映射關系。

    18、進一步地,所述步驟2.1中所述指令相關數據的獲取方式為:從第一avx指令地址開始向后逆向分析到第一條非avx指令本文檔來自技高網...

    【技術保護點】

    1.一種基于數據訪問語義分析的AVX數據向量分割優化方法,其特征在于,具體包括以下步驟:

    2.根據權利要求1所述的AVX數據向量分割優化方法,其特征在于,所述步驟3中所述根據對第一AVX指令及相關AVX指令的語義分析,確定第一AVX指令的數據分割策略的方式為:

    3.根據權利要求1所述的AVX數據向量分割優化方法,其特征在于,所述步驟3中根據對第一AVX指令及相關AVX指令的語義分析,確定第一AVX指令的AVX寄存器與Neon寄存器的映射關系的方式為:

    4.根據權利要求2所述的AVX數據向量分割優化方法,其特征在于,所述步驟2.1中所述指令相關數據的獲取方式為:從第一AVX指令地址開始向后逆向分析到第一條非AVX指令,將從第一AVX指令到第一條非AVX指令之間的數據作為指令相關數據。

    5.根據權利要求1所述的AVX數據向量分割優化方法,其特征在于,所述第一AVX指令地址為偏移地址。

    6.根據權利要求1所述的AVX數據向量分割優化方法,其特征在于,所述精度為單精度或雙精度。

    7.根據權利要求1所述的AVX數據向量分割優化方法,其特征在于,所述位數為128位、256位或512位。

    ...

    【技術特征摘要】

    1.一種基于數據訪問語義分析的avx數據向量分割優化方法,其特征在于,具體包括以下步驟:

    2.根據權利要求1所述的avx數據向量分割優化方法,其特征在于,所述步驟3中所述根據對第一avx指令及相關avx指令的語義分析,確定第一avx指令的數據分割策略的方式為:

    3.根據權利要求1所述的avx數據向量分割優化方法,其特征在于,所述步驟3中根據對第一avx指令及相關avx指令的語義分析,確定第一avx指令的avx寄存器與neon寄存器的映射關系的方式為:

    4.根據權利要求2所述的avx數據向量...

    【專利技術屬性】
    技術研發人員:溫研
    申請(專利權)人:北京麟卓信息科技有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 一本无码中文字幕在线观| 性虎精品无码AV导航| 日韩乱码人妻无码中文字幕久久| 台湾无码一区二区| 伊人久久无码中文字幕| 亚洲国产精品无码专区影院| 亚洲私人无码综合久久网| 亚洲AV无码成H人在线观看| 亚洲av无码国产综合专区| 无码av免费网站| 性色AV无码中文AV有码VR| 中文字幕乱码无码人妻系列蜜桃| 无码视频一区二区三区| 日韩AV无码精品一二三区| 亚洲成AV人片天堂网无码| 成人无码a级毛片免费| 亚洲一区二区三区无码影院| 亚洲V无码一区二区三区四区观看| 欧洲黑大粗无码免费| 精选观看中文字幕高清无码| 无码中文字幕乱在线观看| 永久无码精品三区在线4| 日韩精品少妇无码受不了| 无码亚洲成a人在线观看| 无码专区HEYZO色欲AV| 2014AV天堂无码一区| 人妻少妇看A偷人无码精品视频| 欧洲精品无码一区二区三区在线播放| 精品无码三级在线观看视频| 人妻无码αv中文字幕久久| 18禁无遮挡无码网站免费| 国产av永久精品无码| 人妻少妇伦在线无码专区视频| 伊人久久无码精品中文字幕| 久久Av无码精品人妻系列| 亚洲国产精品无码中文字| 午夜无码熟熟妇丰满人妻| 无码专区AAAAAA免费视频| 亚洲AV无码一区二区乱孑伦AS| 亚洲大尺度无码无码专线一区| 亚洲精品无码你懂的|