在CPU核的設計中,SIMD(single instruction multiple data,單指令多數據)是一種常用的數據并行處理方式,通過一條指令同時對多個數據元素進行操作以提升處理器的計算效率和運行速度。SIMD具有廣泛的應用場景,例如圖像處理、科學計算、加解密、機器學習和人工智能等。隨著應用對算力需求的不斷提高,處理器的數據并行能力也隨之增長(例如intel的SIMD ISA進化,寄存器從MMX的64-bit進化到如今AVX的512-bit)。但這種傳統SIMD指令的編程模型決定了其寄存器長度(即并行度)是嵌入在指令中的,軟硬件的耦合度很高,每次硬件的并行度升級都需要軟件進行相應的適配,帶來額外的軟件工作量。

相較于傳統SIMD指令,RISC-V指令集向量擴展RISC-V Vector采用了更加靈活的編程模型,在提供單指令多數據并行處理的同時,為開發者提供了更高層次的抽象,使得軟硬件更加解耦,軟件無需感知硬件并行度的變化,直接適配于不同的硬件配置。

我們以RISC-V Vector1.0指令集為例。從圖中可以看到,對于向量寄存器寬度(VLEN)不同的硬件,同一套程序可以直接運行,唯一區別是VLEN越大的處理器每輪迭代所能夠處理的元素個數越多,因此所需要的循環次數越少。此外,由于指令集所定義的element mask功能,在最后一輪迭代時,超出的元素將被無效掉,而無需類似SIMD指令那樣對循環末梢的元素進行額外的特殊處理。

進迭時空RISC-V Vector技術實踐
進迭時空第一代RISC-V CPU核X60和RISC-V AI核A60已完整支持RISC-V Vector 1.0擴展,并應用于RISC-V AI CPU芯片K1中。該系列核支持VLEN=256-bit的向量寄存器寬度,提供最大2x128-bit的數據并行處理能力,支持INT/FP等多種計算精度。同時,A60還基于向量寄存器擴展了符合IME標準的AI指令,提供2Tops INT8融合AI算力。

我們基于SWAN測試集對K1的向量能力進行了測試和優化。SWAN是一套用于測試向量指令在多媒體、圖像處理等數據密集型應用中性能表現的基準測試集,其針對chromium、WebRTC、PDFium 等應用的軟件庫進行性能分析,測試涵蓋了圖像編解碼、卷積計算、色彩空間轉換等典型算法。
在SWAN的所有37個測試中,向量指令相較于標量指令均獲得了明顯的加速比,尤其是在低精度高并行度的測試上,向量的加速效果可達數十倍。
此外,相較于Cortex-A55的SIMD指令, 在相同頻率下,K1芯片的Vector指令測試表現:
51%的測試項性能達到 Cortex-A55 的 1.5 倍以上(最高 2.5 倍);
21%的測試項性能達到 Cortex-A55 的 1~1.5 倍;
由于配置了更寬的向量寄存器和數據處理寬度,K1在數據并行度高的程序上獲得了更大的收益,例如ibjpeg、skia等典型的圖像測試程序的性能上甚至可達50%~100%的提升。此外,軟件優化也是向量化非常重要的一個環節。程序的算法及指令調度優化會對測試結果有影響,在針對性進行優化調整之后,向量化的程度和整體性能都有明顯提升,這也是RISC-V Vector指令集軟件生態在實際應用場景中需要不斷積累優化的地方。

-
Vector
+關注
關注
3文章
88瀏覽量
9922 -
RISC-V
+關注
關注
48文章
2820瀏覽量
52106 -
進迭時空
+關注
關注
0文章
51瀏覽量
308
發布評論請先 登錄
Banana Pi BPI-F3 進迭時空RISC-V架構下,AI融合算力及其軟件棧實踐
大象機器人攜手進迭時空推出 RISC-V 全棧開源六軸機械臂產品
RISC-V芯片企業 進迭時空完成Pre A+ 輪融資
小米前副總裁崔寶秋出任RISC-V廠商進迭時空首席技術顧問
進迭時空亮相RISC-V產業發展大會:新AI CPU引領大模型時代
進迭時空完成A+輪數億元融資 加速RISC-V AI CPU產品迭代
RISC-V+OpenHarmony5.0:進迭時空與中科院共筑數字世界新基石
大象機器人×進迭時空聯合發布全球首款RISC-V全棧開源小六軸機械臂
高校賽事 | 進迭時空攜手藍橋杯,誠邀全國高校學子共啟RISC-V人工智能應用創新賽道
2025RISC-V中國峰會|進迭時空RISC-V AI CPU驅動智能化應用發展
進迭時空與青少年共赴RISC-V AI科技未來!

進迭時空RISC-V Vector技術實踐
評論