owned this note changed 7 years ago
Linked with GitHub

快快樂樂SIMD - 王唯達

歡迎來到 https://hackmd.io/c/COSCUP2018 共筆

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

點擊本頁上方的 開始用 Markdown 一起寫筆記!
手機版請點選上方 按鈕展開議程列表。

Slides

我去年入職 HTC ,倚賴 SIMD 將 vive 速度提升4倍,也得以順率晉升管理職位 講者 王唯達

什麼是SIMD

  • C/C++ 專用極限優化
  • 指標only
  • 必須明確定義暫存器、記憶體、編譯器行為才可以挑戰極限
  • SIMD 的層級
C/C++
   |---SIMD
組合語言

SIMD 的寫法

  1. 你必須會算 cycle 數

變數架構
(略)

重新定義暫存器

查找指令

  1. 記憶體行為
  • 記憶體

    • 接近奈米極限的時代,CPU已經不是瓶頸,每年CPU 都在變,唯一不變的是記憶體傳輸速度
    • 多資料並行 SIMD 成功地讓 Load store 最小化
  • L1 cache

  • I-Cache/D-Cache

  • Page Table

  • Cache line

世界觀

  • SIMD 的世界裡,若達到極限,查表法不會再是優化手段,使用 vector register 直接算起碼少4倍cycle數。
  • 只要有微小的 Load store 產生,都會造成效能影響
  1. 暫存器行為

必須記住暫存器的數目

參數固定
全部他破壞,一路到底

關於資料

  • 必須是 4 的倍數
  • 資料最大量必需已知

結論

與數學強連結
未知領域、未上過課
網路資料極少
想發明新的演算法可以玩玩看

See Also

tags: COSCUP2018 kernel
Select a repo