※ 引述《erspicu (.)》之銘言:
: 標題: [討論] GPU加速Transistor層的模擬器
: 推 SkyFluid: 想這麼做也可以, 但有件很關鍵的事你沒有注意到. 01/03 01:39
: → SkyFluid: 硬體在跑的時候,並不是所有的電晶體都有作用. 但你用gpu 01/03 01:40
: → SkyFluid: 模擬(emu)時,會在編譯期先決定哪些電晶體需要跑.除非能 01/03 01:41
: → SkyFluid: 事先拿到testbench,不然就是全部電晶體都要emu,這是巨大 01/03 01:41
: → SkyFluid: 的負擔. 同時,某條signal有上百個load是很正常的事,不過 01/03 01:42
: → SkyFluid: 這會造成在emulation時的同步問題. 01/03 01:44
: 推 SkyFluid: 有興趣的話, 你可以看一下去年CAD-contest, NV出的題目 01/03 03:20
這東西是有弄出一些小成果 有興趣可以看看
https://erspicu.github.io/AprVisual/index.html
不過很偏晶片設計那塊領域的東西
倒不是說真的有原創性貢獻 而是很多現有文獻做法拿去實際測試和疊加
把真的有效益性的方法給疊上去 然後實務工程上的優化程式 極盡可能加速
當然結果還是可以預期 用netlist層去跑模擬 花了很多時間跨過一座山又一座山
找了很多辦法下去試 雖然效能改善明顯可見 搞到目前開源紀錄第一名
https://erspicu.github.io/AprVisual/comparison.html
實際上離實機realtime模擬的效能還是差幾百倍
簡單來說真實任天堂紅白機fps大概是60.x , 我現在一秒還算不到一張
平均算一張大概要10秒左右 但說真的一些大神相比結果已經強上不少
主要是有ai 疊加文獻紀錄中的方法
https://erspicu.github.io/AprVisual/design.html
再說一次 我沒有什麼演算法上獨創的貢獻 我做的事情是極盡可能從現有方法中
用ai當輔助 克服工程阻力 不斷測試驗證 然後把有效的方式拼湊在一起
ps.其實很多學術的方法紙上談兵很漂亮
實際上你用cpu跑就是有很多你沒想到的問題 很多東西都是這邊cost低了
結果cost拿去做另外的評估 或是需要額外的紀錄 結果額外評估的cost
或是額外的紀錄資訊反來造成d-cache崩潰 諸如此類
然後thread也是 要處理資源lock問題 搞到最後也是崩潰
不過這是專案初期 我還是很想衝透過netlist層
直接把一張frame rendering的時間壓縮到幾秒內完成
後續可能再想想 說不定有機會靈光一現
反正就滿有趣的東西 另外也可以當成電腦效能測試的banchmark
在我電腦上的數據最高曾經到達 71k hc/s 1張不用10秒
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.233.248.16 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1780152885.A.686.html