)]}'
{"specs/ussuri/approved/vgpu-multiple-types.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"387022b6318fb4ba2b636fe6607260c186f8c91d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Hardware vendors tell us that a physical GPU device can support multiple types."},{"line_number":31,"context_line":"That said, Intel (to be confirmed) and NVidia vendor drivers only accept one"},{"line_number":32,"context_line":"type for all the virtual devices *per graphical processing unit*."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"For example, NVidia GRID physical cards can accept a list of different GPU"},{"line_number":35,"context_line":"types, but the driver can only support `one type per physical GPU`_."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. figure:: http://docs.nvidia.com/grid/5.0/grid-vgpu-user-guide/graphics/sample-vgpu-configurations-grid-2gpus-on-card.png"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_bc8c3939","line":35,"range":{"start_line":33,"start_character":0,"end_line":35,"end_character":68},"updated":"2020-01-27 09:45:03.000000000","message":"Not sure you\u0027ll be able to answer this, but is this an issue with the current design or vGPUs in general? i.e. will this still be true in, say, 2 years time?","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd9d85f9fc8038c54a4dccbdd64f0e84b8042590","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Hardware vendors tell us that a physical GPU device can support multiple types."},{"line_number":31,"context_line":"That said, Intel (to be confirmed) and NVidia vendor drivers only accept one"},{"line_number":32,"context_line":"type for all the virtual devices *per graphical processing unit*."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"For example, NVidia GRID physical cards can accept a list of different GPU"},{"line_number":35,"context_line":"types, but the driver can only support `one type per physical GPU`_."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. figure:: http://docs.nvidia.com/grid/5.0/grid-vgpu-user-guide/graphics/sample-vgpu-configurations-grid-2gpus-on-card.png"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_cdd93684","line":35,"range":{"start_line":33,"start_character":0,"end_line":35,"end_character":68},"in_reply_to":"3fa7e38b_bc8c3939","updated":"2020-01-29 09:30:37.000000000","message":"It\u0027s a current limitation of the nVidia driver, per say.\nIf you see the latest, that\u0027s still the case (and I should actually modify the link below since GRID5 is now very old).\nhttps://docs.nvidia.com/grid/latest/grid-vgpu-user-guide/index.html#homogeneous-grid-vgpus\n\nI don\u0027t know the nVidia roadmap for fixing this limitation or whether they even what to close this gap, so I\u0027ll rephrase the above.","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"387022b6318fb4ba2b636fe6607260c186f8c91d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  enabled_vgpu_types \u003d [str_vgpu_type_1, str_vgpu_type_2, ...]"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Now we propose that libvirt will accept configuration sections that are related"},{"line_number":62,"context_line":"to the [devices]/enabled_vgpu_types and specifies which exact pGPUs are related"},{"line_number":63,"context_line":"to the enabled vGPU types and will have a ``device_addresses`` option defined"},{"line_number":64,"context_line":"like this:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_9c7a9d22","line":62,"range":{"start_line":62,"start_character":7,"end_line":62,"end_character":35},"updated":"2020-01-27 09:45:03.000000000","message":"nit: ``literal``","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd9d85f9fc8038c54a4dccbdd64f0e84b8042590","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  enabled_vgpu_types \u003d [str_vgpu_type_1, str_vgpu_type_2, ...]"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Now we propose that libvirt will accept configuration sections that are related"},{"line_number":62,"context_line":"to the [devices]/enabled_vgpu_types and specifies which exact pGPUs are related"},{"line_number":63,"context_line":"to the enabled vGPU types and will have a ``device_addresses`` option defined"},{"line_number":64,"context_line":"like this:"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_cdccd68b","line":62,"range":{"start_line":62,"start_character":7,"end_line":62,"end_character":35},"in_reply_to":"3fa7e38b_9c7a9d22","updated":"2020-01-29 09:30:37.000000000","message":"Done","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"387022b6318fb4ba2b636fe6607260c186f8c91d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"to the enabled vGPU types and will have a ``device_addresses`` option defined"},{"line_number":64,"context_line":"like this:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. code::"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  cfg.ListOpt(\u0027device_addresses\u0027,"},{"line_number":69,"context_line":"              default\u003d[],"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_1c8c6d2c","line":66,"range":{"start_line":66,"start_character":3,"end_line":66,"end_character":9},"updated":"2020-01-27 09:45:03.000000000","message":".. code-block:: python","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd9d85f9fc8038c54a4dccbdd64f0e84b8042590","unresolved":false,"context_lines":[{"line_number":63,"context_line":"to the enabled vGPU types and will have a ``device_addresses`` option defined"},{"line_number":64,"context_line":"like this:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. code::"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  cfg.ListOpt(\u0027device_addresses\u0027,"},{"line_number":69,"context_line":"              default\u003d[],"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_edc75264","line":66,"range":{"start_line":66,"start_character":3,"end_line":66,"end_character":9},"in_reply_to":"3fa7e38b_1c8c6d2c","updated":"2020-01-29 09:30:37.000000000","message":"Done","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"387022b6318fb4ba2b636fe6607260c186f8c91d","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"For example, it would be set in nova.conf:"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":".. code::"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  [devices]"},{"line_number":94,"context_line":"  enabled_vgpu_types \u003d nvidia-35,nvidia-36"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_d20a3125","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":9},"updated":"2020-01-27 09:45:03.000000000","message":".. code-block:: ini\n\n(or dosini, I can\u0027t recall)","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd9d85f9fc8038c54a4dccbdd64f0e84b8042590","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"For example, it would be set in nova.conf:"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":".. code::"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  [devices]"},{"line_number":94,"context_line":"  enabled_vgpu_types \u003d nvidia-35,nvidia-36"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_2da7aabd","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":9},"in_reply_to":"3fa7e38b_d20a3125","updated":"2020-01-29 09:30:37.000000000","message":"Done","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"387022b6318fb4ba2b636fe6607260c186f8c91d","unresolved":false,"context_lines":[{"line_number":97,"context_line":"  [vgpu_nvidia-36]"},{"line_number":98,"context_line":"  device_addresses \u003d 0000:86:00.0"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"In that case, the ``nvidia-35`` vGPU type would be supported by the physical"},{"line_number":102,"context_line":"GPUs that are in the PCI addresses ``0000:84:00.0`` and ``0000:85:00.0``, while"},{"line_number":103,"context_line":"``nvidia-36`` vGPU would only be supported by ``0000:86:00.0``."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_5ca5059f","line":100,"updated":"2020-01-27 09:45:03.000000000","message":"worth noting this is similar to the NUMA-aware vSwitches feature, so there\u0027s prior art here? Also, nit: extra newline","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd9d85f9fc8038c54a4dccbdd64f0e84b8042590","unresolved":false,"context_lines":[{"line_number":97,"context_line":"  [vgpu_nvidia-36]"},{"line_number":98,"context_line":"  device_addresses \u003d 0000:86:00.0"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"In that case, the ``nvidia-35`` vGPU type would be supported by the physical"},{"line_number":102,"context_line":"GPUs that are in the PCI addresses ``0000:84:00.0`` and ``0000:85:00.0``, while"},{"line_number":103,"context_line":"``nvidia-36`` vGPU would only be supported by ``0000:86:00.0``."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_cd7a9623","line":100,"in_reply_to":"3fa7e38b_5ca5059f","updated":"2020-01-29 09:30:37.000000000","message":"Done","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"387022b6318fb4ba2b636fe6607260c186f8c91d","unresolved":false,"context_lines":[{"line_number":103,"context_line":"``nvidia-36`` vGPU would only be supported by ``0000:86:00.0``."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"If some operator messes up and provides two types for the same pGPU, an"},{"line_number":106,"context_line":"InvalidLibvirtGPUConfig exception will be raised. If the operator forgets to"},{"line_number":107,"context_line":"provide a type for a specific pGPU, then the first type given in"},{"line_number":108,"context_line":"``enabled_vgpu_types`` will be supported, like the existing situation."},{"line_number":109,"context_line":"If the operator fat-fingers the PCI IDs, then when creating the inventory, it"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_7ca0018f","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":23},"updated":"2020-01-27 09:45:03.000000000","message":"``literal``","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd9d85f9fc8038c54a4dccbdd64f0e84b8042590","unresolved":false,"context_lines":[{"line_number":103,"context_line":"``nvidia-36`` vGPU would only be supported by ``0000:86:00.0``."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"If some operator messes up and provides two types for the same pGPU, an"},{"line_number":106,"context_line":"InvalidLibvirtGPUConfig exception will be raised. If the operator forgets to"},{"line_number":107,"context_line":"provide a type for a specific pGPU, then the first type given in"},{"line_number":108,"context_line":"``enabled_vgpu_types`` will be supported, like the existing situation."},{"line_number":109,"context_line":"If the operator fat-fingers the PCI IDs, then when creating the inventory, it"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_ad6b9a51","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":23},"in_reply_to":"3fa7e38b_7ca0018f","updated":"2020-01-29 09:30:37.000000000","message":"Done","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"387022b6318fb4ba2b636fe6607260c186f8c91d","unresolved":false,"context_lines":[{"line_number":117,"context_line":"just randomly pick one of the available vGPU types."},{"line_number":118,"context_line":"For this, we propose to standardize GPU capabilities that are unfortunately"},{"line_number":119,"context_line":"very vendor specific (eg. a CUDA library version support) by having a"},{"line_number":120,"context_line":"nova.virt.vgpu_capabilities module that would translate a vendor-specific vGPU"},{"line_number":121,"context_line":"type into a set of os-traits traits."},{"line_number":122,"context_line":"If operators want vendor-specific traits, it\u0027s their responsibility to provide"},{"line_number":123,"context_line":"custom traits on the resource providers or ask the community to find a standard"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_9cc85d56","line":120,"range":{"start_line":120,"start_character":0,"end_line":120,"end_character":27},"updated":"2020-01-27 09:45:03.000000000","message":"``literal`` (there\u0027s a trend here :P)","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd9d85f9fc8038c54a4dccbdd64f0e84b8042590","unresolved":false,"context_lines":[{"line_number":117,"context_line":"just randomly pick one of the available vGPU types."},{"line_number":118,"context_line":"For this, we propose to standardize GPU capabilities that are unfortunately"},{"line_number":119,"context_line":"very vendor specific (eg. a CUDA library version support) by having a"},{"line_number":120,"context_line":"nova.virt.vgpu_capabilities module that would translate a vendor-specific vGPU"},{"line_number":121,"context_line":"type into a set of os-traits traits."},{"line_number":122,"context_line":"If operators want vendor-specific traits, it\u0027s their responsibility to provide"},{"line_number":123,"context_line":"custom traits on the resource providers or ask the community to find a standard"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_8d701e43","line":120,"range":{"start_line":120,"start_character":0,"end_line":120,"end_character":27},"in_reply_to":"3fa7e38b_9cc85d56","updated":"2020-01-29 09:30:37.000000000","message":"Done","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"387022b6318fb4ba2b636fe6607260c186f8c91d","unresolved":false,"context_lines":[{"line_number":130,"context_line":"We could ask the operators to provide those details into a"},{"line_number":131,"context_line":"`Provider Configuration File`_ by adding some additional information that"},{"line_number":132,"context_line":"would be libvirt-specific and telling which GPU type to use for a specific"},{"line_number":133,"context_line":"Resource Provider. That said, this would imply us to amend the YAML schema"},{"line_number":134,"context_line":"by allowing some extra random parameter to be available which would be"},{"line_number":135,"context_line":"libvirt-specific and would defeat the purpose of the Provider Configuration"},{"line_number":136,"context_line":"File to be as much generic as possible. It\u0027s also worth saying that a GPU type"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_b2fbf513","line":133,"range":{"start_line":133,"start_character":41,"end_line":133,"end_character":46},"updated":"2020-01-27 09:45:03.000000000","message":"require","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd9d85f9fc8038c54a4dccbdd64f0e84b8042590","unresolved":false,"context_lines":[{"line_number":130,"context_line":"We could ask the operators to provide those details into a"},{"line_number":131,"context_line":"`Provider Configuration File`_ by adding some additional information that"},{"line_number":132,"context_line":"would be libvirt-specific and telling which GPU type to use for a specific"},{"line_number":133,"context_line":"Resource Provider. That said, this would imply us to amend the YAML schema"},{"line_number":134,"context_line":"by allowing some extra random parameter to be available which would be"},{"line_number":135,"context_line":"libvirt-specific and would defeat the purpose of the Provider Configuration"},{"line_number":136,"context_line":"File to be as much generic as possible. It\u0027s also worth saying that a GPU type"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_4d8c662d","line":133,"range":{"start_line":133,"start_character":41,"end_line":133,"end_character":46},"in_reply_to":"3fa7e38b_b2fbf513","updated":"2020-01-29 09:30:37.000000000","message":"Done","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"387022b6318fb4ba2b636fe6607260c186f8c91d","unresolved":false,"context_lines":[{"line_number":131,"context_line":"`Provider Configuration File`_ by adding some additional information that"},{"line_number":132,"context_line":"would be libvirt-specific and telling which GPU type to use for a specific"},{"line_number":133,"context_line":"Resource Provider. That said, this would imply us to amend the YAML schema"},{"line_number":134,"context_line":"by allowing some extra random parameter to be available which would be"},{"line_number":135,"context_line":"libvirt-specific and would defeat the purpose of the Provider Configuration"},{"line_number":136,"context_line":"File to be as much generic as possible. It\u0027s also worth saying that a GPU type"},{"line_number":137,"context_line":"is *not* a trait, as it defines quantitative amount of virtual resources to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_4dfc660b","line":134,"range":{"start_line":134,"start_character":0,"end_line":134,"end_character":11},"updated":"2020-01-27 09:45:03.000000000","message":"to allow","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cd9d85f9fc8038c54a4dccbdd64f0e84b8042590","unresolved":false,"context_lines":[{"line_number":131,"context_line":"`Provider Configuration File`_ by adding some additional information that"},{"line_number":132,"context_line":"would be libvirt-specific and telling which GPU type to use for a specific"},{"line_number":133,"context_line":"Resource Provider. That said, this would imply us to amend the YAML schema"},{"line_number":134,"context_line":"by allowing some extra random parameter to be available which would be"},{"line_number":135,"context_line":"libvirt-specific and would defeat the purpose of the Provider Configuration"},{"line_number":136,"context_line":"File to be as much generic as possible. It\u0027s also worth saying that a GPU type"},{"line_number":137,"context_line":"is *not* a trait, as it defines quantitative amount of virtual resources to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa7e38b_6d8fe221","line":134,"range":{"start_line":134,"start_character":0,"end_line":134,"end_character":11},"in_reply_to":"3fa7e38b_4dfc660b","updated":"2020-01-29 09:30:37.000000000","message":"Done","commit_id":"7cae268c6b4c4531004ab3b53d8b161be100314a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d696625650ae9ded1d9e213077592b9e10329566","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":".. note::"},{"line_number":101,"context_line":"   This proposal is very similar to the existing dynamic options we have"},{"line_number":102,"context_line":"   with `NUMA-aware vSwitches`_."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":".. _`NUMA-aware vSwitches`: https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/numa-aware-vswitches.html#configuration-options"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_7147b81f","line":102,"updated":"2020-01-27 13:58:29.000000000","message":"I see that we are creating a pattern here. I think Stephen implemented the dynamic options in NUMA-aware vSwitches and he is +2 on this spec so I guess he do feel this is a good pattern to copy. \n\nI agree that I don\u0027t want to have a passthrough_whitelist like complex option. \n\nNeutron has a bit different approach with multiple dependent but non dynamic params:\n\nbridge_mappings \u003d public:br-ex,physnet0:br-test\nresource_provider_bandwidths \u003d br-test:5000:5000\n\nI don\u0027t have a preference here, I rely on Stephen\u0027s vote that the dynamic option is a good approach","commit_id":"dee2ff3afd344cbab9689b95e79324f3bd69f152"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d696625650ae9ded1d9e213077592b9e10329566","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"As one single compute could now support multiple vGPU types, asking operators"},{"line_number":119,"context_line":"to provide host aggregates for grouping computes having the same vGPU type"},{"line_number":120,"context_line":"becomes irrelevant. Instead, we need to ask operators to amend their flavors"},{"line_number":121,"context_line":"for specific GPU capabilities if they care of such things, or Placement will"},{"line_number":122,"context_line":"just randomly pick one of the available vGPU types."},{"line_number":123,"context_line":"For this, we propose to standardize GPU capabilities that are unfortunately"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_1160c4a3","line":120,"range":{"start_line":120,"start_character":8,"end_line":120,"end_character":18},"updated":"2020-01-27 13:58:29.000000000","message":"even impossible if a host supports two types","commit_id":"dee2ff3afd344cbab9689b95e79324f3bd69f152"}]}
