[PLUGIN] GPU Statistics


Recommended Posts

Thanks @b3rs3rk for your contribution. Sorry to copy/past my comment but I feel the right place is here in this support thread :}

 

- Can you recommend me the correct kernel module to enable (I know the radeontop plugin enables the amdgpu module) for my AMD Sapphire (reference design) R9 Nano GPU?

 

- Should it be the “radeon” kernel module?

Would it be a problem if I had manually enabled radeon kernel module via the officially recommended way (boot script - which is what I have already done but haven’t tried out my GPU since I setup my unraid instance) and then also install the radeontop & gpu stats plugin?

 

**Note 1:** 

I did the above and the stats plugin shows N/A for all fields. Also I did select vendor in gpu stats plugin settings but unit ID list is blank.

 

radeontop did report correct VMem (didn’t check other stats - sorry :D mobile terminal isn’t that nice).

 

**Note 2:**
I have since then removed my modprobe.d directory and the radeon kernel conf file. Rebooted unRAID. Still the same as reported above.

 

Let me know what I can do to help fix it.
Thanks again! (You’re our last hope for those chugging along on a radeon/AMD GPU)

Edited by soulskill
  • Like 1
Link to comment
2 hours ago, soulskill said:

Can you recommend me the correct kernel module to enable (I know the radeontop plugin enables the amdgpu module) for my AMD Sapphire (reference design) R9 Nano GPU?

amdgpu is the right choice for you.

I think the right place to post this question would be on the RadeonTOP support. ;)

 

2 hours ago, soulskill said:

radeon

The radeon kernel modules is for GPU's I think before the 2xx series, so to speak for old GPU's.

  • Like 1
  • Thanks 1
Link to comment
2 hours ago, soulskill said:

**Note 1:** 

I did the above and the stats plugin shows N/A for all fields. Also I did select vendor in gpu stats plugin settings but unit ID list is blank.

 

I need the output of:

 

lspci | grep VGA

 

To determine your issue.  Thanks!

Link to comment
3 minutes ago, b3rs3rk said:

 

I need the output of:

 


lspci | grep VGA

 

To determine your issue.  Thanks!


Here you go:

 

Outputs:

00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Fiji [Radeon R9 FURY / NANO Series] (rev ca)

 

Link to comment
2 minutes ago, soulskill said:


Here you go:

 

Outputs:


00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Fiji [Radeon R9 FURY / NANO Series] (rev ca)

 

 

I was hoping your issue was the same as @jungle's, but it isn't.  I had to adjust the inventory regex again to make their card recognized by the plugin, but yours was working with the original regex.  If the card isn't showing up you are likely not reaching the inventory code for some reason.  Can you run this in in the console:

 

cd /usr/local/emhttp/plugins/gpustat/ && php ./gpustatus.php

 

And paste the result?  I'm hoping you're hitting some kind of programmatic error otherwise I'm not sure what the problem is.  Your card should be recognized in the settings page already.

 

15 minutes ago, jungle said:

root@NASIR:~# lspci | grep VGA
0a:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Picasso (rev c8)

 

 

I had to expand the inventory regex a tiny bit to cover yours.  Once I release a new version of the plugin it should start working, hopefully.

Link to comment
6 minutes ago, b3rs3rk said:

 

I was hoping your issue was the same as @jungle's, but it isn't.  I had to adjust the inventory regex again to make their card recognized by the plugin, but yours was working with the original regex.  If the card isn't showing up you are likely not reaching the inventory code for some reason.  Can you run this in in the console:

 



cd /usr/local/emhttp/plugins/gpustat/ && php ./gpustatus.php

 

And paste the result?  I'm hoping you're hitting some kind of programmatic error otherwise I'm not sure what the problem is.  Your card should be recognized in the settings page already.

 

 

I had to expand the inventory regex a tiny bit to cover yours.  Once I release a new version of the plugin it should start working, hopefully.


I tried to run the command - the directory and file exists but the php command is stuck. Does not outputs.

Edited by soulskill
Typos
Link to comment
12 minutes ago, soulskill said:


I tried to run the command - the directory and file exists but the php command is stuck. Does not outputs.

 

Try this instead:

 

cd /usr/local/emhttp/plugins/gpustat && php -r '$gpustat_inventory = true; include("gpustatus.php"); var_dump($gpustat_data);'

 

Link to comment
1 hour ago, b3rs3rk said:

 

Try this instead:

 


