Enable RDC topology feature

1.Add topology APIs
2.Add topology example for topology API usage

Change-Id: Ib79c06d0bac85119672f194ba685ebf25029979c
This commit is contained in:
stali authored and Li, Star committed 2024-12-16 10:02:41 +08:00
1 parent 2c61dfe2ce
commit 8bcb5f7068
19 file changed
+798 -7

No files matched your search

+7 -1
View File
@@ -32,6 +32,7 @@ THE SOFTWARE.
#include "rdc_lib/RdcModuleMgr.h"
#include "rdc_lib/RdcNotification.h"
#include "rdc_lib/RdcPolicy.h"
#include "rdc_lib/RdcTopologyLink.h"
#include "rdc_lib/RdcWatchTable.h"
namespace amd {
@@ -52,7 +53,8 @@ class RdcEmbeddedHandler final : public RdcHandler {
uint32_t* count) override;
rdc_status_t rdc_device_get_attributes(uint32_t gpu_index,
rdc_device_attributes_t* p_rdc_attr) override;
rdc_status_t rdc_device_get_component_version(rdc_component_t component, rdc_component_version_t* p_rdc_compv) override;
rdc_status_t rdc_device_get_component_version(rdc_component_t component,
rdc_component_version_t* p_rdc_compv) override;
// Group API
rdc_status_t rdc_group_gpu_create(rdc_group_type_t type, const char* group_name,
@@ -113,6 +115,9 @@ class RdcEmbeddedHandler final : public RdcHandler {
rdc_status_t rdc_health_get(rdc_gpu_group_t group_id, unsigned int* components) override;
rdc_status_t rdc_health_check(rdc_gpu_group_t group_id, rdc_health_response_t *response) override;
rdc_status_t rdc_health_clear(rdc_gpu_group_t group_id) override;
rdc_status_t rdc_device_topology_get(uint32_t gpu_index, rdc_device_topology_t* results) override;
rdc_status_t rdc_link_status_get(rdc_link_status_t* results) override;
explicit RdcEmbeddedHandler(rdc_operation_mode_t op_mode);
~RdcEmbeddedHandler() final;
@@ -128,6 +133,7 @@ class RdcEmbeddedHandler final : public RdcHandler {
RdcMetricsUpdaterPtr metrics_updater_;
RdcPolicyPtr policy_;
std::future<void> updater_;
RdcTopologyLinkPtr topologylink_;
};
} // namespace rdc