I am searching how to increase max speed of the pcie on jetson xavier.
Their are limited at 2,5 GT/s.
Xavier seems to be able to grow up to 8 GT/s.
I am using Jetpack 4.5 and i don’t find where how i can change settings to grow up the pcie bus speed.
Jetson Xavier is actually Gen-4 speed (i.e. 16 GT/s) capable and it is the default setting (i.e. when a Gen-4 speed capable device is connected, link does come up at Gen-4 speed), otherwise, the link speed is decided by what is connected to the root port. In this particular case, what is connected to the root port and what speed is that device capable of? could you please share ‘sudo lspci -vv’ output?
I have nothing connected on the board. lspci.rtf (4.4 KB)
I just copy/paste the pcieport description.
The only other one display is for the network.
edit:
I could change speed with this script : pcie_set_speed.sh.
But i would like to know if it’s possible to change it in more deep level to have not to execute this script each time.
You don’t have to execute any script. With nothing connected, there’s nothing to negotiate with so the link speed stays at 2.5GT/s. If you attach a device capable of 8GT/s, you’ll see the speed adjust accordingly.
Here’s a snippet of an NVMe device that’s running at 8GT/s x4…
The bus is shared with GPU !
And unlock is speed allow to run some crytpomining process witch trade on it.
I did it.
Execute the pcie_set_speed script and reboot and the mining process is able to access to the 4GB it need to run.
Don’t do it and the process is not able to do anything.
What GPU and what bus are you talking about? The onboard GPU doesn’t use PCIe. Do you have an external GPU and are trying to run the cryptomining process on that? If so, what does the lspci output look like for that?
I talk about the GPU onboarded.
When i start miner, this one check a memory space based on the pcie.
If i change nothing, on a xavier nx, i can’t mining anything cause i get the message :
cuda-0 Using Pci Id : 00:00.0 Xavier (Compute 7.2) Memory : 2.5 GB
The process say that it require at least 4.2 GB to be able to generate DAG.
If i change the speed of pcie, and run the mining process, i get the following message :
cuda-0 Using Pci Id : 00:00.0 Xavier (Compute 7.2) Memory : 6.19 GB
and the mining process succeed to run cause this time it have enough memory to generate DAG.
So, in one way or another, their are a link with the pcie speed to be able to run mining process on this card.
And my question is how i can configure the pcie speed link to the max without call a script ?
No matter the purpose.
Now I understand, sorry. The miner just assumes that the pcie bus is being used to access the GPU and fails.
I haven’t tried this but there’s a device tree entry named “nvidia,init-speed” which you could try adding to the pcie devices with a device tree overlay. Something like this might work…
The method I outlined involves creating a new dtb that’s loaded with the kernel at boot time. You said you didn’t want to have to run a script every time but did you mean run it manually? The easiest way to accomplish this task is to just run that pcie_set_speed.sh script automatically at startup. You can do that easily with a systemd service…
Save the following to /etc/systemd/system/pcie_set_speed.service
For information, when we ask to miner to display device usable on the jetson we get this result
Id Pci Id Type Name CUDA SM Total Memory
--- --------- ---- ----------------------------- ---- --- ------------
0 00:00.0 Gpu Xavier Yes 7.2 6.59 GB
We investigate to find why we don’t have the theorical hash rate of 20 MH/s than we should. In practice the hash rate is around 150 KH/s.
IDK but maybe the problem is link to the pcie associated by the miner while the gpu is not really connected on.
setpci: 0000:07:00.0: Instance #0 of Capability 0010 not found - there are no capabilities with that id.
pcie_set_speed.sh: 21: arithmetic expression: expecting primary: “(“0x” & 0xF0) >> 4”
Any ideas on how to fix this? PCIe device is NVMe drive, probably CAP_EXP+02.W is not valid for it and should be changed…