NVIDIA Virtual GPU Software Frame Buffer Reservation

However, if error-correcting code (ECC) memory is enabled on a physical GPU that does not have HBM2 memory, the amount of frame buffer usable by vGPUs is further reduced due to additional overhead required for ECC.
To calculate the approximate amount of reserved frame buffer in Mbytes, NVIDIA uses a formula: max-reserved-fb = vgpu-profile-size-in-mb÷16 + 16 + ecc-adjustments + page-retirement-allocation + compression-adjustment. The maximum total amount of reserved frame buffer is not available for vGPUs, and the values for each component in this formula can vary depending on factors such as the type of GPU, number of vGPUs per physical GPU, and whether ECC memory is enabled or disabled.
For example, if we have a T4-16Q vGPU with 16384 Mbytes allocated to it, and there are no other vGPUs on this physical GPU, the maximum total amount of reserved frame buffer would be:

max-reserved-fb = (vgpu-profile-size-in-mb÷16) + 16 + ecc-adjustments + page-retirement-allocation + compression-adjustment
= (16384÷16) + 16 + 0 + 4 + 28
= 576 + 16 + 0 + 4 + 28
= 618 Mbytes

However, if ECC memory is enabled on this physical GPU and it does not have HBM2 memory, the amount of frame buffer usable by vGPUs would be reduced due to ecc-adjustments. The formula for calculating ecc-adjustments depends on whether or not ECC memory is disabled or the GPU has HBM2 memory:

ecc-adjustments = (fb-without-ecc÷16) if ECC memory is enabled and the GPU does not have HBM2 memory, or 0 otherwise.

In this case, let’s assume that fb-without-ecc is equal to 3840 Mbytes when ECC memory is disabled (which would be the total amount of frame buffer available without any overhead for ECC). If we enable ECC memory on this physical GPU and it does not have HBM2 memory, then:

ecc-adjustments = (fb-without-ecc÷16) = (3840÷16) = 256 Mbytes.

Therefore, the maximum total amount of reserved frame buffer would be reduced by this value due to ecc-adjustments:

max-reserved-fb = (vgpu-profile-size-in-mb÷16) + 16 + ecc-adjustments + page-retirement-allocation + compression-adjustment
= (16384÷16) + 16 + 256 + 4 + 28
= 576 + 16 + 256 + 4 + 28
= 904 Mbytes

This means that the T4-16Q vGPU would have less frame buffer available for use, which could impact its performance or ability to run certain applications. However, by reserving frame buffer in advance and taking into account factors such as ECC memory overhead, NVIDIA can ensure that each virtual GPU has access to a portion of the physical GPU’s resources without competing with other VMs for resources.

In simpler terms: When using vGPUs on an NVIDIA system, some frame buffer (memory) is reserved in advance for each virtual machine. This ensures that each VM gets its own slice of memory to work with and doesn’t have to compete with the other VMs for resources. However, if error-correcting code (ECC) memory is enabled on a physical GPU without HBM2 memory, this can reduce the amount of frame buffer available for vGPUs due to additional overhead required by ECC. To calculate how much frame buffer is reserved in Mbytes, NVIDIA uses a formula that takes into account factors like the size of each virtual machine’s profile and other adjustments. If you have a T4-16Q vGPU with 16384 MB allocated to it on a physical GPU without ECC memory or HBM2 memory, the maximum total amount of reserved frame buffer would be around 576 Mbytes. However, if ECC memory is enabled and there’s no HBM2 memory, this can reduce the available frame buffer by up to 256 MB due to ecc-adjustments. This means that your T4-16Q vGPU might have less frame buffer available for use than you expected, which could impact its performance or ability to run certain applications. But overall, reserving frame buffer in advance helps ensure that each virtual machine has access to a portion of the physical GPU’s resources without competing with other VMs for memory.

SICORPS