Implement CPU discovery support (#77)

* Implement CPU discovery support

SWDEV-482949:

enable the CPU model name info support to the RDC, rdci command
can detect GPU and CPU modules at the same time.
It will query the CPU info through the amdsmi interface like below:

1 GPUs found.
-----------------------------------------------------------------
GPU Index        Device Information
0               AMD Radeon PRO W7800
=================================================================
1 CPUs found.
-----------------------------------------------------------------
CPU Index        Device Information
0               AMD Ryzen Threadripper PRO 7995WX 96-Cores
-----------------------------------------------------------------

Change-Id: Ibc6533c9a61000cd86c45b1bae14c3eb6788c119
Signed-off-by: Perry Yuan <perry.yuan@amd.com>

* CMAKE - Add required version for amdsmi

Change-Id: I341a89351d196ec66cce215a5d1d3953302fcc66
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>

---------

Signed-off-by: Perry Yuan <perry.yuan@amd.com>
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Co-authored-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
This commit is contained in:
Yuan, Perry
2025-03-31 10:58:36 +08:00
committed by GitHub
parent 80ee980cdb
commit 3bdca8b8b6
16 changed files with 365 additions and 5 deletions
+21
View File
@@ -53,9 +53,16 @@ service RdcAPI {
// Discovery API
// rdc_status_t rdc_get_all_devices(uint32_t gpu_index_list[RDC_MAX_NUM_DEVICES], uint32_t* count)
rpc GetAllDevices(Empty) returns (GetAllDevicesResponse) {}
// rdc_status_t rdc_get_all_devices(uint32_t gpu_index_list[RDC_MAX_NUM_DEVICES], uint32_t* count)
rpc GetAllCpuDevices(Empty) returns (GetAllCpuDevicesResponse) {}
// rdc_status_t rdc_get_device_attributes(uint32_t gpu_index, rdc_device_attributes_t* p_rdc_attr)
rpc GetDeviceAttributes(GetDeviceAttributesRequest) returns (GetDeviceAttributesResponse) {}
// rdc_status_t rdc_get_device_attributes(uint32_t gpu_index, rdc_device_attributes_t* p_rdc_attr)
rpc GetDeviceCpuAttributes(GetCpuDeviceAttributesRequest) returns (GetCpuDeviceAttributesResponse) {}
//rdc_status_t rdc_device_get_component_version(rdc_component_t component, rdc_component_version_t* p_rdc_compv);
rpc GetComponentVersion(GetComponentVersionRequest) returns (GetComponentVersionResponse) {}
@@ -240,6 +247,15 @@ message GetDeviceAttributesRequest {
uint32 gpu_index = 1;
}
message GetAllCpuDevicesResponse {
uint32 status = 1;
repeated uint32 cpus = 2;
}
message GetCpuDeviceAttributesRequest {
uint32 cpu_index = 1;
}
message DeviceAttributes {
string device_name = 1;
}
@@ -249,6 +265,11 @@ message GetDeviceAttributesResponse {
DeviceAttributes attributes = 2;
}
message GetCpuDeviceAttributesResponse {
uint32 status = 1;
DeviceAttributes attributes = 2;
}
message GetComponentVersionRequest {
uint32 component_index = 1;
}