From 3bac203d8a87518aa81ac22619c8ab6f9c57e6ba Mon Sep 17 00:00:00 2001 From: r2k1 Date: Tue, 4 Feb 2025 11:51:48 +1300 Subject: [PATCH] add EnableAMDGPU config --- .../pkg/gen/aksnodeconfig/v1/gpu_config.pb.go | 31 +++++++++++++------ .../proto/aksnodeconfig/v1/gpu_config.proto | 3 ++ pkg/agent/datamodel/types.go | 1 + 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go b/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go index 01e8c4d04fe..d86efa5560a 100644 --- a/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go +++ b/aks-node-controller/pkg/gen/aksnodeconfig/v1/gpu_config.pb.go @@ -34,6 +34,8 @@ type GpuConfig struct { GpuDevicePlugin bool `protobuf:"varint,3,opt,name=gpu_device_plugin,json=gpuDevicePlugin,proto3" json:"gpu_device_plugin,omitempty"` // Represents the GPU instance profile. GpuInstanceProfile string `protobuf:"bytes,4,opt,name=gpu_instance_profile,json=gpuInstanceProfile,proto3" json:"gpu_instance_profile,omitempty"` + // Same as enable_nvidia, but for AMD GPUs. + EnableAmdGpu *bool `protobuf:"varint,5,opt,name=enable_amd_gpu,json=enableAmdGpu,proto3,oneof" json:"enable_amd_gpu,omitempty"` } func (x *GpuConfig) Reset() { @@ -94,13 +96,20 @@ func (x *GpuConfig) GetGpuInstanceProfile() string { return "" } +func (x *GpuConfig) GetEnableAmdGpu() bool { + if x != nil && x.EnableAmdGpu != nil { + return *x.EnableAmdGpu + } + return false +} + var File_aksnodeconfig_v1_gpu_config_proto protoreflect.FileDescriptor var file_aksnodeconfig_v1_gpu_config_proto_rawDesc = []byte{ 0x0a, 0x21, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x76, 0x31, 0x22, 0xd1, 0x01, 0x0a, 0x09, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x6e, + 0x69, 0x67, 0x2e, 0x76, 0x31, 0x22, 0x8f, 0x02, 0x0a, 0x09, 0x47, 0x70, 0x75, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, @@ -112,14 +121,18 @@ var file_aksnodeconfig_v1_gpu_config_proto_rawDesc = []byte{ 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x67, 0x70, 0x75, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x67, 0x70, 0x75, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x6e, 0x76, 0x69, 0x64, 0x69, 0x61, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, - 0x65, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, - 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x61, 0x6d, 0x64, 0x5f, 0x67, 0x70, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x01, 0x52, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6d, 0x64, 0x47, 0x70, 0x75, 0x88, + 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x76, + 0x69, 0x64, 0x69, 0x61, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x61, 0x6d, 0x64, 0x5f, 0x67, 0x70, 0x75, 0x42, 0x5a, 0x5a, 0x58, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x2f, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x62, 0x61, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x6b, 0x73, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2d, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6b, 0x73, 0x6e, 0x6f, 0x64, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto b/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto index cf49e82c5c1..1d645eef7dc 100644 --- a/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto +++ b/aks-node-controller/proto/aksnodeconfig/v1/gpu_config.proto @@ -16,4 +16,7 @@ message GpuConfig { // Represents the GPU instance profile. string gpu_instance_profile = 4; + + // Same as enable_nvidia, but for AMD GPUs. + optional bool enable_amd_gpu = 5; } diff --git a/pkg/agent/datamodel/types.go b/pkg/agent/datamodel/types.go index 9a7de601a67..53661ebb4ab 100644 --- a/pkg/agent/datamodel/types.go +++ b/pkg/agent/datamodel/types.go @@ -1721,6 +1721,7 @@ type NodeBootstrappingConfiguration struct { EnableGPUDevicePluginIfNeeded bool EnableKubeletConfigFile bool EnableNvidia bool + EnableAMDGPU bool EnableACRTeleportPlugin bool TeleportdPluginURL string EnableArtifactStreaming bool