fix: temporarily adapt to Ascend310P computational tasks

Signed-off-by: Nimbus318 <136771156+Nimbus318@users.noreply.github.com>
main
Nimbus318 7 months ago
parent 20721e849a
commit 3a68c021b7

@ -4,6 +4,7 @@ import "vgpu/internal/provider/util"
const ( const (
AscendDevice = "Ascend" AscendDevice = "Ascend"
Ascend310PDevice = "Ascend310P"
AscendDeviceSelection = "huawei.com/predicate-ascend-idx-" AscendDeviceSelection = "huawei.com/predicate-ascend-idx-"
// IluvatarUseUUID is user can use specify Iluvatar device for set Iluvatar UUID. // IluvatarUseUUID is user can use specify Iluvatar device for set Iluvatar UUID.
AscendDeviceUseUUID = "huawei.com/use-ascenduuid" AscendDeviceUseUUID = "huawei.com/use-ascenduuid"
@ -24,6 +25,6 @@ func init() {
AscendNodeRegisterAnnos = []string{Ascend910BNodeRegisterAnno, Ascend310PNodeRegisterAnno} AscendNodeRegisterAnnos = []string{Ascend910BNodeRegisterAnno, Ascend310PNodeRegisterAnno}
util.InRequestDevices[AscendDevice] = "hami.io/Ascend910B-devices-to-allocate" util.InRequestDevices[AscendDevice] = "hami.io/Ascend910B-devices-to-allocate"
util.SupportDevices[AscendDevice] = "hami.io/Ascend910B-devices-allocated" util.SupportDevices[AscendDevice] = "hami.io/Ascend910B-devices-allocated"
util.InRequestDevices["Ascend310P"] = "hami.io/Ascend310P-devices-to-allocate" util.InRequestDevices[Ascend310PDevice] = "hami.io/Ascend310P-devices-to-allocate"
util.SupportDevices["Ascend310P"] = "hami.io/Ascend310P-devices-allocated" util.SupportDevices[Ascend310PDevice] = "hami.io/Ascend310P-devices-allocated"
} }

@ -19,6 +19,7 @@ const (
NvidiaGPUDevice = "NVIDIA" NvidiaGPUDevice = "NVIDIA"
AscendGPUDevice = "Ascend" AscendGPUDevice = "Ascend"
Ascend310PGPUDevice = "Ascend310P"
HygonGPUDevice = "DCU" HygonGPUDevice = "DCU"
CambriconGPUDevice = "MLU" CambriconGPUDevice = "MLU"
@ -27,14 +28,31 @@ const (
NVIDIAPriority = "nvidia.com/priority" NVIDIAPriority = "nvidia.com/priority"
) )
type ascendDeviceConfig struct {
Usedmem int32
Usedcores int32
}
var ( var (
InRequestDevices map[string]string InRequestDevices map[string]string
SupportDevices map[string]string SupportDevices map[string]string
ascendDeviceConfigs map[string]map[int32]ascendDeviceConfig
) )
func init() { func init() {
InRequestDevices = make(map[string]string) InRequestDevices = make(map[string]string)
SupportDevices = make(map[string]string) SupportDevices = make(map[string]string)
ascendDeviceConfigs = map[string]map[int32]ascendDeviceConfig{
"Ascend910B": {
16384: {Usedmem: 16384, Usedcores: 25},
32768: {Usedmem: 32768, Usedcores: 50},
},
"Ascend310P": {
3072: {Usedmem: 3072, Usedcores: 13},
6144: {Usedmem: 6144, Usedcores: 25},
12288: {Usedmem: 12288, Usedcores: 50},
},
}
initMLUDevice() initMLUDevice()
} }
@ -186,11 +204,13 @@ func DecodeNpuContainerDevices(str string) (ContainerDevices, error) {
devmem, _ := strconv.ParseInt(tmpstr[2], 10, 32) devmem, _ := strconv.ParseInt(tmpstr[2], 10, 32)
tmpdev.Usedmem = int32(devmem) tmpdev.Usedmem = int32(devmem)
tmpdev.Usedcores = 100 tmpdev.Usedcores = 100
if tmpdev.Usedmem == 16384 {
tmpdev.Usedcores = 25 if configs, exists := ascendDeviceConfigs[tmpdev.Type]; exists {
} else if tmpdev.Usedmem == 32768 { if config, ok := configs[tmpdev.Usedmem]; ok {
tmpdev.Usedcores = 50 tmpdev.Usedcores = config.Usedcores
}
} }
contdev = append(contdev, tmpdev) contdev = append(contdev, tmpdev)
} }
} }
@ -262,7 +282,7 @@ func DecodePodDevices(pod *corev1.Pod, log *log.Helper) (PodDevices, error) {
} }
pd[devType] = make(PodSingleDevice, 0) pd[devType] = make(PodSingleDevice, 0)
switch devType { switch devType {
case AscendGPUDevice: case AscendGPUDevice, Ascend310PGPUDevice:
for _, s := range strings.Split(str, OnePodMultiContainerSplitSymbol) { for _, s := range strings.Split(str, OnePodMultiContainerSplitSymbol) {
cd, err := DecodeNpuContainerDevices(s) cd, err := DecodeNpuContainerDevices(s)
if err != nil { if err != nil {

Loading…
Cancel
Save