[討論] GPU加速Transistor層的模擬器

看板Soft_Job (軟體人)作者 (.)時間5年前 (2020/12/31 00:37), 5年前編輯推噓18(18051)
留言69則, 15人參與, 6年前最新討論串1/5 (看更多)
不想走冤枉路.... 雖然有找過資料 但找到的資料似乎是一些大學教授和硬體大廠的研界成果發表 論文也有 感覺有很高的技術門檻 門檻高就算了 主要是怕結果實際上也沒如同想像中好 想問看看有沒有已經走過這條路了 不知道通不通或是值不值得 模擬器最傳統的做法是cpu指令層的模擬 這種模擬方式好實作 但正確度要拉高到一個水準 就需要很高代價 尤其是cycle accurate的模擬問題 要100%正確 就要層邏輯閘層去模擬運算結果 但邏輯閘層運算量遠大於指令模擬 主要是因為邏輯閘層運算都是同時間平行的 這種特性很適合GPU 如果像是紅白機MOS 6502的話邏輯閘數大概有4千5百多 目前看到用一般cpu去計算邏輯閘模擬計算 非常多秒才能算出一張frame 用指令集模擬的方式 每一秒可以算出好幾百張frame 差異非常巨大 不知道用gpu來模擬FPGA那種陣列 先不提有沒有商用價值 效率能不能提升到實用價值 不知道有沒有人公司剛好有做過這研究 之前移植專案做到一半 想研究一下改用GPU平行處理來處理邏輯閘模擬 寫一寫 還沒到改寫的部分 還在JS PORTING到C#的階段就丟著 如過是死路 就算了 PS.我的理想是靠GPU模擬一張FPGA 拆晶片用放大鏡把內部邏輯描繪出來 然後燒到FPGA上 有一些骨灰迷是有在做這事情 像這網站 http://www.visual6502.org 但目前還沒看到靠GPU模擬FPGA 把電路燒進去的 現在還在移植 http://www.visual6502.org/JSSim/index.html 到C#版本 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.9.202.16 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1609346243.A.FFF.html ※ 編輯: erspicu (39.9.202.16 臺灣), 12/31/2020 00:44:38

12/31 02:45, 5年前 , 1F
要有hdl parser然後compiler最後大魔王scheduler
12/31 02:45, 1F

12/31 04:12, 5年前 , 2F
我可以幫忙哦XD XDXD
12/31 04:12, 2F

12/31 06:44, 5年前 , 3F
看Nvidia的報告,結果很驚人啊,10倍以上差距
12/31 06:44, 3F

12/31 07:56, 5年前 , 4F
要不要先討論你模擬到這麼底層的意義?各邏輯閘、各走線的ti
12/31 07:56, 4F

12/31 07:57, 5年前 , 5F
ming還是沒模擬到;如果想找模擬的加速方法,現在的軟硬體
12/31 07:57, 5F

12/31 07:57, 5年前 , 6F
協調模擬都是搭FPGA...你的做法不是不行,也許AWS的雲端FPGA
12/31 07:57, 6F

12/31 07:57, 5年前 , 7F
真的這麼做,只是就你個人意義何在?
12/31 07:57, 7F
目前一些骨灰迷 把晶片磨開 用放大鏡把裡頭線路邏輯閘等復刻描繪出來 用這層去跑是真的可以跑 就慢到炸... 如果效率能改善到基本實用程度 對模擬器發展是一大里程碑 保證硬體原汁原味 以後要模擬啥晶片 反正拆晶片 放大鏡復刻描繪就好

12/31 08:06, 5年前 , 8F
C家有想搞過?不過尚未看到商用化的tool
12/31 08:06, 8F
C家是哪一家?

12/31 09:13, 5年前 , 9F
別的先不說 abstract -> cycle accurate的很難跑了
12/31 09:13, 9F

12/31 09:14, 5年前 , 10F
下到 transistor的 @_@~ 你就想著把spice 拿來跑數位
12/31 09:14, 10F

12/31 09:14, 5年前 , 11F
這....XD 當然有人這樣做過啊 還可以gpu加速
12/31 09:14, 11F

12/31 09:15, 5年前 , 12F
但解邏輯慢到一個不行 解數值還可以 @_@
12/31 09:15, 12F

