Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 98 additions & 7 deletions api/src/main/java/com/cloud/gpu/GPU.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,104 @@ public enum Keys {
}

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;
Expand Down
49 changes: 37 additions & 12 deletions ui/src/views/offering/AddComputeOffering.vue
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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,
Expand Down