![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 顯示卡討論區
(https://www.pcdvd.com.tw/forumdisplay.php?f=8)
- - 有沒有可以讀取 GPU 暫存器的工具
(https://www.pcdvd.com.tw/showthread.php?t=1138280)
|
---|
有沒有可以讀取 GPU 暫存器的工具
像是讀取 Render/Video Semaphore Sync Register 、Ring Buffer Control 之類暫存器的值。
|
引用:
你為什麼不直接用x86 Assembler寫組語把Register內容印出來看就好了? |
引用:
那怎麼寫操作代碼 示範一下 :confused: 我只知道讀取CPU MSR 指令是 rdmsr 讀取CPU CPUID 指令是 cpuid 還沒碰過GPU 的不曉的怎麼寫 :confused: |
引用:
我剛才沒注意看,看成是CPU,但一樣,那不是下指令就印出來,而是寫x86程式去印出來。 有些開發輔助工具可以簡單一點,GPU就有。 nVIDIA CUDA NSight就有提供Register Dump的功能,搭配Visul Studio就可以在寫程式過程參考,請參考一下: http://docs.nvidia.com/nsight-visua...0State%7C_____6 |
|
引用:
忘了說 我的是 Intel GPU ˇ ˇ |
引用:
那你要翻翻Intel OpenCL SDK,看看OpenCL Drivers有沒有提供這樣的API給你: https://software.intel.com/en-us/intel-opencl 因為x86 CPU的Driver是共通的,基本上就整在OS Kernel裡,所以API不論Intel或AMD都一體適用,你呼叫rdmsr之類的指令工具或寫組語都能讀到暫存器的內容。 但是顯示晶片的GPU是透過製造商提供的Driver再掛上去,Driver撰寫時如果只有支援DirectX或OpenGL,你想做這兩個API允許以外的事就是不行。 所以你要讀到Intel GPU register,還是要看Intel的API有沒有給,如果連OpenCL API都不給印暫存器的話,那就沒輒了。 至於nVIDIA的CUDA API就有提供,因此剛才我能貼CUDA API Manual給你參考。 Intel的你研究看看再上來回覆吧!畢竟我是用X99,手邊也沒有6代/7代的CPU,沒辦法幫你試。 雖然有些版友覺得你可能是某位行事特異的被封鎖網友,但我覺得你是在問很認真的技術問題,對事不對人,一起討論! |
引用:
板凳爆米花準備好了。 :flash: |
引用:
另外我想問一個 我的顯示晶片是 Intel Haswell GT1 Linux /Unix 系統下 偶爾會畫面凍結 GPU 會重啟 我查看系統訊息是 GPU Hang .... 反正只要開圖形加速 畫面就會凍結 造成 GPU Hang 崩潰 然後重啟 的原因出在哪 |
引用:
你掛載的驅動程式是哪個? |
所有的時間均為GMT +8。 現在的時間是01:01 AM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。