12/31 09:15, 5年前 , 13F
GPU 不是萬能 解這種東西還不如用cpus+ fpga emu
12/31 09:15, 13F
是有查 不少國外論文有 也有成果發表 https://tinyurl.com/ycfl4lp2 但看不太懂是否達實用程度 還是目前仍屬於理論驗證.實驗室發展階段 雖然覺得這議題離我的程度有段差距 但如果行得通 仍然會想去嘗試看看 看到人家移植 https://www.youtube.com/watch?v=tVRMG6Ikrxw
※ 編輯: erspicu (36.239.97.253 臺灣), 12/31/2020 11:21:51

12/31 11:41, 5年前 , 14F
瞭解你想做的事了,這麼少的邏輯閘,直接擺進FPGA就好,小FP
12/31 11:41, 14F
FPGA有的人不多阿...一般玩家花錢買高階顯卡正常 但買FPGA除非是相關行業的 以及最終是希望可以在電腦上使用

12/31 11:41, 5年前 , 15F
GA應該還比你顯卡便宜呀,放GPU跑模擬像是在現代想打造一個
12/31 11:41, 15F

12/31 11:41, 5年前 , 16F
高效率蒸汽汽車,不是不行但方向怪怪的。
12/31 11:41, 16F
※ 編輯: erspicu (36.239.97.253 臺灣), 12/31/2020 11:57:38

12/31 16:17, 5年前 , 17F
我對GPU不是很熟,GPU擅長平行處理,為什麼不用CPU做?
12/31 16:17, 17F
邏輯電路的運作就是平行的 ※ 編輯: erspicu (36.239.97.253 臺灣), 12/31/2020 16:21:51

12/31 17:30, 5年前 , 18F
C家是cadence吧
12/31 17:30, 18F

12/31 17:32, 5年前 , 19F
至少商用沒有 然後目前GPU其實不好模擬這種
12/31 17:32, 19F

01/01 00:31, 6年前 , 20F
哇 那個slide 上還有黃仁勳啊XD
01/01 00:31, 20F

01/01 00:33, 6年前 , 21F
我人沒那麼好 我懶得解釋為什麼不行 總之就是不太行
01/01 00:33, 21F

01/01 00:37, 6年前 , 22F
那篇文章講的是用gpu 解 事實真是如此嗎 (笑)
01/01 00:37, 22F

01/01 00:40, 6年前 , 23F
國外有太多這類文章了 後來也沒怎麼做下去XD
01/01 00:40, 23F

01/01 00:40, 6年前 , 24F
都講講x話 沒怎麼思考就做的
01/01 00:40, 24F
你的意思是 https://tinyurl.com/ycfl4lp2 這篇教授和裡頭相關清單的人物都在講幹話? Acknowledgement Contributions from David Wang (Stanford University), Yuhao Zhu (University of Texas at Austin), Hao Qian (AMD), and Lingfeng Wang (Tsinghua University) Insightful discussions with Dr. Gilbert Chen (Sandvine), Prof. Radu Marculescu (Carnegie Mellon University), Dr. Li Shang (Intel), Xin Zhou (Intel), and Jen-Hsun Huang (NVIDIA) 然後IEEE期刊的論文在話唬爛?? 然後他們做的事情毫無意義? 我相信他們不會沒思考就做 更不會覺得沒意義 只是好奇發展程度是理論驗證和發展階段 還是真的效能已達實務上能應用階段

01/01 00:40, 6年前 , 25F
有可能是拿了計劃要做新方向而做
01/01 00:40, 25F

01/01 00:41, 6年前 , 26F
C家快有混合平台了 XD
01/01 00:41, 26F
※ 編輯: erspicu (27.52.128.32 臺灣), 01/01/2021 03:38:43

01/01 03:49, 6年前 , 27F
理論是理論 不考慮實際情況的文章多的去了
01/01 03:49, 27F

01/01 03:49, 6年前 , 28F
這篇起頭是在 2011 ICCAD 如果真做那麼好 現在早有
01/01 03:49, 28F

01/01 03:49, 6年前 , 29F
產品了.... 這篇我在n年前就看過了 當時有有爭論過
01/01 03:49, 29F