cd /usr/local/emhttp/plugins/gpustat && php -r '$gpustat_inventory = true; include("gpustatus.php"); var_dump($gpustat_data);'

 


Outputs:

which: no nvidia-smi in (.:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin)
which: no intel_gpu_top in (.:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin)
array(0) {
}

 

Link to comment
2 hours ago, soulskill said:


Outputs:


which: no nvidia-smi in (.:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin)
which: no intel_gpu_top in (.:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin)
array(0) {
}

 


Okay, I think I've got the cause.  It is failing to match the Intel iGPU from your Xeon with the AMD regex (which is desired behavior) but isn't continuing on to the actual R9 Fury match.  Let me figure out how to fix that as I'm using preg_match_all which should continue.

  • Thanks 1
Link to comment
3 minutes ago, b3rs3rk said:


Okay, I think I've got the cause.  It is failing to match the Intel iGPU from your Xeon with the AMD regex (which is desired behavior) but isn't continuing on to the actual R9 Fury match.  Let me figure out how to fix that as I'm using preg_match_all which should continue.

Thanks @b3rs3rk.

Just a headsup: I guess my i7 4790K’s iGPU is catalogued as Xeon’s iGPU.

Link to comment
18 minutes ago, b3rs3rk said:

 

Okay I pushed a new version, you can reinstall the plugin from CA to get it immediately if the update doesn't show in the plugin menu right away.

 

@jungle it should include your fix as well.


And it works!

Thanks a lot @b3rs3rk!

 

I updated the plugin >> plugin settings did show the unit/device id >> I swapped back to “change me” , saved and then back to “AMD” >> BaaM! Works out of the box.

 

**Feature Request:**
 

GPU Core and VMem Junction Temperature :D

 

I think the temp sensor module (NCT6775) does pull up these figures.

  • Like 1
Link to comment
5 minutes ago, jungle said:

The Unit ID is picked up now but the Dashboard still has N/A on everything. Do I need to unblacklist the amdgpu drivers? https://forums.unraid.net/bug-reports/prereleases/unraid-os-version-690-beta35-available-r1125/page/11/

 

image.thumb.png.124e3f5c708f5bbce10941c9062b3a84.png


Sigh.  I forgot to remove the int cast before it gets sent to the Settings page.  Pushed yet another update.  Re-install or update if available and then run through the settings again making sure to apply at least once to take the new BUS ID.

  • Like 1
Link to comment
1 hour ago, jungle said:

Do I need to unblacklist the amdgpu drivers?

No, the RadeonTOP plugin actually activates the module on installation or on every reboot if installed.

Like the description tells you, no modification or creation of a file is needed, that is all handled by the plugin.

Link to comment
1 hour ago, b3rs3rk said:


Sigh.  I forgot to remove the int cast before it gets sent to the Settings page.  Pushed yet another update.  Re-install or update if available and then run through the settings again making sure to apply at least once to take the new BUS ID.

 

It's ALIIIIVE! Thank you sir :) Where can I donate to you?

  • Like 2
Link to comment
10 hours ago, ich777 said:

Please note that this can be very diffuculty because not every card uses the same Nuvoton chip also keep in mind that many people have APU's.

 

It may not be necessary to query the Nuvoton chip. I have a Raven Ridge APU and the temperature can be read by the amdgpu module:

 

root@Pusok:~# sensors
amdgpu-pci-0900
Adapter: PCI adapter
vddgfx:           N/A  
vddnb:            N/A  
edge:         +38.0°C 

...

 

@jungle has a Picasso APU and @soulskill has a discrete AMD GPU. But we're all using the same amdgpu driver so it would be interesting to compare what it reports to sensors.

 

 

Link to comment
You could consider adding unmanic app detection it is also a very popular gpu encoder.

Open an enhancement request on GitHub and I will look into it. I don’t use It so I will need the process name that Nvidia-smi shows when Unmanic is actively using the GPU. If you can add that to your request it would be great.
Link to comment
 
It may not be necessary to query the Nuvoton chip. I have a Raven Ridge APU and the temperature can be read by the amdgpu module:
 
root@Pusok:~# sensorsamdgpu-pci-0900Adapter: PCI adaptervddgfx:           N/A  vddnb:            N/A  edge:         +38.0°C ...

 
@jungle has a Picasso APU and @soulskill has a discrete AMD GPU. But we're all using the same amdgpu driver so it would be interesting to compare what it reports to sensors.
 
 


I can look into it but I’d need samples from APUs and dGPUs alike to make something that works for everything.
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.