News for hackers. Stuff that matters.
Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by Terminal135 on Wednesday May 10, 2023 @02:07PM (#35891071)
The repo claims that the servers themselves throttle the GPUs, but isn't it the GPUs themselves that can throttle or maybe the OS? Neither of those are controlled by the server (hopefully) so is there a different system at play here?
Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by csdvrx on Wednesday May 10, 2023 @02:23PM (#35891290)
No, that's controlled by the server: try lspci -vv on any linux system. Look at the link speed and width, like LnkSta: Speed 8GT/s, Width x2: x2 means 2 lanes.

Try:

`sudo lspci -vv | grep -P "[0-9a-f]{2}:[0-9a-f]{2}\.[0-9a-f]|downgrad" |grep -B1 downgrad`

Besides the speed, you can have another problem with lanes limitations.

For example, AMD CPUs have a lot of lanes, but unless you have an EPYC, most of them are not exposed, so the PCH tries to spread its meager set among the devices connected to your PCI bus, and if you have a x16 GPU, but also a WIFI adapter, a WWAN card and a few identical NVMe, you may find only of the NVMe benchmarks at the throughput you expect.

Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by toast0 on Wednesday May 10, 2023 @03:00PM (#35891854)
> For example, AMD CPUs have a lot of lanes, but unless you have an EPYC, most of them are not exposed, so the PCH tries to spread its meager set among the devices connected to your PCI bus, and if you have a x16 GPU, but also a WIFI adapter, a WWAN card and a few identical NVMe, you may find only of the NVMe benchmarks at the throughput you expect.

Most AM4 boards put an x16 slot direct to the CPU, and an x4 direct linked NVMe slot. That's 20 of the 24 lanes; the other 4 lanes go to the chipset, which all the rest of the peripherals are behind. (There's some USB and other I/O from the cpu, too). AM5 CPUs added another 4 lanes, which is usually a second cpu x4 slot.

Early AM4 boards might not have a cpu x4 NVMe slot, and those 4 cpu lanes might not be exposed, and the a300/x300 chipsetless boards don't tend to expose everything, but where else are you seeing AMD boards where all the CPU lanes aren't exposed?

Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by csdvrx on Wednesday May 10, 2023 @03:38PM (#35892434)
> Early AM4 boards might not have a cpu x4 NVMe slot, and those 4 cpu lanes might not be exposed, and the a300/x300 chipsetless boards don't tend to expose everything

I'm sorry, I oversimplified, and said "most of them" while I should have said "not all of them" as 20/24 is more correct for B550 chipsets (the most common for AM4) instead of trying to generalize.

Your explanation is more correct that mine.

For anyone who might want extra details about the number of lanes per CPU, https://pcguide101.com/motherboard/how-many-pcie-lanes-does-... is a good read that shows the difference for APUs.

Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by toast0 on Wednesday May 10, 2023 @04:36PM (#35893136)
I'm still not quite sure what you're trying to say?

Lanes behind the chipset are multiplexed, and you can't get more than x4 throughput through the chipset (and the link speed between the cpu and the chipset varies depending on the chipset and cpu). But that's not a problem of the CPU lanes not being exposed, it's a problem of "not enough lanes" or more likely, lanes not arranged how you'd like. On AM4, if your GPU uses x16, and one NVMe uses x4, then everything else is going to be squeezed through the chipset. On AM5, you usually get two x4 NVMe slots, but again everything else is squeezed through the chipset; x670 is particularly constrained because it just puts a second chipset downstream of the first chipset, so you're just adding more stuff to squeeze through the same x4 link to the CPU.

Personally, I found that link to be more confusing than just reading through the descriptions on wikipedia for a particular Zen version. For example https://en.wikipedia.org/wiki/Zen_3 ... just text search in the page for "lanes" and it explains for all the flavors of chips how many lanes, and how many go to the chipset. Similarly the page for AMD chipsets is pretty succinct https://en.wikipedia.org/wiki/List_of_AMD_chipsets#AM5_chips...

Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by formerly_proven on Wednesday May 10, 2023 @05:22PM (#35893720)
There's a reason why so many motherboard makers avoid putting a block diagram in their manuals and go for paragraphs of legalese instead, and laziness is only half of it.
Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by ilyt on Wednesday May 10, 2023 @04:58PM (#35893418)
> Most AM4 boards put an x16 slot direct to the CPU, and an x4 direct linked NVMe slot. That's 20 of the 24 lanes; the other 4 lanes go to the chipset, which all the rest of the peripherals are behind. (There's some USB and other I/O from the cpu, too). AM5 CPUs added another 4 lanes, which is usually a second cpu x4 slot.

Mine just go to second NVMe weirdly enough.

Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by toast0 on Wednesday May 10, 2023 @06:18PM (#35894249)
I meant to say the additional x4 is usually a second cpu x4 [NVMe] slot. Not a pci-e x4 slot.
Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by ilyt on Wednesday May 10, 2023 @04:50PM (#35893322)
> For example, AMD CPUs have a lot of lanes, but unless you have an EPYC, most of them are not exposed, so the PCH tries to spread its meager set among the devices connected to your PCI bus, and if you have a x16 GPU, but also a WIFI adapter, a WWAN card and a few identical NVMe, you may find only of the NVMe benchmarks at the throughput you expect.

example from my X670E board

* first NVME = 4x gen 5

* second= 4x gen 4

* 2 USB ports connected to CPU (10/5 Gbit)

and EVERYTHING ELSE goes thru 4x gen 4 PCIE bus, including additional 3x nvme, 7 SATA ports, a bunch of USBs, few 1x PCIE ports, network, etc.

Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by formerly_proven on Wednesday May 10, 2023 @05:20PM (#35893699)
PCIe devices can only draw a limited wattage until the host clears them for higher power. There is also a separate power brake mechanism (optional part of PCIe) mentioned in the article, which has been proposed by nVidia for PCIe so it seems likely their GPUs support it.
Re:Reverse engineering Dell iDRAC to get rid of GPU throttling by f_devd on Wednesday May 10, 2023 @06:47PM (#35894515)
I can actually answer this (as it is how I stumbled on to the repo), it's through a signal from the motherboard called Pwrbrk (Power Brake), Pin 30 on PCIe. It tells the PCIe device to maintain a low-power mode, in the case of Nvidia GPUs it's about 50W (300Mhz out of 2100Mhz in my case).

You can check if it's active using `nvidia-smi -q | grep Slowdown` as shown in the post