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:
committed by
Galantsev, Dmitrii
szülő
321d3f1501
commit
9d32387925
@@ -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 {
|
||||
|
||||
|
||||
@@ -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"}};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user