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.
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;
|
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. |
Examples
- 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
- 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
- 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
- Enable the SR-IOV option on the ESXi host.
Some hosts have SR-IOV as a configurable option in the BIOS.