<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="ContentPasted0 ContentPasted1">sorry, meant to say vGPU requires a homogeneous implementation.  </span></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Danny Webb <Danny.Webb@thehutgroup.com><br>
<b>Sent:</b> 17 January 2023 11:50<br>
<b>To:</b> Dmitriy Rabotyagov <noonedeadpunk@gmail.com><br>
<b>Cc:</b> openstack-discuss <openstack-discuss@lists.openstack.org><br>
<b>Subject:</b> Re: ´ð¸´: Experience with VGPUs</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div class="x_elementToProof"><span class="x_ContentPasted0" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); background-color:rgb(255,255,255)">MIG allows for a limited variation of instance types on the same card unlike
 vGPU which requires a heterogenous implementation.   see <a href="https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#supported-profiles" id="LPlnk243544">https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#supported-profiles</a> for more details.  </span></div>
<div id="x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Dmitriy Rabotyagov <noonedeadpunk@gmail.com><br>
<b>Sent:</b> 17 January 2023 11:16<br>
<b>Cc:</b> openstack-discuss <openstack-discuss@lists.openstack.org><br>
<b>Subject:</b> Re: ´ð¸´: Experience with VGPUs</font>
<div> </div>
</div>
<div class="x_BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="x_PlainText">CAUTION: This email originates from outside THG<br>
<br>
Oh, wait a second, can you have multiple different types on 1 GPU? As<br>
I don't think you can, or maybe it's limited to MIG mode only - I'm<br>
using mostly vGPUs so not 100% sure about MIG mode.<br>
But eventually on vGPU, once you create 1 type, all others become<br>
unavailable. So originally each comand like<br>
# cat /sys/bus/pci/devices/0000\:84\:00.1/mdev_supported_types/nvidia-699/available_instances<br>
1<br>
# cat /sys/bus/pci/devices/0000\:84\:00.2/mdev_supported_types/nvidia-699/available_instances<br>
1<br>
# cat /sys/bus/pci/devices/0000\:84\:00.2/mdev_supported_types/nvidia-700/available_instances<br>
1<br>
<br>
BUT, once you create an mdev of specific type, rest will not report as<br>
available anymore.<br>
# echo ${uuidgen} ><br>
/sys/bus/pci/devices/0000\:84\:00.1/mdev_supported_types/nvidia-699/create<br>
# cat /sys/bus/pci/devices/0000\:84\:00.1/mdev_supported_types/nvidia-699/available_instances<br>
0<br>
# cat /sys/bus/pci/devices/0000\:84\:00.2/mdev_supported_types/nvidia-699/available_instances<br>
1<br>
# cat /sys/bus/pci/devices/0000\:84\:00.2/mdev_supported_types/nvidia-700/available_instances<br>
0<br>
<br>
Please, correct me if I'm wrong here and Nvidia did some changes with<br>
recent drivers or it's applicable only for vGPUs and it's not a case<br>
for the MIG mode.<br>
<br>
§Ó§ä, 17 §ñ§ß§Ó. 2023 §Ô., 03:37 Alex Song (ËÎÎÄƽ) <songwenping@inspur.com>:<br>
><br>
><br>
> Hi, Ulrich:<br>
><br>
> Sean is expert on VGPU management from nova side. I complete the usage steps if you are using Nova to manage MIGs for example:<br>
> 1. divide the A100(80G) GPUs to 1g.10gb*1+2g.20gb*1+3g.40gb*1(one 1g.10gb, one 2g.20gb and one 3g.40gb)<br>
> 2.add the device config in nova.conf:<br>
> [devices]<br>
> enabled_mdev_types = nvidia-699,nvidia-700,nvidia-701<br>
> [mdev_nvidia-699]<br>
> device_addresses = 0000:84:00.1<br>
> [mdev_nvidia-700]<br>
> device_addresses = 0000:84:00.2<br>
> [mdev_nvidia-701]<br>
> device_addresses = 0000:84:00.3<br>
> 3.config the flavor metadata with VGPU:1 and create vm use the flavor, the vm will randomly allocate one MIG from [1g.10gb,2g,20gb,3g.40gb]<br>
> On step 2, if you have 2 A100(80G) GPUs on one node to use MIG, and the other GPU divide to 1g.10gb*3+4g.40gb*1, the config maybe like this:<br>
> [devices]<br>
> enabled_mdev_types = nvidia-699,nvidia-700,nvidia-701,nvidia-702<br>
> [mdev_nvidia-699]<br>
> device_addresses = 0000:84:00.1, 0000:3b:00.1<br>
> [mdev_nvidia-700]<br>
> device_addresses = 0000:84:00.2<br>
> [mdev_nvidia-701]<br>
> device_addresses = 0000:84:00.3,<br>
> [mdev_nvidia-702]<br>
> device_addresses = 0000:3b:00.3<br>
><br>
> In our product, we use Cyborg to manage the MIGs, from the legacy style we also need config the mig like Nova, this is difficult to maintain, especially deploy openstack on k8s, so we remove these config and automatically discovery the MIGs and support divide
 MIG by cyborg api. By creating device profile with vgpu type traits(nvidia-699, nvidia-700), we can appoint MIG size to create VMs.<br>
><br>
> Kind regards<br>
><br>
<br>
</div>
</span></font></div>
</div>
<table style="font-family: 'helvetica'; font-size: 10pt; width: 100%; height: 218.234375px;" border="0;">
<tbody>
<tr style="height: 19.625px;">
<td style="width: 99.1264%; height: 19.625px;"> </td>
</tr>
<tr style="height: 41.296875px;">
<td style="width: 99.1264%; height: 41.296875px;"><span style="font-family: helvetica, arial, sans-serif; font-size: 11pt;"><strong>Danny Webb</strong></span></td>
</tr>
<tr style="height: 19.625px;">
<td style="width: 99.1264%; height: 19.625px;"><span style="font-family: helvetica, arial, sans-serif;">Principal OpenStack Engineer</span></td>
</tr>
<tr style="height: 19.625px;">
<td style="width: 99.1264%; height: 19.625px;"><span style="font-family: helvetica, arial, sans-serif;">Danny.Webb@thehutgroup.com</span></td>
</tr>
<tr style="height: 19.625px;">
<td style="width: 99.1264%; height: 19.625px;"><span style="font-family: helvetica, arial, sans-serif;"></span></td>
</tr>
<tr style="height: 36.21875px;">
<td style="width: 99.1264%; height: 36.21875px;"><img src="https://dl8hes3yo0qpy.cloudfront.net/wp-content/uploads/2020/06/01092449/thg-ingenuity-logo-3.svg" alt="THG Ingenuity Logo" width="227" height="27"></td>
</tr>
<tr style="height: 19.625px; font-size: 11pt;">
<td style="width: 99.1264%; height: 19.625px;"><span style="font-family: helvetica, arial, sans-serif;"><a title="THG Website" href="https://www.thg.com">www.thg.com</a></span></td>
</tr>
<tr style="height: 42.59375px;">
<td style="height: 42.59375px;"><a href="https://www.linkedin.com/company/thg-ingenuity/?originalSubdomain=uk"><img src="https://i.imgur.com/wbpVRW6.png" alt="" width="25" height="25"></a> <a href="https://twitter.com/thgingenuity?lang=en"><img src="https://i.imgur.com/c3040tr.png" alt="" width="25" height="25"></a></td>
</tr>
</tbody>
</table>
</body>
</html>