RVS - Add long-running tests
Change-Id: Iddeb7f2d4fdcd69d7ac1ae94b2fa128ee3011b1a
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
[ROCm/rdc commit: bdb2367010]
Этот коммит содержится в:
коммит произвёл
Galantsev, Dmitrii
родитель
3273e2993b
Коммит
e80760c890
@@ -572,15 +572,19 @@ 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_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_RVS_CUSTOM, //!< RVS custom test
|
||||
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_RVS_GST_LONG_TEST, //!< RVS GST test
|
||||
RDC_DIAG_RVS_MEMBW_LONG_TEST, //!< RVS bandwidth test
|
||||
RDC_DIAG_RVS_H2DD2H_LONG_TEST, //!< RVS Host<->Device transfer speed test
|
||||
RDC_DIAG_RVS_IET_LONG_TEST, //!< RVS IET test
|
||||
RDC_DIAG_RVS_CUSTOM, //!< RVS custom test
|
||||
RDC_DIAG_TEST_LAST,
|
||||
} rdc_diag_test_cases_t;
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ THE SOFTWARE.
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdio>
|
||||
#include <filesystem>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -56,8 +55,14 @@ static const std::map<uint64_t, std::string> gfx_to_rvs_conf = {
|
||||
{0x1103, "nv31"}, // ?
|
||||
};
|
||||
static const std::map<rdc_diag_test_cases_t, std::string> test_to_name = {
|
||||
{RDC_DIAG_RVS_GST_TEST, "gst_single.conf"}, {RDC_DIAG_RVS_MEMBW_TEST, "babel.conf"},
|
||||
{RDC_DIAG_RVS_H2DD2H_TEST, "pebb_single.conf"}, {RDC_DIAG_RVS_IET_TEST, "iet_stress.conf"},
|
||||
{RDC_DIAG_RVS_GST_TEST, "gst_single.conf"},
|
||||
{RDC_DIAG_RVS_MEMBW_TEST, "babel.conf"},
|
||||
{RDC_DIAG_RVS_H2DD2H_TEST, "pebb_single.conf"},
|
||||
{RDC_DIAG_RVS_IET_TEST, "iet_stress.conf"},
|
||||
{RDC_DIAG_RVS_GST_LONG_TEST, "gst_single_long.conf"},
|
||||
{RDC_DIAG_RVS_MEMBW_LONG_TEST, "babel_long.conf"},
|
||||
{RDC_DIAG_RVS_H2DD2H_LONG_TEST, "pebb_single_long.conf"},
|
||||
{RDC_DIAG_RVS_IET_LONG_TEST, "iet_stress_long.conf"},
|
||||
{RDC_DIAG_RVS_CUSTOM, "CUSTOM_CONFIG"},
|
||||
};
|
||||
|
||||
|
||||
@@ -99,6 +99,13 @@ rdc_status_t RdcDiagnosticModule::rdc_diagnostic_run(const rdc_group_info_t& gpu
|
||||
tests_to_search_for.push_back(RDC_DIAG_RVS_IET_TEST);
|
||||
}
|
||||
|
||||
if (level >= RDC_DIAG_LVL_LONG) { // Medium run and above
|
||||
tests_to_search_for.push_back(RDC_DIAG_RVS_GST_LONG_TEST);
|
||||
tests_to_search_for.push_back(RDC_DIAG_RVS_MEMBW_LONG_TEST);
|
||||
tests_to_search_for.push_back(RDC_DIAG_RVS_H2DD2H_LONG_TEST);
|
||||
tests_to_search_for.push_back(RDC_DIAG_RVS_IET_LONG_TEST);
|
||||
}
|
||||
|
||||
std::vector<rdc_diag_test_cases_t> tests_to_run;
|
||||
if (is_custom) {
|
||||
// respect custom config
|
||||
|
||||
@@ -63,11 +63,7 @@ if(BUILD_RVS)
|
||||
endif()
|
||||
|
||||
# Install RVS config files into /opt/rocm/share/rdc/conf/rvs/
|
||||
#file(GLOB RDC_RVS_CONFIG_FILES "${SRC_DIR}/conf/*")
|
||||
install(DIRECTORY "${SRC_DIR}/conf/"
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${RDC}/conf/rvs/
|
||||
COMPONENT ${SERVER_COMPONENT})
|
||||
#install(FILES ${RDC_RVS_CONFIG_FILES}
|
||||
# DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${RDC}/conf
|
||||
# COMPONENT ${RDC_RVS_LIB_COMPONENT})
|
||||
endif()
|
||||
|
||||
@@ -22,7 +22,7 @@ THE SOFTWARE.
|
||||
#include <string.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <filesystem>
|
||||
#include <memory>
|
||||
|
||||
#include "rdc/rdc.h"
|
||||
#include "rdc_lib/RdcDiagnosticLibInterface.h"
|
||||
@@ -119,7 +119,11 @@ rdc_status_t rdc_diag_test_case_run(rdc_diag_test_cases_t test_case,
|
||||
case RDC_DIAG_RVS_GST_TEST:
|
||||
case RDC_DIAG_RVS_MEMBW_TEST:
|
||||
case RDC_DIAG_RVS_H2DD2H_TEST:
|
||||
case RDC_DIAG_RVS_IET_TEST: {
|
||||
case RDC_DIAG_RVS_IET_TEST:
|
||||
case RDC_DIAG_RVS_GST_LONG_TEST:
|
||||
case RDC_DIAG_RVS_MEMBW_LONG_TEST:
|
||||
case RDC_DIAG_RVS_H2DD2H_LONG_TEST:
|
||||
case RDC_DIAG_RVS_IET_LONG_TEST: {
|
||||
const std::string test_name = "Finished running " + test_to_name.at(test_case);
|
||||
if (test_to_conf.find(test_case) == test_to_conf.end()) {
|
||||
RDC_LOG(RDC_ERROR, "cannot find test " << test_to_name.at(test_case));
|
||||
|
||||
@@ -23,6 +23,7 @@ THE SOFTWARE.
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <filesystem>
|
||||
#include <string>
|
||||
|
||||
#include "rdc/rdc.h"
|
||||
@@ -132,8 +133,8 @@ rvs_status_t RdcRVSBase::run_rvs_app(const char* config, const size_t config_siz
|
||||
rdc_diag_callback_t* callback) {
|
||||
char active_config[MAX_CONFIG_LENGTH];
|
||||
rvs_session_property_t session_property = {RVS_SESSION_TYPE_DEFAULT_CONF, {{RVS_MODULE_GST}}};
|
||||
rvs_session_id_t session_id;
|
||||
rvs_status_t status;
|
||||
rvs_session_id_t session_id = 0;
|
||||
rvs_status_t status = RVS_STATUS_FAILED;
|
||||
// NOTE: device_index is NOT set by RDC unless a custom config is provided.
|
||||
// Meaning RDC index has no impact on RVS index.
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# BABEL test
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# all the GPUs IDs separated by white space (e.g.: device: 50599 3245)
|
||||
# Set parallel execution to false
|
||||
# Set buffer size to reflect the buffer you want to test
|
||||
# Set run count to 10
|
||||
#
|
||||
|
||||
actions:
|
||||
- name: babel-256MiB
|
||||
device: all
|
||||
module: babel # Name of the module
|
||||
parallel: true # Parallel true or false
|
||||
count: 10 # Number of times you want to repeat the test from the begin ( A clean start every time)
|
||||
num_iter: 5000 # Number of iterations, this many kernels are launched simultaneosuly and stresses the system
|
||||
array_size: 268435456 # Buffer size the test operates, this is 256 MiB
|
||||
test_type: 1 # type of test, 1: Float, 2: Double, 3: Triad float, 4: Triad double
|
||||
mibibytes: true # mibibytes (MiB) or megabytes (MB), true for MiB
|
||||
o/p_csv: false # o/p as csv file
|
||||
subtest: 5 # 1: copy 2: copy+mul 3: copy+mul+add 4: copy+mul+add+traid 5: copy+mul+add+traid+dot
|
||||
dwords_per_lane: 4 # Number of dwords per lane
|
||||
chunks_per_block: 4 # Number of chunks per block
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2024-2025 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
|
||||
|
||||
# GST test
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# all the GPUs IDs separated by white space
|
||||
# Set parallel execution to false
|
||||
# Set matrix_size to 8640 (for Vega 10 cards). For Vega 20, the recommended matrix_size is 8640
|
||||
# Set run count to 2 (each test will run twice)
|
||||
# Set copy_matrix to false (the matrices will be copied to GPUs only once)
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# sudo ./rvs -c conf/gst_1.conf -d 3
|
||||
#
|
||||
# Expected result:
|
||||
# The test on each GPU passes (TRUE) if the GPU achieves 5000 gflops
|
||||
# in maximum 7 seconds and then the GPU sustains the gflops
|
||||
# for the rest of the test duration (total duration is 1 minutes).
|
||||
# A single Gflops violation (with a 7% tolerance) is allowed.
|
||||
# FALSE otherwise
|
||||
|
||||
actions:
|
||||
- name: gpustress-41000-fp32-false
|
||||
device: all
|
||||
module: gst
|
||||
parallel: true
|
||||
count: 1
|
||||
duration: 60000 # 1 min
|
||||
copy_matrix: false
|
||||
target_stress: 41000
|
||||
matrix_size_a: 28000
|
||||
matrix_size_b: 28000
|
||||
matrix_size_c: 28000
|
||||
data_type: fp32_r
|
||||
lda: 28000
|
||||
ldb: 28000
|
||||
ldc: 28000
|
||||
blas_source: hipblaslt
|
||||
|
||||
- name: gpustress-30000-dgemm-false
|
||||
device: all
|
||||
module: gst
|
||||
parallel: true
|
||||
count: 1
|
||||
#hot_calls: 1000
|
||||
duration: 60000 # 1 min
|
||||
copy_matrix: false
|
||||
target_stress: 30000
|
||||
matrix_size_a: 8192
|
||||
matrix_size_b: 8192
|
||||
matrix_size_c: 8192
|
||||
matrix_init: trig
|
||||
ops_type: dgemm
|
||||
lda: 8192
|
||||
ldb: 8192
|
||||
ldc: 8192
|
||||
|
||||
- name: gst-8096-150000-fp16
|
||||
device: all
|
||||
module: gst
|
||||
parallel: true
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
copy_matrix: false
|
||||
target_stress: 150000
|
||||
matrix_size_a: 8096
|
||||
matrix_size_b: 8096
|
||||
matrix_size_c: 8096
|
||||
data_type: fp16_r
|
||||
lda: 8096
|
||||
ldb: 8096
|
||||
ldc: 8096
|
||||
ldd: 8096
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
blas_source: hipblaslt
|
||||
|
||||
- name: gst-160Tflops-8K8K8K-rand-i8
|
||||
device: all
|
||||
module: gst
|
||||
parallel: true
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 500
|
||||
copy_matrix: false
|
||||
target_stress: 160000
|
||||
matrix_size_a: 8192
|
||||
matrix_size_b: 8192
|
||||
matrix_size_c: 8192
|
||||
matrix_init: rand
|
||||
data_type: i8_r
|
||||
lda: 8192
|
||||
ldb: 8192
|
||||
ldc: 8192
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
blas_source: hipblaslt
|
||||
|
||||
@@ -30,7 +30,7 @@ actions:
|
||||
parallel: true
|
||||
count: 1
|
||||
wait: 100
|
||||
duration: 50000
|
||||
duration: 60000 # 1 min
|
||||
ramp_interval: 5000
|
||||
sample_interval: 700
|
||||
log_interval: 700
|
||||
@@ -46,7 +46,7 @@ actions:
|
||||
parallel: true
|
||||
count: 1
|
||||
wait: 100
|
||||
duration: 50000
|
||||
duration: 60000 # 1 min
|
||||
ramp_interval: 5000
|
||||
sample_interval: 1500
|
||||
log_interval: 2000
|
||||
@@ -62,7 +62,7 @@ actions:
|
||||
parallel: false
|
||||
count: 1
|
||||
wait: 100
|
||||
duration: 50000
|
||||
duration: 60000 # 1 min
|
||||
ramp_interval: 5000
|
||||
sample_interval: 500
|
||||
log_interval: 500
|
||||
@@ -98,7 +98,7 @@ actions:
|
||||
parallel: true
|
||||
count: 1
|
||||
wait: 100
|
||||
duration: 50000
|
||||
duration: 60000 # 1 min
|
||||
ramp_interval: 5000
|
||||
sample_interval: 500
|
||||
log_interval: 500
|
||||
@@ -134,7 +134,7 @@ actions:
|
||||
parallel: false
|
||||
count: 1
|
||||
wait: 100
|
||||
duration: 50000
|
||||
duration: 60000 # 1 min
|
||||
ramp_interval: 5000
|
||||
sample_interval: 1500
|
||||
log_interval: 2000
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
actions:
|
||||
- name: action_1
|
||||
device: all
|
||||
module: iet
|
||||
parallel: true
|
||||
count: 1
|
||||
wait: 100
|
||||
duration: 300000 # 5 min
|
||||
ramp_interval: 5000
|
||||
sample_interval: 700
|
||||
log_interval: 700
|
||||
max_violations: 1
|
||||
target_power: 300
|
||||
tolerance: 0.06
|
||||
matrix_size: 8640
|
||||
ops_type: dgemm
|
||||
|
||||
# IET test
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# Set parallel execution to true
|
||||
# Set matrix_size to 8640 (for Vega 10 cards). For Vega 20, the recommended matrix_size is 8640
|
||||
# Set run count to 2 (each test will run twice)
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# sudo ./rvs -c conf/iet4.conf -d 3
|
||||
#
|
||||
# Expected result:
|
||||
# The test on each GPU passes (TRUE) if the GPU power reaches 150W
|
||||
# in maximum 5 seconds and then the GPU sustains the same power
|
||||
# for the rest of the test duration (total duration is 10 seconds).
|
||||
# A single power violation (with a 10% tolerance) is allowed.
|
||||
# FALSE otherwise
|
||||
|
||||
- name: action_2
|
||||
device: all
|
||||
module: iet
|
||||
parallel: true
|
||||
count: 1
|
||||
wait: 100
|
||||
duration: 300000 # 5 min
|
||||
ramp_interval: 5000
|
||||
sample_interval: 500
|
||||
log_interval: 500
|
||||
max_violations: 1
|
||||
target_power: 300
|
||||
tolerance: 0.1
|
||||
matrix_size: 8640
|
||||
ops_type: sgemm
|
||||
|
||||
# IET test
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# Set parallel execution to false
|
||||
# Set matrix_size to 8640 (for Vega 10 cards). For Vega 20, the recommended matrix_size is 8640
|
||||
# Set run count to 2 (each test will run twice)
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# sudo ./rvs -c conf/iet5.conf -d 3
|
||||
#
|
||||
# Expected result:
|
||||
# The test on each GPU passes (TRUE) if the GPU power reaches 50W
|
||||
# in maximum 5 seconds and then the GPU sustains the same power
|
||||
# for the rest of the test duration (total duration is 10 seconds).
|
||||
# A single power violation (with a 10% tolerance) is allowed.
|
||||
# FALSE otherwise
|
||||
|
||||
- name: action_3
|
||||
device: all
|
||||
module: iet
|
||||
parallel: false
|
||||
count: 1
|
||||
wait: 100
|
||||
duration: 300000 # 5 min
|
||||
ramp_interval: 5000
|
||||
sample_interval: 1500
|
||||
log_interval: 2000
|
||||
max_violations: 1
|
||||
target_power: 300
|
||||
tolerance: 0.1
|
||||
matrix_size: 8640
|
||||
ops_type: sgemm
|
||||
|
||||
@@ -0,0 +1,236 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# PEBB test #1
|
||||
#
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. host to device
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/pebb_test1.conf -d 3
|
||||
#
|
||||
|
||||
|
||||
actions:
|
||||
- name: h2d-sequential-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 300000 # 5 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
block_size: 51200000
|
||||
link_type: 2 # PCIe
|
||||
|
||||
|
||||
# PEBB test #2
|
||||
#
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. device to host
|
||||
#
|
||||
# Run test with :
|
||||
# cd bin
|
||||
# ./rvs -c conf/pebb_test2.conf -d 3
|
||||
#
|
||||
|
||||
|
||||
- name: d2h-sequential-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 5000
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
block_size: 51200000
|
||||
link_type: 2 # PCIe
|
||||
|
||||
|
||||
|
||||
# PEBB test #3
|
||||
#
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. bidirectional
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/pebb_test3.conf -d 3
|
||||
#
|
||||
|
||||
- name: h2d-d2h-sequential-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 5000
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
block_size: 51200000
|
||||
link_type: 2 # PCIe
|
||||
|
||||
|
||||
|
||||
|
||||
# PEBB test #4
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. host to device
|
||||
# 4. parallel transfers
|
||||
# 5. random block sizes
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/pebb_test4.conf -d 3
|
||||
|
||||
- name: h2d-parallel-xMB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 5000
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
link_type: 2 # PCIe
|
||||
|
||||
|
||||
# PEBB test #5
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. device to host
|
||||
# 4. parallel transfers
|
||||
# 5. random block sizes
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/pebb_test5.conf -d 3
|
||||
|
||||
- name: d2h-parallel-xMB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 5000
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
link_type: 2 # PCIe
|
||||
|
||||
|
||||
|
||||
# PEBB test #6
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. bidirectional
|
||||
# 4. parallel transfers
|
||||
# 5. random block sizes
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/pebb_test6.conf -d 3
|
||||
|
||||
- name: h2d-d2h-xMB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 5000
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
link_type: 2 # PCIe
|
||||
|
||||
|
||||
# PEBB test #7
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. host to device
|
||||
# 4. parallel transfers
|
||||
# 5. back-to-back 51MB
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/pebb_test7.conf -d 3
|
||||
|
||||
- name: h2d-b2b-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 300000 # 5 min
|
||||
device_to_host: false
|
||||
host_to_device: true
|
||||
b2b_block_size: 51200
|
||||
parallel: false
|
||||
link_type: 2 # PCIe
|
||||
|
||||
|
||||
# PEBB test #8
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. host-to-device and device-to-host
|
||||
# 4. parallel back-to-back transfers
|
||||
# 5. back-to-back 51MB
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/pebb_test8.conf -d 3
|
||||
|
||||
- name: d2h-b2b-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 5000
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
b2b_block_size: 51200
|
||||
parallel: true
|
||||
link_type: 2 # PCIe
|
||||
|
||||
# PEBB test #9
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. bidirectional
|
||||
# 4. PCIe ponly
|
||||
# 5. parallel back-to-back transfers
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/pebb_test9.conf -d 3
|
||||
|
||||
- name: h2d-d2h-b2b-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 300000 # 5 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
b2b_block_size: 51200
|
||||
parallel: false
|
||||
link_type: 2 # PCIe
|
||||
@@ -0,0 +1,63 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# IET stress test
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# all the GPUs IDs separated by comma.
|
||||
# Set parallel execution to true (gemm workload execution on all GPUs in parallel)
|
||||
# Set gemm operation type as dgemm.
|
||||
# Set matrix_size to 28000.
|
||||
# Test duration set to 10 mins.
|
||||
# Target power set to 550W for each GPU.
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300A/iet_stress.conf
|
||||
#
|
||||
# Expected result:
|
||||
# The test on each GPU passes (TRUE) if the GPU achieves power target of 550W.
|
||||
#
|
||||
|
||||
actions:
|
||||
- name: iet-stress-550W-dgemm-true
|
||||
device: all
|
||||
module: iet
|
||||
parallel: true
|
||||
duration: 300000 # 5 min
|
||||
ramp_interval: 10000
|
||||
sample_interval: 3000
|
||||
log_interval: 3000
|
||||
target_power: 550
|
||||
matrix_size: 28000
|
||||
ops_type: dgemm
|
||||
lda: 28000
|
||||
ldb: 28000
|
||||
ldc: 28000
|
||||
alpha: 1
|
||||
beta: 1
|
||||
|
||||
@@ -0,0 +1,229 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# PEBB test #1
|
||||
#
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. host to device
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300A/pebb_single.conf -d 3
|
||||
#
|
||||
actions:
|
||||
- name: h2d-sequential-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 300000 # 5 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
block_size: 51200000
|
||||
link_type: 4 # XGMI
|
||||
|
||||
|
||||
# PEBB test #2
|
||||
#
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. device to host
|
||||
#
|
||||
# Run test with :
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300A/pebb_single.conf -d 3
|
||||
#
|
||||
- name: d2h-sequential-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 60000 # 1 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
block_size: 51200000
|
||||
link_type: 4 # XGMI
|
||||
|
||||
|
||||
# PEBB test #3
|
||||
#
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. bidirectional
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300A/pebb_single.conf -d 3
|
||||
#
|
||||
- name: h2d-d2h-sequential-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 60000 # 1 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
block_size: 51200000
|
||||
link_type: 4 # XGMI
|
||||
|
||||
|
||||
# PEBB test #4
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. host to device
|
||||
# 4. parallel transfers
|
||||
# 5. random block sizes
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300A/pebb_single.conf -d 3
|
||||
#
|
||||
- name: h2d-parallel-xMB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 60000 # 1 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
link_type: 4 # XGMI
|
||||
|
||||
|
||||
# PEBB test #5
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. device to host
|
||||
# 4. parallel transfers
|
||||
# 5. random block sizes
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300A/pebb_single.conf -d 3
|
||||
#
|
||||
- name: d2h-parallel-xMB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 60000 # 1 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
link_type: 4 # XGMI
|
||||
|
||||
|
||||
# PEBB test #6
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. bidirectional
|
||||
# 4. parallel transfers
|
||||
# 5. random block sizes
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300A/pebb_single.conf -d 3
|
||||
#
|
||||
- name: h2d-d2h-xMB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 60000 # 1 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
link_type: 4 # XGMI
|
||||
|
||||
|
||||
# PEBB test #7
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. host to device
|
||||
# 4. parallel transfers
|
||||
# 5. back-to-back 51MB
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300A/pebb_single.conf -d 3
|
||||
#
|
||||
- name: h2d-b2b-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 300000 # 5 min
|
||||
device_to_host: false
|
||||
host_to_device: true
|
||||
b2b_block_size: 51200
|
||||
parallel: false
|
||||
link_type: 4 # XGMI
|
||||
|
||||
|
||||
# PEBB test #8
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. host-to-device and device-to-host
|
||||
# 4. parallel back-to-back transfers
|
||||
# 5. back-to-back 51MB
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300A/pebb_single.conf -d 3
|
||||
#
|
||||
- name: d2h-b2b-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 60000 # 1 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
b2b_block_size: 51200
|
||||
parallel: true
|
||||
link_type: 4 # XGMI
|
||||
|
||||
|
||||
# PEBB test #9
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. bidirectional
|
||||
# 4. XGMI only
|
||||
# 5. parallel back-to-back transfers
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300A/pebb_single.conf -d 3
|
||||
#
|
||||
- name: h2d-d2h-b2b-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 300000 # 5 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
b2b_block_size: 51200
|
||||
parallel: false
|
||||
link_type: 4 # XGMI
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# BABEL test
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# all the GPUs IDs separated by white space (e.g.: device: 50599 3245)
|
||||
# Set parallel execution to false
|
||||
# Set buffer size to reflect the buffer you want to test
|
||||
# Set run count to 10
|
||||
#
|
||||
|
||||
actions:
|
||||
- name: babel-float-256MiB
|
||||
device: all
|
||||
module: babel # Name of the module
|
||||
parallel: false # Parallel true or false
|
||||
count: 10 # Number of times you want to repeat the test from the begin ( A clean start every time)
|
||||
num_iter: 5000 # Number of iterations, this many kernels are launched simultaneosuly and stresses the system
|
||||
array_size: 268435456 # Buffer size the test operates, this is 256 MiB
|
||||
test_type: 1 # type of test, 1: Float, 2: Double, 3: Triad float, 4: Triad double
|
||||
mibibytes: true # mibibytes (MiB) or megabytes (MB), true for MiB
|
||||
o/p_csv: false # o/p as csv file
|
||||
subtest: 5 # 1: copy 2: copy+mul 3: copy+mul+add 4: copy+mul+add+traid 5: copy+mul+add+traid+dot
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# GST test - gst-1215Tflops-4K4K8K-rand-fp8
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# all the GPUs IDs separated by white space
|
||||
# Set matrices sizes to 4864 * 4096 * 8192
|
||||
# Set matrix data type as fp8 real number
|
||||
# Set matrix data initialization method as random integer
|
||||
# Set copy_matrix to false (the matrices will be copied to GPUs only once)
|
||||
# Set target stress GFLOPS as 1215000 (1215 TFLOPS)
|
||||
#
|
||||
# Expected result:
|
||||
# The test on each GPU passes (TRUE) if the GPU achieves 1215 TFLOPS or more
|
||||
# within the test duration of 1 minutes after ramp-up duration of 5 seconds.
|
||||
# Else test on the GPU fails (FALSE).
|
||||
|
||||
actions:
|
||||
- name: gst-1215Tflops-4K4K8K-rand-fp8
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 1000
|
||||
copy_matrix: false
|
||||
target_stress: 1215000
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: rand
|
||||
data_type: fp8_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
- name: gst-981Tflops-4K4K8K-trig-fp8
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 1000
|
||||
copy_matrix: false
|
||||
target_stress: 981000
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: trig
|
||||
data_type: fp8_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
- name: gst-639Tflops-4K4K8K-rand-fp16
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 1000
|
||||
copy_matrix: false
|
||||
target_stress: 639000
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: rand
|
||||
data_type: fp16_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
- name: gst-523Tflops-4K4K8K-trig-fp16
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 1000
|
||||
copy_matrix: false
|
||||
target_stress: 523000
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: trig
|
||||
data_type: fp16_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
- name: gst-581Tflops-4K4K8K-rand-bf16
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 1000
|
||||
copy_matrix: false
|
||||
target_stress: 581000
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: rand
|
||||
data_type: bf16_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
- name: gst-552Tflops-4K4K8K-trig-bf16
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 1000
|
||||
copy_matrix: false
|
||||
target_stress: 552000
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: trig
|
||||
data_type: bf16_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
@@ -32,7 +32,7 @@
|
||||
# Set parallel execution to true (gemm workload execution on all GPUs in parallel)
|
||||
# Set gemm operation type as dgemm.
|
||||
# Set matrix_size to 28000.
|
||||
# Test duration set to 10 mins.
|
||||
# Test duration set to 1 mins.
|
||||
# Target power set to 750W for each GPU.
|
||||
#
|
||||
# Run test with:
|
||||
@@ -48,7 +48,7 @@ actions:
|
||||
device: all
|
||||
module: iet
|
||||
parallel: true
|
||||
duration: 60000
|
||||
duration: 60000 # 1 min
|
||||
ramp_interval: 10000
|
||||
sample_interval: 5000
|
||||
log_interval: 5000
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# IET stress test
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# all the GPUs IDs separated by comma.
|
||||
# Set parallel execution to true (gemm workload execution on all GPUs in parallel)
|
||||
# Set gemm operation type as dgemm.
|
||||
# Set matrix_size to 28000.
|
||||
# Test duration set to 10 mins.
|
||||
# Target power set to 750W for each GPU.
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300X/iet_stress.conf
|
||||
#
|
||||
# Expected result:
|
||||
# The test on each GPU passes (TRUE) if the GPU achieves power target of 750W.
|
||||
#
|
||||
|
||||
actions:
|
||||
- name: iet-stress-750W-dgemm-true
|
||||
device: all
|
||||
module: iet
|
||||
parallel: true
|
||||
duration: 300000 # 5 min
|
||||
ramp_interval: 10000
|
||||
sample_interval: 5000
|
||||
log_interval: 5000
|
||||
target_power: 750
|
||||
matrix_size: 28000
|
||||
ops_type: dgemm
|
||||
lda: 28000
|
||||
ldb: 28000
|
||||
ldc: 28000
|
||||
alpha: 1
|
||||
beta: 1
|
||||
matrix_init: hiprand
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# PEBB test #1
|
||||
#
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. device to host
|
||||
# 4. Transfer block size 64MB
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300X/pebb_single.conf
|
||||
#
|
||||
actions:
|
||||
- name: d2h-sequential-64MB
|
||||
device: all
|
||||
module: pebb
|
||||
duration: 300000 # 5 min
|
||||
device_to_host: true
|
||||
host_to_device: false
|
||||
parallel: false
|
||||
block_size: 67108864
|
||||
link_type: 2 # PCIe
|
||||
|
||||
# PEBB test #2
|
||||
#
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. device to host
|
||||
# 4. Transfer block size 64MB
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300X/pebb_single.conf
|
||||
#
|
||||
- name: h2d-sequential-64MB
|
||||
device: all
|
||||
module: pebb
|
||||
duration: 300000 # 5 min
|
||||
device_to_host: false
|
||||
host_to_device: true
|
||||
parallel: false
|
||||
block_size: 67108864
|
||||
link_type: 2 # PCIe
|
||||
|
||||
# PEBB test #3
|
||||
#
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. host to device & device to host
|
||||
# 4. Transfer block size 64MB
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI300X/pebb_single.conf
|
||||
#
|
||||
- name: h2d-d2h-sequential-64MB
|
||||
device: all
|
||||
module: pebb
|
||||
duration: 300000 # 5 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: false
|
||||
block_size: 67108864
|
||||
link_type: 2 # PCIe
|
||||
warm_calls: 10
|
||||
hot_calls: 100
|
||||
b2b: true
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# BABEL test
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# all the GPUs IDs separated by white space (e.g.: device: 50599 3245)
|
||||
# Set parallel execution to false
|
||||
# Set buffer size to reflect the buffer you want to test
|
||||
# Set run count to 10
|
||||
#
|
||||
|
||||
actions:
|
||||
- name: babel-float-256MiB
|
||||
device: all
|
||||
module: babel # Name of the module
|
||||
parallel: false # Parallel true or false
|
||||
count: 10 # Number of times you want to repeat the test from the begin ( A clean start every time)
|
||||
num_iter: 5000 # Number of iterations, this many kernels are launched simultaneosuly and stresses the system
|
||||
array_size: 268435456 # Buffer size the test operates, this is 256 MiB
|
||||
test_type: 1 # type of test, 1: Float, 2: Double, 3: Triad float, 4: Triad double
|
||||
mibibytes: true # mibibytes (MiB) or megabytes (MB), true for MiB
|
||||
o/p_csv: false # o/p as csv file
|
||||
subtest: 5 # 1: copy 2: copy+mul 3: copy+mul+add 4: copy+mul+add+traid 5: copy+mul+add+traid+dot
|
||||
dwords_per_lane: 4 # Number of dwords per lane
|
||||
chunks_per_block: 4 # Number of chunks per block
|
||||
|
||||
@@ -0,0 +1,256 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# GST test - gst-96Tflops-8K12K4K-trig-tf32
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# all the GPUs IDs separated by white space
|
||||
# Set matrices sizes to 8192 * 12288 * 4096
|
||||
# Set matrix data type as fp32 real number
|
||||
# Set compute type as tf32 (xf32)
|
||||
# Set matrix data initialization method as trignometric float
|
||||
# Set copy_matrix to false (the matrices will be copied to GPUs only once)
|
||||
# Set target stress GFLOPS as 96 TFLOPS
|
||||
# Set blas source (backend) as hipblaslt
|
||||
#
|
||||
# Expected result:
|
||||
# The test on each GPU passes (TRUE) if the GPU achieves 96 TFLOPS or more
|
||||
# within the test duration of 1 minutes after ramp-up duration of 5 seconds.
|
||||
# Else test on the GPU fails (FALSE).
|
||||
|
||||
actions:
|
||||
- name: gst-96Tflops-8K12K4K-trig-tf32
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 50
|
||||
copy_matrix: false
|
||||
target_stress: 96000
|
||||
matrix_size_a: 8192
|
||||
matrix_size_b: 12288
|
||||
matrix_size_c: 4096
|
||||
matrix_init: trig
|
||||
data_type: fp32_r
|
||||
compute_type: xf32_r
|
||||
transa: 0
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 1
|
||||
blas_source: hipblaslt
|
||||
parallel: true
|
||||
|
||||
- name: gst-406Tflops-8K13K17K-trig-i8
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 500
|
||||
copy_matrix: false
|
||||
target_stress: 406000
|
||||
matrix_size_a: 8192
|
||||
matrix_size_b: 13312
|
||||
matrix_size_c: 17792
|
||||
matrix_init: trig
|
||||
data_type: i8_r
|
||||
compute_type: i32_r
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
blas_source: hipblaslt
|
||||
parallel: true
|
||||
|
||||
- name: gst-26Tflops-8K8K8K-trig-fp32
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 100
|
||||
copy_matrix: false
|
||||
target_stress: 26000
|
||||
matrix_size_a: 8192
|
||||
matrix_size_b: 8960
|
||||
matrix_size_c: 8192
|
||||
matrix_init: trig
|
||||
data_type: fp32_r
|
||||
compute_type: fp32_r
|
||||
transa: 0
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 1
|
||||
blas_source: hipblaslt
|
||||
parallel: true
|
||||
|
||||
|
||||
- name: gst-343Tflops-4K4K8K-rand-fp8
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 3000
|
||||
copy_matrix: false
|
||||
target_stress: 343415
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: rand
|
||||
data_type: fp8_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
- name: gst-336Tflops-4K4K8K-trig-fp8
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 170000
|
||||
copy_matrix: false
|
||||
target_stress: 336441
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: trig
|
||||
data_type: fp8_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
- name: gst-176Tflops-4K4K8K-rand-fp16
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 3000
|
||||
copy_matrix: false
|
||||
target_stress: 176191
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: rand
|
||||
data_type: fp16_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
- name: gst-172Tflops-4K4K8K-trig-fp16
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 90000
|
||||
copy_matrix: false
|
||||
target_stress: 172333
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: trig
|
||||
data_type: fp16_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
- name: gst-174Tflops-4K4K8K-rand-bf16
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 3000
|
||||
copy_matrix: false
|
||||
target_stress: 174364
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: rand
|
||||
data_type: bf16_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
- name: gst-172Tflops-4K4K8K-trig-bf16
|
||||
device: all
|
||||
module: gst
|
||||
log_interval: 3000
|
||||
ramp_interval: 5000
|
||||
duration: 60000 # 1 min
|
||||
hot_calls: 90000
|
||||
copy_matrix: false
|
||||
target_stress: 172333
|
||||
matrix_size_a: 4864
|
||||
matrix_size_b: 4096
|
||||
matrix_size_c: 8192
|
||||
matrix_init: trig
|
||||
data_type: bf16_r
|
||||
lda: 8320
|
||||
ldb: 8320
|
||||
ldc: 4992
|
||||
ldd: 4992
|
||||
transa: 1
|
||||
transb: 0
|
||||
alpha: 1
|
||||
beta: 0
|
||||
parallel: true
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# all the GPUs IDs separated by comma.
|
||||
# Set parallel execution to true (gemm workload execution on all GPUs in parallel)
|
||||
# Test duration set to 10 mins.
|
||||
# Test duration set to 1 mins.
|
||||
# Target power set to 650W for each GPU.
|
||||
# Tolerance set to 5% of target power.
|
||||
#
|
||||
@@ -47,7 +47,7 @@ actions:
|
||||
device: all
|
||||
module: iet
|
||||
parallel: true
|
||||
duration: 60000
|
||||
duration: 60000 # 1 min
|
||||
ramp_interval: 1000
|
||||
sample_interval: 5000
|
||||
log_interval: 5000
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# IET stress test
|
||||
#
|
||||
# Preconditions:
|
||||
# Set device to all. If you need to run the rvs only on a subset of GPUs, please run rvs with -g
|
||||
# option, collect the GPUs IDs (e.g.: GPU[ 5 - 50599] -> 50599 is the GPU ID) and then specify
|
||||
# all the GPUs IDs separated by comma.
|
||||
# Set parallel execution to true (gemm workload execution on all GPUs in parallel)
|
||||
# Test duration set to 10 mins.
|
||||
# Target power set to 650W for each GPU.
|
||||
# Tolerance set to 5% of target power.
|
||||
#
|
||||
# Run test with:
|
||||
# cd bin
|
||||
# ./rvs -c conf/MI308X/iet_stress.conf
|
||||
#
|
||||
# Expected result:
|
||||
# The test on each GPU passes (TRUE) if the GPU achieves power target of 750W.
|
||||
#
|
||||
|
||||
actions:
|
||||
- name: iet-stress-650W-true
|
||||
device: all
|
||||
module: iet
|
||||
parallel: true
|
||||
duration: 300000 # 5 min
|
||||
ramp_interval: 1000
|
||||
sample_interval: 5000
|
||||
log_interval: 5000
|
||||
target_power: 650
|
||||
tolerance: 0.05
|
||||
bw_workload: true
|
||||
cp_workload: false
|
||||
|
||||
@@ -29,7 +29,7 @@ actions:
|
||||
module: gst
|
||||
parallel: true
|
||||
count: 1
|
||||
duration: 10000
|
||||
duration: 10000 # 10 sec
|
||||
copy_matrix: false
|
||||
target_stress: 6000
|
||||
matrix_size_a: 8640
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2024 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
actions:
|
||||
- name: gpustress-9000-sgemm-false
|
||||
device: all
|
||||
module: gst
|
||||
parallel: true
|
||||
count: 1
|
||||
duration: 300000 # 5 min
|
||||
copy_matrix: false
|
||||
target_stress: 6000
|
||||
matrix_size_a: 8640
|
||||
matrix_size_b: 8640
|
||||
matrix_size_c: 8640
|
||||
ops_type: sgemm
|
||||
lda: 8640
|
||||
ldb: 8640
|
||||
ldc: 8640
|
||||
Символическая ссылка
@@ -0,0 +1 @@
|
||||
../nv31/iet_stress_long.conf
|
||||
Символическая ссылка
@@ -0,0 +1 @@
|
||||
../nv31/pebb_single_long.conf
|
||||
@@ -29,7 +29,7 @@ actions:
|
||||
module: gst
|
||||
parallel: true
|
||||
count: 1
|
||||
duration: 10000
|
||||
duration: 10000 # 10 sec
|
||||
copy_matrix: false
|
||||
target_stress: 10000
|
||||
matrix_size_a: 8640
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
actions:
|
||||
- name: gpustress-10000-sgemm-false
|
||||
device: all
|
||||
module: gst
|
||||
parallel: true
|
||||
count: 1
|
||||
duration: 300000 # 5 min
|
||||
copy_matrix: false
|
||||
target_stress: 10000
|
||||
matrix_size_a: 8640
|
||||
matrix_size_b: 8640
|
||||
matrix_size_c: 8640
|
||||
ops_type: sgemm
|
||||
lda: 8640
|
||||
ldb: 8640
|
||||
ldc: 8640
|
||||
@@ -0,0 +1,41 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2022 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
actions:
|
||||
- name: action_1
|
||||
device: all
|
||||
module: iet
|
||||
parallel: true
|
||||
count: 1
|
||||
wait: 100
|
||||
duration: 300000 # 5 min
|
||||
ramp_interval: 5000
|
||||
sample_interval: 700
|
||||
log_interval: 700
|
||||
max_violations: 1
|
||||
target_power: 127
|
||||
tolerance: 0.06
|
||||
matrix_size: 8640
|
||||
ops_type: dgemm
|
||||
@@ -0,0 +1,43 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2022 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
# PEBB test #3
|
||||
#
|
||||
# testing conditions:
|
||||
# 1. all AMD compatible GPUs
|
||||
# 2. all types of devices
|
||||
# 3. bidirectional
|
||||
|
||||
actions:
|
||||
- name: h2d-d2h-sequential-51MB
|
||||
device: all
|
||||
module: pebb
|
||||
log_interval: 800
|
||||
duration: 300000 # 5 min
|
||||
device_to_host: true
|
||||
host_to_device: true
|
||||
parallel: true
|
||||
block_size: 51200000
|
||||
link_type: 2 # PCIe
|
||||
@@ -0,0 +1,41 @@
|
||||
# ################################################################################
|
||||
# #
|
||||
# # Copyright (c) 2018-2023 Advanced Micro Devices, Inc. All rights reserved.
|
||||
# #
|
||||
# # MIT LICENSE:
|
||||
# # Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# # this software and associated documentation files (the "Software"), to deal in
|
||||
# # the Software without restriction, including without limitation the rights to
|
||||
# # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
# # of the Software, and to permit persons to whom the Software is furnished to do
|
||||
# # so, subject to the following conditions:
|
||||
# #
|
||||
# # The above copyright notice and this permission notice shall be included in all
|
||||
# # copies or substantial portions of the Software.
|
||||
# #
|
||||
# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# # SOFTWARE.
|
||||
# #
|
||||
# ###############################################################################
|
||||
|
||||
actions:
|
||||
- name: gpustress-9000-sgemm-false
|
||||
device: all
|
||||
module: gst
|
||||
parallel: true
|
||||
count: 1
|
||||
duration: 300000 # 5 min
|
||||
copy_matrix: false
|
||||
target_stress: 6000
|
||||
matrix_size_a: 8640
|
||||
matrix_size_b: 8640
|
||||
matrix_size_c: 8640
|
||||
ops_type: sgemm
|
||||
lda: 8640
|
||||
ldb: 8640
|
||||
ldc: 8640
|
||||
Символическая ссылка
@@ -0,0 +1 @@
|
||||
../nv31/iet_stress_long.conf
|
||||
Символическая ссылка
@@ -0,0 +1 @@
|
||||
../nv31/pebb_single_long.conf
|
||||
@@ -23,24 +23,16 @@ THE SOFTWARE.
|
||||
|
||||
#include <assert.h>
|
||||
#include <getopt.h>
|
||||
#include <signal.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <ctime>
|
||||
#include <iomanip>
|
||||
#include <limits>
|
||||
#include <queue>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include "common/rdc_fields_supported.h"
|
||||
#include "common/rdc_utils.h"
|
||||
#include "rdc/rdc.h"
|
||||
#include "rdc_lib/RdcException.h"
|
||||
#include "rdc_lib/rdc_common.h"
|
||||
|
||||
namespace amd {
|
||||
namespace rdc {
|
||||
@@ -113,8 +105,7 @@ void RdciDiagSubSystem::show_help() const {
|
||||
// ***** 20 Chars ****
|
||||
std::cout << " diag -- Used to run diagnostic for GPUs.\n\n";
|
||||
std::cout << "Usage\n";
|
||||
std::cout << " rdci diag [--host <IP/FQDN>:port] [-u] [-t] -g <groupId>"
|
||||
<< " -r <runLevel>\n";
|
||||
std::cout << " rdci diag [--host <IP/FQDN>:port] [-u] [-t] -g <groupId>" << " -r <runLevel>\n";
|
||||
std::cout << "\nFlags:\n";
|
||||
show_common_usage();
|
||||
std::cout << " -g --group-id The GPU group to diagnose"
|
||||
@@ -122,12 +113,10 @@ void RdciDiagSubSystem::show_help() const {
|
||||
std::cout << " -c --config-test Set custom test config (RVS)\n";
|
||||
std::cout << " -r --run-level level Integer representing test"
|
||||
<< " run levels [default = 1].\n"
|
||||
<< " level 1: Tests take a "
|
||||
<< "few seconds to run.\n"
|
||||
<< " level 2: Tests take a "
|
||||
<< "few minutes to run (To be implemented).\n"
|
||||
<< " level 1: Tests take a " << "few seconds to run.\n"
|
||||
<< " level 2: Tests take a " << "few minutes to run.\n"
|
||||
<< " level 3: Tests take "
|
||||
<< "half an hour to run (To be implemented).\n";
|
||||
<< "30 minutes and longer to run.\n";
|
||||
}
|
||||
|
||||
std::string RdciDiagSubSystem::get_test_name(rdc_diag_test_cases_t test_case) const {
|
||||
@@ -141,6 +130,10 @@ std::string RdciDiagSubSystem::get_test_name(rdc_diag_test_cases_t test_case) co
|
||||
{RDC_DIAG_RVS_MEMBW_TEST, "RVS babel memory bandwidth test"},
|
||||
{RDC_DIAG_RVS_H2DD2H_TEST, "RVS Host<->Device transfer speed test"},
|
||||
{RDC_DIAG_RVS_IET_TEST, "RVS IET test"},
|
||||
{RDC_DIAG_RVS_GST_LONG_TEST, "RVS GST long test"},
|
||||
{RDC_DIAG_RVS_MEMBW_LONG_TEST, "RVS babel memory bandwidth long test"},
|
||||
{RDC_DIAG_RVS_H2DD2H_LONG_TEST, "RVS Host<->Device transfer speed long test"},
|
||||
{RDC_DIAG_RVS_IET_LONG_TEST, "RVS IET long test"},
|
||||
{RDC_DIAG_TEST_LAST, "Unknown"}};
|
||||
|
||||
auto test_name = test_desc.find(test_case);
|
||||
@@ -158,7 +151,6 @@ void RdciDiagSubSystem::process() {
|
||||
|
||||
rdc_status_t result;
|
||||
rdc_diag_response_t response;
|
||||
//rdc_diag_callback_t callback;
|
||||
result = rdc_diagnostic_run(rdc_handle_, group_id_, run_level_, config_test_.c_str(),
|
||||
config_test_.length(), &response, nullptr);
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user