This is an automated email from the ASF dual-hosted git repository.

dahn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new a3565fc8dbb Update GPU support for V100,T4,A5500. (#6639)
a3565fc8dbb is described below

commit a3565fc8dbb3301f43c4191271238619ecd80461
Author: Pierre-Luc Dion <[email protected]>
AuthorDate: Thu Nov 2 05:46:10 2023 -0400

    Update GPU support for V100,T4,A5500. (#6639)
---
 api/src/main/java/com/cloud/gpu/GPU.java     | 105 +++++++++++++++++++++++++--
 ui/src/views/offering/AddComputeOffering.vue |  49 ++++++++++---
 2 files changed, 135 insertions(+), 19 deletions(-)

diff --git a/api/src/main/java/com/cloud/gpu/GPU.java 
b/api/src/main/java/com/cloud/gpu/GPU.java
index 8aa54c0c0f8..64ff24a8279 100644
--- a/api/src/main/java/com/cloud/gpu/GPU.java
+++ b/api/src/main/java/com/cloud/gpu/GPU.java
@@ -25,13 +25,104 @@ public class GPU {
     }
 
     public enum GPUType {
-        GRID_K100("GRID K100"),
-        GRID_K120Q("GRID K120Q"),
-        GRID_K140Q("GRID K140Q"),
-        GRID_K200("GRID K200"),
-        GRID_K220Q("GRID K220Q"),
-        GRID_K240Q("GRID K240Q"),
-        GRID_K260("GRID K260Q"),
+        GRID_V100D_32A("GRID V100D-32A"),
+        GRID_V100D_8Q("GRID V100D-8Q"),
+        GRID_V100D_4A("GRID V100D-4A"),
+        GRID_V100D_1B("GRID V100D-1B"),
+        GRID_V100D_2Q("GRID V100D-2Q"),
+        GRID_V100D_4Q("GRID V100D-4Q"),
+        GRID_V100D_2A("GRID V100D-2A"),
+        GRID_V100D_2B("GRID V100D-2B"),
+        GRID_V100D_32Q("GRID V100D-32Q"),
+        GRID_V100D_16A("GRID V100D-16A"),
+        GRID_V100D_1Q("GRID V100D-1Q"),
+        GRID_V100D_2B4("GRID V100D-2B4"),
+        GRID_V100D_16Q("GRID V100D-16Q"),
+        GRID_V100D_8A("GRID V100D-8A"),
+        GRID_V100D_1A("GRID V100D-1A"),
+        GRID_T4_16A("GRID T4-16A"),
+        GRID_T4_2B4("GRID T4-2B4"),
+        GRID_T4_4Q("GRID T4-4Q"),
+        GRID_T4_16Q("GRID T4-16Q"),
+        GRID_T4_4A("GRID T4-4A"),
+        GRID_T4_1A("GRID T4-1A"),
+        GRID_T4_2Q("GRID T4-2Q"),
+        GRID_T4_2B("GRID T4-2B"),
+        GRID_T4_8Q("GRID T4-8Q"),
+        GRID_T4_2A("GRID T4-2A"),
+        GRID_T4_1B("GRID T4-1B"),
+        GRID_T4_1Q("GRID T4-1Q"),
+        GRID_T4_8A("GRID T4-8A"),
+        NVIDIA_RTX5500_1A("NVIDIA RTXA5500-1A"),
+        NVIDIA_RTX5500_1B("NVIDIA RTXA5500-1B"),
+        NVIDIA_RTX5500_1Q("NVIDIA RTXA5500-1Q"),
+        NVIDIA_RTX5500_2A("NVIDIA RTXA5500-2A"),
+        NVIDIA_RTX5500_2B("NVIDIA RTXA5500-2B"),
+        NVIDIA_RTX5500_2Q("NVIDIA RTXA5500-2Q"),
+        NVIDIA_RTX5500_3A("NVIDIA RTXA5500-3A"),
+        NVIDIA_RTX5500_3Q("NVIDIA RTXA5500-3Q"),
+        NVIDIA_RTX5500_4A("NVIDIA RTXA5500-4A"),
+        NVIDIA_RTX5500_4Q("NVIDIA RTXA5500-4Q"),
+        NVIDIA_RTX5500_6A("NVIDIA RTXA5500-6A"),
+        NVIDIA_RTX5500_6Q("NVIDIA RTXA5500-6Q"),
+        NVIDIA_RTX5500_8A("NVIDIA RTXA5500-8A"),
+        NVIDIA_RTX5500_8Q("NVIDIA RTXA5500-8Q"),
+        NVIDIA_RTX5500_12A("NVIDIA RTXA5500-12A"),
+        NVIDIA_RTX5500_12Q("NVIDIA RTXA5500-12Q"),
+        NVIDIA_RTX5500_24A("NVIDIA RTXA5500-24A"),
+        NVIDIA_RTX5500_24Q("NVIDIA RTXA5500-24Q"),
+        NVIDIA_A40_1A("NVIDIA A40-1A"),
+        NVIDIA_A40_1B("NVIDIA A40-1B"),
+        NVIDIA_A40_1Q("NVIDIA A40-1Q"),
+        NVIDIA_A40_2A("NVIDIA A40-2A"),
+        NVIDIA_A40_2B("NVIDIA A40-2B"),
+        NVIDIA_A40_2Q("NVIDIA A40-2Q"),
+        NVIDIA_A40_3A("NVIDIA A40-3A"),
+        NVIDIA_A40_3Q("NVIDIA A40-3Q"),
+        NVIDIA_A40_4A("NVIDIA A40-4A"),
+        NVIDIA_A40_4Q("NVIDIA A40-4Q"),
+        NVIDIA_A40_6A("NVIDIA A40-6A"),
+        NVIDIA_A40_6Q("NVIDIA A40-6Q"),
+        NVIDIA_A40_8A("NVIDIA A40-8A"),
+        NVIDIA_A40_8Q("NVIDIA A40-8Q"),
+        NVIDIA_A40_12A("NVIDIA A40-12A"),
+        NVIDIA_A40_12Q("NVIDIA A40-12Q"),
+        NVIDIA_A40_16A("NVIDIA A40-16A"),
+        NVIDIA_A40_16Q("NVIDIA A40-16Q"),
+        NVIDIA_A40_24A("NVIDIA A40-24A"),
+        NVIDIA_A40_24Q("NVIDIA A40-24Q"),
+        NVIDIA_A40_48A("NVIDIA A40-48A"),
+        NVIDIA_A40_48Q("NVIDIA A40-48Q"),
+        NVIDIA_A2_1A("NVIDIA A2-1A"),
+        NVIDIA_A2_1B("NVIDIA A2-1B"),
+        NVIDIA_A2_1Q("NVIDIA A2-1Q"),
+        NVIDIA_A2_2A("NVIDIA A2-2A"),
+        NVIDIA_A2_2B("NVIDIA A2-2B"),
+        NVIDIA_A2_2Q("NVIDIA A2-2Q"),
+        NVIDIA_A2_4A("NVIDIA A2-4A"),
+        NVIDIA_A2_4Q("NVIDIA A2-4Q"),
+        NVIDIA_A2_8A("NVIDIA A2-8A"),
+        NVIDIA_A2_8Q("NVIDIA A2-8Q"),
+        NVIDIA_A2_16A("NVIDIA A2-16A"),
+        NVIDIA_A2_16Q("NVIDIA A2-16Q"),
+        NVIDIA_A10_1A("NVIDIA A10-1A"),
+        NVIDIA_A10_1B("NVIDIA A10-1B"),
+        NVIDIA_A10_1Q("NVIDIA A10-1Q"),
+        NVIDIA_A10_2A("NVIDIA A10-2A"),
+        NVIDIA_A10_2B("NVIDIA A10-2B"),
+        NVIDIA_A10_2Q("NVIDIA A10-2Q"),
+        NVIDIA_A10_3A("NVIDIA A10-3A"),
+        NVIDIA_A10_3Q("NVIDIA A10-3Q"),
+        NVIDIA_A10_4A("NVIDIA A10-4A"),
+        NVIDIA_A10_4Q("NVIDIA A10-4Q"),
+        NVIDIA_A10_6A("NVIDIA A10-6A"),
+        NVIDIA_A10_6Q("NVIDIA A10-6Q"),
+        NVIDIA_A10_8A("NVIDIA A10-8A"),
+        NVIDIA_A10_8Q("NVIDIA A10-8Q"),
+        NVIDIA_A10_12A("NVIDIA A10-12A"),
+        NVIDIA_A10_12Q("NVIDIA A10-12Q"),
+        NVIDIA_A10_24A("NVIDIA A10-24A"),
+        NVIDIA_A10_24Q("NVIDIA A10-24Q"),
         passthrough("passthrough");
 
         private String type;
diff --git a/ui/src/views/offering/AddComputeOffering.vue 
b/ui/src/views/offering/AddComputeOffering.vue
index 5cd68c5d216..80d200f1f25 100644
--- a/ui/src/views/offering/AddComputeOffering.vue
+++ b/ui/src/views/offering/AddComputeOffering.vue
@@ -244,14 +244,19 @@
           </a-radio-group>
         </a-form-item>
         <a-form-item name="pcidevice" ref="pcidevice" :label="$t('label.gpu')" 
v-if="!isSystem">
-          <a-radio-group
+          <a-select
             v-model:value="form.pcidevice"
-            buttonStyle="solid"
-            @change="selected => { handleGpuChange(selected.target.value) }">
-            <a-radio-button v-for="(opt, optIndex) in gpuTypes" 
:key="optIndex" :value="opt.value">
+            showSearch
+            optionFilterProp="label"
+            :filterOption="(input, option) => {
+              return 
option.children[0].children.toLowerCase().indexOf(input.toLowerCase()) >= 0
+            }"
+            :placeholder="$t('label.gpu')"
+            @change="handleGpuChange">
+            <a-select-option v-for="(opt, optIndex) in gpuTypes" 
:key="optIndex" :value="opt.value">
               {{ opt.title }}
-            </a-radio-button>
-          </a-radio-group>
+            </a-select-option>
+          </a-select>
         </a-form-item>
         <a-form-item name="vgputype" ref="vgputype" 
:label="$t('label.vgputype')" v-if="vGpuVisible">
           <a-select
@@ -643,14 +648,34 @@ export default {
           vgpu: []
         },
         {
-          value: 'Group of NVIDIA Corporation GK107GL [GRID K1] GPUs',
-          title: 'NVIDIA GRID K1',
-          vgpu: ['', 'passthrough', 'GRID K100', 'GRID K120Q', 'GRID K140Q', 
'GRID K160Q', 'GRID K180Q']
+          value: 'Group of NVIDIA Corporation GV100GL [TESLA V100] GPUs',
+          title: 'NVIDIA TESLA V100',
+          vgpu: ['', 'passthrough', 'GRID V100D-1A', 'GRID V100D-1B', 'GRID 
V100D-1Q', 'GRID V100D-2A', 'GRID V100D-2B', 'GRID V100D-2B4', 'GRID V100D-2Q', 
'GRID V100D-4A', 'GRID V100D-4Q', 'GRID V100D-8A', 'GRID V100D-8Q', 'GRID 
V100D-16A', 'GRID V100D-16Q', 'GRID V100D-32A', 'GRID V100D-32Q']
+        },
+        {
+          value: 'Group of Nvidia Corporation TU104GL [Tesla T4] GPUs',
+          title: 'NVIDIA TESLA T4',
+          vgpu: ['', 'passthrough', 'GRID T4-1A', 'GRID T4-1B', 'GRID T4-1Q', 
'GRID T4-2A', 'GRID T4-2B', 'GRID T4-2B4', 'GRID T4-2Q', 'GRID T4-4A', 'GRID 
T4-4Q', 'GRID T4-8A', 'GRID T4-8Q', 'GRID T4-16A', 'GRID T4-16Q']
+        },
+        {
+          value: 'Group of Nvidia Corporation GA102 [RTX A5500] GPUs',
+          title: 'NVIDIA RTX A5500',
+          vgpu: ['', 'passthrough', 'NVIDIA RTXA5500-1A', 'NVIDIA 
RTXA5500-1B', 'NVIDIA RTXA5500-1Q', 'NVIDIA RTXA5500-2A', 'NVIDIA RTXA5500-2B', 
'NVIDIA RTXA5500-2Q', 'NVIDIA RTXA5500-3A', 'NVIDIA RTXA5500-3Q', 'NVIDIA 
RTXA5500-4A', 'NVIDIA RTXA5500-4Q', 'NVIDIA RTXA5500-6A', 'NVIDIA RTXA5500-6Q', 
'NVIDIA RTXA5500-8A', 'NVIDIA RTXA5500-8Q', 'NVIDIA RTXA5500-12A', 'NVIDIA 
RTXA5500-12Q', 'NVIDIA RTXA5500-24A', 'NVIDIA RTXA5500-24Q']
+        },
+        {
+          value: 'Group of NVIDIA Corporation GA102GL [A40] GPUs',
+          title: 'NVIDIA RTX A40',
+          vgpu: ['', 'passthrough', 'NVIDIA A40-1A', 'NVIDIA A40-1B', 'NVIDIA 
A40-1Q', 'NVIDIA A40-2A', 'NVIDIA A40-2B', 'NVIDIA A40-2Q', 'NVIDIA A40-3A', 
'NVIDIA A40-3Q', 'NVIDIA A40-4A', 'NVIDIA A40-4Q', 'NVIDIA A40-6A', 'NVIDIA 
A40-6Q', 'NVIDIA A40-8A', 'NVIDIA A40-8Q', 'NVIDIA A40-12A', 'NVIDIA A40-12Q', 
'NVIDIA A40-16A', 'NVIDIA A40-16Q', 'NVIDIA A40-24A', 'NVIDIA A40-24Q', 'NVIDIA 
A40-48A', 'NVIDIA A40-48Q']
+        },
+        {
+          value: 'Group of NVIDIA Corporation GA107 [NVIDIA A16/NVIDIA A2] 
GPUs',
+          title: 'NVIDIA RTX A2',
+          vgpu: ['', 'passthrough', 'NVIDIA A2-1A', 'NVIDIA A2-1B', 'NVIDIA 
A2-1Q', 'NVIDIA A2-2A', 'NVIDIA A2-2B', 'NVIDIA A2-2Q', 'NVIDIA A2-4A', 'NVIDIA 
A2-4Q', 'NVIDIA A2-8A', 'NVIDIA A2-8Q', 'NVIDIA A2-16A', 'NVIDIA A2-16Q']
         },
         {
-          value: 'Group of NVIDIA Corporation GK104GL [GRID K2] GPUs',
-          title: 'NVIDIA GRID K2',
-          vgpu: ['', 'passthrough', 'GRID K200', 'GRID K220Q', 'GRID K240Q', 
'GRID K260Q', 'GRID K280Q']
+          value: 'Group of NVIDIA Corporation GA102GL [A10] GPUs',
+          title: 'NVIDIA RTX A10',
+          vgpu: ['', 'passthrough', 'NVIDIA A10-1A', 'NVIDIA A10-1B', 'NVIDIA 
A10-1Q', 'NVIDIA A10-2A', 'NVIDIA A10-2B', 'NVIDIA A10-2Q', 'NVIDIA A10-3A', 
'NVIDIA A10-3Q', 'NVIDIA A10-4A', 'NVIDIA A10-4Q', 'NVIDIA A10-6A', 'NVIDIA 
A10-6Q', 'NVIDIA A10-8A', 'NVIDIA A10-8Q', 'NVIDIA A10-12A', 'NVIDIA A10-12Q', 
'NVIDIA A10-24A', 'NVIDIA A10-24Q']
         }
       ],
       vGpuVisible: false,

Reply via email to