You use the esxcfg-module command-line command to configure such parameters as the number of users who can share the GPU, the amount of frame buffer allocated to each user, and some performance control.

Syntax

esxcfg-module -s "adapter1_conf=bus#,device#,function#,number_of_VFs,FB_size,time_slice,mode" amdgpuv

Usage Notes

The vicfg-module command supports setting and retrieving VMkernel module options on an ESXi host. For general reference information about this command, see the vSphere Command-Line Interface Reference documentation at https://code.vmware.com.

Required Flags

You must specify several flags when configuring AMD MxGPU. If the command does not include all the required flags, no error message is provided, but the configuration defaults to a simple 4 SR-IOV device configuration.

Table 1. Flags for Configuring AMD SR-IOV
Flag Description
bus# Bus number in decimal format.
device# PCIe device ID for the supported AMD card, in decimal format. To see a list, use the command lspci | grep -i display.
For example, for a system that has two AMD GPU cards, you might see the following output when you run this command:
[root@host:~] lspci | grep -i display
0000:04:00.0 Display controller:
0000:82:00.0 Display controller:
In this example, the PCIe device IDs are 04 and 82. Note that these IDs are listed in hexadecimal format and must be converted to decimal format for use in the vicfg-module command .

AMD S7150 cards support only a single GPU per card, and so the device ID and function ID are 0 for these cards.

function# Function number in decimal format.
number_of_VFs Number of VFs (virtual functions), from 2 to 15. This number represents the number users who will share the GPU.
FB_size Amount of fame buffer memory, in MB, allocated to each VF. To determine the size, take the overall amount of video memory on the card and divide that amount by the number of VFs. Then round that number to the nearest number that is a multiple of 8. For example, for an AMD S7150 card, which has 8000 MB, you could use the following settings;
  • For 2 VFs, use 4096.
  • For 4 VFs, use 2048.
  • For 8 VFs, use 1024.
  • For 15 VFs, use 544.
time_slice Interval between VF switches, in microseconds. This setting adjusts the delay in queuing and processing commands between the SR-IOV devices. Use a value between 3000 and 40000. Adjust this value if you see significant stuttering when multiple SR-IOV desktops are active.
mode Following are the valid values: 0 = reclaimed performance; 1 = fixed percentage performance.
Important: After you run the esxcfg-module command, you must reboot the ESXi host for the settings to take effect.

Examples

  1. For a single AMD S7150 card on PCI ID 4 shared between 8 users:
    esxcfg-module -s "adapter1_conf=4,0,0,8,1024,4000" amdgpuv
  2. For a single server with two AMD S7150 cards on PCI ID 4 and PCI ID 82 shared between 4 power users:
    esxcfg-module -s "adapter1_conf=3,0,0,2,4096,4000 adapter2_conf=130,0,0,2,4096,4000" amdgpuv
  3. For a single server with two AMD S7150 cards, you can set each card with different parameters. For instance if your View environment needs to support 2 power users and 16 task workers:
    esxcfg-module -s "adapter1_conf=3,0,0,2,4096,4000 adapter2_conf=130,0,0,15,544,7000" amdgpuv
  4. Enable the SR-IOV option on the ESXi host.

    Some hosts have SR-IOV as a configurable option in the BIOS.