Why is MaxPayload on my GPU Limited to 256 Bytes but Configurable to 1024 Bytes via Registers?

Hello NVIDIA community,

I have a question regarding the MaxPayload configuration on my NVIDIA GPU.

When I check the MaxPayload capacity via the PCIe configuration space, it shows that the maximum supported payload size is 256 bytes. However, I found that I can manually configure the MaxPayload to 1024 bytes by modifying the register, and interestingly, the GPU continues to operate normally with no noticeable issues or crashes.

My questions are:

  1. Why is the MaxPayload capacity reported as 256 bytes, but it’s possible to configure it to 1024 bytes via registers?
  2. What are the potential risks of manually increasing MaxPayload to a larger size than what’s reported?

I understand that increasing the MaxPayload size can theoretically improve performance by reducing overhead, but I want to ensure that it’s safe to configure it beyond the reported limits.

Any insights or technical explanations on this behavior would be greatly appreciated.

Thank you!

1 Like