01/01 03:50, 6年前 , 30F
為什麼寫文章可以 實際做出來會有很大的落差
01/01 03:50, 30F

01/01 03:50, 6年前 , 31F
而且他用的方法跟你想的不一樣哦 他是拿來解現在用
01/01 03:50, 31F

01/01 03:51, 6年前 , 32F
CPU等解 timing問題為起始 等於你拿 gpu解graph
01/01 03:51, 32F

01/01 03:54, 6年前 , 33F
GPU的計算優勢先回去看看吧 又不是核多就好
01/01 03:54, 33F

01/01 03:54, 6年前 , 34F
核多 arm或是rv最多好嗎 @_@~ gpu特性就不是這樣的
01/01 03:54, 34F

01/01 03:59, 6年前 , 35F
你連C家是那一家都不知道了@_@~ 那 也對啦 到不意外
01/01 03:59, 35F

01/01 04:01, 6年前 , 36F
S家M家其實也做過這事 結論:FPGA EMU解邏輯功能才是
01/01 04:01, 36F

01/01 04:02, 6年前 , 37F
對的路 XD GPU可以拿來解大型網路型電路
01/01 04:02, 37F

01/01 04:04, 6年前 , 38F
就是解spice類transistor level還可以
01/01 04:04, 38F

01/01 04:04, 6年前 , 39F
最近歐洲才有公司發表這個
01/01 04:04, 39F

01/01 04:06, 6年前 , 40F
event-driven的在 2010年左右算紅 很多人都想做
01/01 04:06, 40F

01/01 04:06, 6年前 , 41F
文章也不少 但都沒有後續就是了
01/01 04:06, 41F

01/01 04:08, 6年前 , 42F
你可以找找 gate-level simulation on GPU
01/01 04:08, 42F

01/01 13:12, 6年前 , 43F
講白了你能算timing就是天才,不能就是白癡
01/01 13:12, 43F

01/01 13:18, 6年前 , 44F
CSM應該分別是Cadence/Synopsys/Mento Graphics?不過C
01/01 13:18, 44F

01/01 13:18, 6年前 , 45F
有類似產品這個我有點意
01/01 13:18, 45F

01/01 14:26, 6年前 , 46F
這篇在講什麼屎啊 你知道你自己講什麼東西嗎
01/01 14:26, 46F
你聽不懂就算了阿 目前有人就實作出來了阿 只是效率還沒達到堪用層次 很多論文和教授也有發表相關探討議題 效率是否達堪用或是商用層次是另一回事 不過這些都不是啥屎 有時候作法和理論是先研究起來放 硬體或許有一天會達到條件

01/01 17:11, 6年前 , 47F
感覺原po不是做硬體的吧
01/01 17:11, 47F
是的 我不是做硬體的 所以之前以CPU指令集完成幾款模擬器 中間也是很辛苦 本來就需要去STUDY ※ 編輯: erspicu (27.52.128.32 臺灣), 01/01/2021 17:22:21

01/01 17:30, 6年前 , 48F
你可以清楚描述你想要解決的問題嗎?
01/01 17:30, 48F
其實是寫得很清楚了 如果看不懂 代表即使看懂了問題 也很難提供啥幫助 所以如果看不懂那就也沒關係 忽略就好

01/01 17:32, 6年前 , 49F
模擬器的種類很多,你指的是instruction set simul
01/01 17:32, 49F

01/01 17:32, 6年前 , 50F
ator 嗎?
01/01 17:32, 50F
※ 編輯: erspicu (27.52.128.32 臺灣), 01/01/2021 17:38:56

01/01 17:40, 6年前 , 51F
你喜歡6502,重寫一顆就好幹麻作反向工程從電晶體反
01/01 17:40, 51F

