RVS - Add memory bandwidth test

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


[ROCm/rdc commit: b058cbecf1]
This commit is contained in:
Galantsev, Dmitrii
2025-01-04 00:28:56 -06:00
committed by Galantsev, Dmitrii
szülő 321d3f1501
commit 9d32387925
7 fájl változott, egészen pontosan 21 új sor hozzáadva és 8 régi sor törölve
+1
Fájl megtekintése
@@ -519,6 +519,7 @@ typedef enum {
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_test_cases_t;
@@ -29,6 +29,8 @@ THE SOFTWARE.
#include "rdc/rdc.h"
#include "rvs/rvs.h"
static constexpr size_t MAX_CONFIG_LENGTH = 1024;
namespace amd {
namespace rdc {
+4 -2
Fájl megtekintése
@@ -504,7 +504,8 @@ message DiagnosticTestResult {
SYS_MEM_CHECK = 4;
NODE_TOPOLOGY = 5;
RVS_TEST = 6;
GPU_PARAMETERS = 7;
RVS_MEMBW_TEST = 7;
GPU_PARAMETERS = 8;
};
DiagnosticTestCase test_case = 3;
uint32 per_gpu_result_count = 4;
@@ -533,7 +534,8 @@ message DiagnosticTestCaseRunRequest {
SYS_MEM_CHECK = 4;
NODE_TOPOLOGY = 5;
RVS_TEST = 6;
GPU_PARAMETERS = 7;
RVS_MEMBW_TEST = 7;
GPU_PARAMETERS = 8;
};
TestCaseType test_case = 2;
string config = 3;
@@ -89,6 +89,7 @@ rdc_status_t RdcDiagnosticModule::rdc_diagnostic_run(const rdc_group_info_t& gpu
if (level >= RDC_DIAG_LVL_MED) { // Medium run and above
rdc_runs.push_back(RDC_DIAG_RVS_TEST);
rdc_runs.push_back(RDC_DIAG_RVS_MEMBW_TEST);
}
if (callback != nullptr && callback->callback != nullptr && callback->cookie != nullptr) {
@@ -27,6 +27,11 @@ THE SOFTWARE.
#include "rdc_lib/rdc_common.h"
#include "rdc_modules/rdc_rvs/RvsBase.h"
static const char babel_config[MAX_CONFIG_LENGTH] =
"{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}]}";
rdc_status_t rdc_diag_init(uint64_t) { return RDC_ST_OK; }
rdc_status_t rdc_diag_destroy() { return RDC_ST_OK; }
@@ -37,8 +42,9 @@ rdc_status_t rdc_diag_test_cases_query(rdc_diag_test_cases_t test_cases[MAX_TEST
return RDC_ST_BAD_PARAMETER;
}
*test_case_count = 1;
*test_case_count = 2;
test_cases[0] = RDC_DIAG_RVS_TEST;
test_cases[1] = RDC_DIAG_RVS_MEMBW_TEST;
return RDC_ST_OK;
}
@@ -53,10 +59,6 @@ rdc_status_t rdc_diag_test_case_run(rdc_diag_test_cases_t test_case,
return RDC_ST_BAD_PARAMETER;
}
if (test_case != RDC_DIAG_RVS_TEST) {
return RDC_ST_BAD_PARAMETER;
}
amd::rdc::RdcRVSBase rvs_base;
// init the return data
@@ -74,9 +76,14 @@ rdc_status_t rdc_diag_test_case_run(rdc_diag_test_cases_t test_case,
strncpy_with_null(result->info, "Finished running RDC_DIAG_RVS_TEST", MAX_DIAG_MSG_LENGTH);
rvs_status = rvs_base.run_rvs_app(config, config_size, callback);
break;
case RDC_DIAG_RVS_MEMBW_TEST:
strncpy_with_null(result->info, "Finished running RDC_DIAG_RVS_MEMBW_TEST", MAX_DIAG_MSG_LENGTH);
rvs_status = rvs_base.run_rvs_app(babel_config, MAX_CONFIG_LENGTH, callback);
break;
default:
result->status = RDC_DIAG_RESULT_SKIP;
strncpy_with_null(result->info, "Not supported yet", MAX_DIAG_MSG_LENGTH);
return RDC_ST_BAD_PARAMETER;
}
if (rvs_status != RVS_STATUS_SUCCESS) {
@@ -31,7 +31,6 @@ THE SOFTWARE.
// TODO: Make generic test
// TODO: Allow for user to override defaults with a custom string
static constexpr size_t MAX_CONFIG_LENGTH = 1024;
amd::rdc::RdcRVSBase* amd::rdc::RdcRVSBase::s_instance = nullptr;
@@ -137,6 +137,7 @@ std::string RdciDiagSubSystem::get_test_name(rdc_diag_test_cases_t test_case) co
{RDC_DIAG_SYS_MEM_CHECK, "System memory check"},
{RDC_DIAG_NODE_TOPOLOGY, "Node topology check"},
{RDC_DIAG_RVS_TEST, "Pre-defined config RVS check"},
{RDC_DIAG_RVS_MEMBW_TEST, "Pre-defined memory bandwidth RVS check"},
{RDC_DIAG_GPU_PARAMETERS, "GPU parameters check"},
{RDC_DIAG_TEST_LAST, "Unknown"}};