PCDVD數位科技討論區

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)

喵刹 2017-11-28 03:09 PM

有沒有可以讀取 GPU 暫存器的工具
 
像是讀取 Render/Video Semaphore Sync Register 、Ring Buffer Control 之類暫存器的值。

NEAL 2017-11-28 03:13 PM

引用:
作者喵刹
像是讀取 Render/Video Semaphore Sync Register 、Ring Buffer Control 之類暫存器的值。


你為什麼不直接用x86 Assembler寫組語把Register內容印出來看就好了?

喵刹 2017-11-28 03:24 PM

引用:
作者NEAL
你為什麼不直接用x86 Assembler寫組語把Register內容印出來看就好了?


那怎麼寫操作代碼 示範一下 :confused:
我只知道讀取CPU MSR 指令是 rdmsr
讀取CPU CPUID 指令是 cpuid

還沒碰過GPU 的不曉的怎麼寫 :confused:

NEAL 2017-11-28 03:34 PM

引用:
作者喵刹
那怎麼寫操作代碼 示範一下 :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

suger68 2017-11-28 03:47 PM

有沒有可以讀取 水土散熱器 的工具

[奇人軼事] PCDVD 奇人 - 台法雞乖

喵刹 *台法機乖分身帳號
https://www.pcdvd.com.tw/member.php?u=338305

喵刹 2017-11-28 04:57 PM

引用:
作者NEAL
我剛才沒注意看,看成是CPU,但一樣,那不是下指令就印出來,而是寫x86程式去印出來。

有些開發輔助工具可以簡單一點,GPU就有。

nVIDIA CUDA NSight就有提供Register Dump的功能,搭配Visul Studio就可以在寫程式過程參考,請參考一下:

http://docs.nvidia.com/nsight-visua...0State%7C_____6


忘了說 我的是 Intel GPU ˇ ˇ

NEAL 2017-11-28 06:35 PM

引用:
作者喵刹
忘了說 我的是 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,沒辦法幫你試。

雖然有些版友覺得你可能是某位行事特異的被封鎖網友,但我覺得你是在問很認真的技術問題,對事不對人,一起討論!

冰的啦魔王大人 2017-11-28 07:24 PM

引用:
作者NEAL
Intel的你研究看看再上來回覆吧!畢竟我是用X99,手邊也沒有6代/7代的CPU,沒辦法幫你試。

對事不對人,一起討論!


板凳爆米花準備好了。
:flash:

喵刹 2017-11-28 07:40 PM

引用:
作者NEAL
那你要翻翻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,沒辦法幫你試。

雖然有些版友覺得你可能是某位行事特異的被封鎖網友,但我覺得你是在問很認真的技...


另外我想問一個 我的顯示晶片是 Intel Haswell GT1
Linux /Unix 系統下 偶爾會畫面凍結 GPU 會重啟 我查看系統訊息是 GPU Hang ....
反正只要開圖形加速 畫面就會凍結
造成 GPU Hang 崩潰 然後重啟 的原因出在哪

NEAL 2017-11-28 08:42 PM

引用:
作者喵刹
另外我想問一個 我的顯示晶片是 Intel Haswell GT1
Linux /Unix 系統下 偶爾會畫面凍結 GPU 會重啟 我查看系統訊息是 GPU Hang ....
反正只要開圖形加速 畫面就會凍結
造成 GPU Hang 崩潰 然後重啟 的原因出在哪


你掛載的驅動程式是哪個?


所有的時間均為GMT +8。 現在的時間是01:01 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。