01/01 17:40, 6年前 , 52F
向回邏輯電路再燒到FPGA?
01/01 17:40, 52F
沒有人說要燒到硬體FPGA 只是希望能夠由電腦環境模擬更低階層的GATE LEVEL 去達到更高程度的正確 至於有人會希望這樣做的理由 有一篇文章解釋得不錯 https://www.mobile01.com/topicdetail.php?f=514&t=1799027 老實說,模擬紅白機的模擬器就會模擬6502的CPU指令集和行為。6502的模擬技術, 其實一點都不稀罕。不過,這群人採取不同的手段,而且是最麻煩的方法。 傳統採用的功能導向模擬手段,設計者必須先搞清楚目標物的功能, 包含指令集、整合性週邊的功能、暫存器集‧‧‧等等。如果資訊不完全, 是沒辦法完整而正確模擬其功能。 簡單說來,要用這個手法寫個模擬器,設計者先要閱讀大量技術文獻, 做許許多多相容性測試,才能確保正確地模擬。 這群人改採不同的方法:電晶體層級的電路模擬,類似FPGA的電路模擬。也就是說, 他們不管這東西的所有功能,直接把電路抄出來,模擬整個電晶體網路的功能。 只要電路抄得對,保證是100%重現晶片功能。甚至連官方文獻沒有記載的隱藏版功能, 都能被完整重現出來。 這篇文章底下一些連結你可以參考 http://ersbroemu.blogspot.com/2016/01/blog-post.html 我寫過6502的紅白機模擬器.z80的GameBoy模擬器 你好奇可以自己去查前面的文章 #1RlvMgIy 我當然很清楚這樣做跟以前作法的差異和期待的意義 當你實作完 就會發現要達到正確 指令集層面的實作方式還是滿不夠的 至於為啥不夠 timing正確性就是一個其中問題 http://ersbroemu.blogspot.com/2015/11/blog-post.html opcode cycle table的作法其實還不是很ok ※ 編輯: erspicu (27.52.128.32 臺灣), 01/01/2021 18:12:21

01/01 19:59, 6年前 , 53F
所以你想作的是抄一顆很古老的CPU?
01/01 19:59, 53F
精確度更高的紅白機模擬器 ※ 編輯: erspicu (27.52.128.32 臺灣), 01/01/2021 22:52:35

01/01 23:33, 6年前 , 54F
我記得最近才有人重新出gameboy, 就是用fpga完全模擬
01/01 23:33, 54F

01/01 23:34, 6年前 , 55F
https://www.analogue.co/pocket 這家都是用fpga模擬
01/01 23:34, 55F

01/01 23:36, 6年前 , 56F
說真的你提的問題已經完全脫離效益等級,就是很深但是沒
01/01 23:36, 56F

01/01 23:36, 6年前 , 57F
有商業領域會想鑽的領域,就是靠愛撐過去
01/01 23:36, 57F

01/01 23:37, 6年前 , 58F
有成本更低的方式可以滿足,其他方式的探討就是純學術
01/01 23:37, 58F

01/01 23:42, 6年前 , 59F
如果是興趣使然去研究的話,不用太在乎利益啦
01/01 23:42, 59F

01/01 23:43, 6年前 , 60F
玩興趣開心最重要
01/01 23:43, 60F

01/02 03:27, 6年前 , 61F
這篇讓我想到麥塊裡面有人做出電腦來 XDD
01/02 03:27, 61F

01/03 01:39, 6年前 , 62F
想這麼做也可以, 但有件很關鍵的事你沒有注意到.
01/03 01:39, 62F

01/03 01:40, 6年前 , 63F
硬體在跑的時候,並不是所有的電晶體都有作用. 但你用gpu
01/03 01:40, 63F

01/03 01:41, 6年前 , 64F
模擬(emu)時,會在編譯期先決定哪些電晶體需要跑.除非能
01/03 01:41, 64F

01/03 01:41, 6年前 , 65F
事先拿到testbench,不然就是全部電晶體都要emu,這是巨大
01/03 01:41, 65F

01/03 01:42, 6年前 , 66F
的負擔. 同時,某條signal有上百個load是很正常的事,不過
01/03 01:42, 66F

01/03 01:44, 6年前 , 67F
這會造成在emulation時的同步問題.
01/03 01:44, 67F

01/03 03:20, 6年前 , 68F
有興趣的話, 你可以看一下去年CAD-contest, NV出的題目
01/03 03:20, 68F

01/03 04:24, 6年前 , 69F
幫樓上補一下 是ICCAD 的contest
01/03 04:24, 69F
文章代碼(AID): #1VxAp3__ (Soft_Job)
文章代碼(AID): #1VxAp3__ (Soft_Job)