RVS - Add IET and PEBB tests

Change-Id: Ia032901d74c882e5cbfa5a3164199cd4d571341f
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Este commit está contenido en:
Galantsev, Dmitrii
2025-01-06 18:14:44 -06:00
cometido por Galantsev, Dmitrii
padre b058cbecf1
commit 5861ec7663
Se han modificado 7 ficheros con 92 adiciones y 52 borrados
+19 -17
Ver fichero
@@ -187,12 +187,12 @@ typedef enum {
/**
* @brief GPU usage related fields
*/
RDC_FI_GPU_UTIL = 500, //!< GPU Utilization
RDC_FI_GPU_MEMORY_USAGE, //!< Memory usage of the GPU instance
RDC_FI_GPU_MEMORY_TOTAL, //!< Total memory of the GPU instance
RDC_FI_GPU_MM_ENC_UTIL, //!< Multimedia encoder busy percentage
RDC_FI_GPU_MM_DEC_UTIL, //!< Multimedia decoder busy percentage
RDC_FI_GPU_MEMORY_ACTIVITY, //!< Memory busy percentage
RDC_FI_GPU_UTIL = 500, //!< GPU Utilization
RDC_FI_GPU_MEMORY_USAGE, //!< Memory usage of the GPU instance
RDC_FI_GPU_MEMORY_TOTAL, //!< Total memory of the GPU instance
RDC_FI_GPU_MM_ENC_UTIL, //!< Multimedia encoder busy percentage
RDC_FI_GPU_MM_DEC_UTIL, //!< Multimedia decoder busy percentage
RDC_FI_GPU_MEMORY_ACTIVITY, //!< Memory busy percentage
RDC_FI_GPU_MEMORY_MAX_BANDWIDTH, //<! The Memory max bandwidth at current memory clock in Mb/Second
RDC_FI_GPU_MEMORY_CUR_BANDWIDTH, //<! The Memory current bandwidth in Mb/Second
@@ -515,13 +515,15 @@ typedef enum {
RDC_DIAG_TEST_FIRST = 0,
//!< The diagnostic test pass
RDC_DIAG_COMPUTE_PROCESS = RDC_DIAG_TEST_FIRST,
RDC_DIAG_COMPUTE_QUEUE, //!< The Compute Queue is ready
RDC_DIAG_SYS_MEM_CHECK, //!< Check System memory
RDC_DIAG_NODE_TOPOLOGY, //!< Report node topology
RDC_DIAG_RVS_TEST, //!< TODO: Replace with real RVS tests
RDC_DIAG_RVS_MEMBW_TEST, //!< RVS memory bandwidth test
RDC_DIAG_GPU_PARAMETERS, //!< GPU parameters in range
RDC_DIAG_TEST_LAST = RDC_DIAG_GPU_PARAMETERS
RDC_DIAG_COMPUTE_QUEUE, //!< The Compute Queue is ready
RDC_DIAG_SYS_MEM_CHECK, //!< Check System memory
RDC_DIAG_NODE_TOPOLOGY, //!< Report node topology
RDC_DIAG_GPU_PARAMETERS, //!< GPU parameters in range
RDC_DIAG_RVS_GST_TEST, //!< RVS GST test
RDC_DIAG_RVS_MEMBW_TEST, //!< RVS bandwidth test
RDC_DIAG_RVS_H2DD2H_TEST, //!< RVS Host<->Device transfer speed test
RDC_DIAG_RVS_IET_TEST, //!< RVS IET test
RDC_DIAG_TEST_LAST = RDC_DIAG_RVS_IET_TEST
} rdc_diag_test_cases_t;
/**
@@ -661,13 +663,13 @@ typedef enum {
typedef struct {
uint32_t gpu_index;
uint32_t num_of_links; // The size of the array link_states
rdc_topology_link_type_t link_types; // XGMI, PCIe, and so on
uint32_t num_of_links; // The size of the array link_states
rdc_topology_link_type_t link_types; // XGMI, PCIe, and so on
rdc_link_state_t link_states[RDC_MAX_NUM_OF_LINKS];
} rdc_gpu_link_status_t;
typedef struct {
int32_t num_of_gpus; // The size of gpus array
int32_t num_of_gpus; // The size of gpus array
rdc_gpu_link_status_t gpus[RDC_MAX_NUM_DEVICES];
} rdc_link_status_t;
@@ -1522,7 +1524,7 @@ rdc_status_t rdc_health_check(rdc_handle_t p_rdc_handle, rdc_gpu_group_t group_i
*/
rdc_status_t rdc_health_clear(rdc_handle_t p_rdc_handle, rdc_gpu_group_t group_id);
/**
/**
* @brief Get the topology of the device
*
* @details topology of the device
+35
Ver fichero
@@ -24,12 +24,47 @@ THE SOFTWARE.
#include <cstddef>
#include <cstdio>
#include <map>
#include <string>
#include "rdc/rdc.h"
#include "rvs/rvs.h"
static constexpr size_t MAX_CONFIG_LENGTH = 1024;
// NOTE: There MUST be a space after :
static const std::map<rdc_diag_test_cases_t, std::string> test_to_conf = {
// derived from conf/gst_single.conf
{RDC_DIAG_RVS_GST_TEST,
"{actions: [{name: gpustress-9000-sgemm-false, device: all, "
"device_index: '0', module: gst, parallel: false, count: 1, duration: "
"10000, copy_matrix: false, target_stress: 9000, matrix_size_a: 8640, "
"matrix_size_b: 8640, matrix_size_c: 8640, ops_type: sgemm, lda: 8640, "
"ldb: 8640, ldc: 8640}]}"},
// derived from conf/MI300X/babel.conf
{RDC_DIAG_RVS_MEMBW_TEST,
"{actions: [{name: babel-float-256MiB,"
"device: all, module: babel, "
"parallel: false, count: 1, num_iter: 5000, array_size: 268435456, "
"test_type: 1, mibibytes: true, o/p_csv: false, subtest: 5}]}"},
// derived from conf/MI300X/pebb_single.conf
{RDC_DIAG_RVS_H2DD2H_TEST,
"{actions: [{name: h2d-d2h-sequential-64MB,"
"device: all, module: pebb, duration: 120000, device_to_host: true, "
"host_to_device: true, parallel: false, block_size: 67108864, "
"link_type: 2, warm_calls: 10, hot_calls: 100, b2b: true}]}"},
// derived from conf/MI300X/iet_single.conf
{RDC_DIAG_RVS_IET_TEST,
"{actions: [{name: iet-400W-1K-rand-dgemm,"
"device: all, module: iet, parallel: true, duration: 60000, "
"sample_interval: 3000, target_power: 400, matrix_size: 1024, "
"matrix_init: rand, ops_type: dgemm}]}"},
};
static const std::map<rdc_diag_test_cases_t, std::string> test_to_name = {
{RDC_DIAG_RVS_GST_TEST, "RVS_GST_TEST"},
{RDC_DIAG_RVS_MEMBW_TEST, "RVS_MEMBW_TEST"},
{RDC_DIAG_RVS_H2DD2H_TEST, "RVS_H2DD2H_TEST"},
{RDC_DIAG_RVS_IET_TEST, "RVS_IET_TEST"},
};
namespace amd {
namespace rdc {