Add rsmi_dev_pci_throughput_get()

Este commit está contenido en:
Chris Freehill
2019-02-27 15:10:26 -06:00
padre 4771996d99
commit 18ce553dce
Se han modificado 7 ficheros con 128 adiciones y 31 borrados
@@ -1,7 +1,4 @@
/*
* =============================================================================
* ROC Runtime Conformance Release License
* =============================================================================
* The University of Illinois/NCSA
* Open Source License (NCSA)
*
@@ -53,51 +50,70 @@
#include "gtest/gtest.h"
#include "rocm_smi/rocm_smi.h"
#include "rocm_smi_test/functional/pci_bw_read_write.h"
#include "rocm_smi_test/functional/pci_read_write.h"
#include "rocm_smi_test/test_common.h"
TestPciBWReadWrite::TestPciBWReadWrite() : TestBase() {
TestPciReadWrite::TestPciReadWrite() : TestBase() {
set_title("RSMI PCIe Bandwidth Read/Write Test");
set_description("The PCIe Bandwidth tests verify that the PCIe bandwidth "
"settings can be read and controlled properly.");
}
TestPciBWReadWrite::~TestPciBWReadWrite(void) {
TestPciReadWrite::~TestPciReadWrite(void) {
}
void TestPciBWReadWrite::SetUp(void) {
void TestPciReadWrite::SetUp(void) {
TestBase::SetUp();
return;
}
void TestPciBWReadWrite::DisplayTestInfo(void) {
void TestPciReadWrite::DisplayTestInfo(void) {
TestBase::DisplayTestInfo();
}
void TestPciBWReadWrite::DisplayResults(void) const {
void TestPciReadWrite::DisplayResults(void) const {
TestBase::DisplayResults();
return;
}
void TestPciBWReadWrite::Close() {
void TestPciReadWrite::Close() {
// This will close handles opened within rsmitst utility calls and call
// rsmi_shut_down(), so it should be done after other hsa cleanup
TestBase::Close();
}
void TestPciBWReadWrite::Run(void) {
void TestPciReadWrite::Run(void) {
rsmi_status_t ret;
rsmi_pcie_bandwidth bw;
uint32_t freq_bitmask;
uint64_t sent, received, max_pkt_sz;
TestBase::Run();
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
PrintDeviceHeader(dv_ind);
ret = rsmi_dev_pci_throughput_get(dv_ind, &sent, &received, &max_pkt_sz);
if (ret == RSMI_STATUS_NOT_SUPPORTED) {
std::cout << "TEST FAILURE: Current PCIe throughput is not detected. "
"This is likely because it is not indicated in the pcie_bw sysfs "
"file. Aborting test." << std::endl;
return;
}
CHK_ERR_ASRT(ret)
IF_VERB(STANDARD) {
std::cout << "PCIe Throughput (1 sec.): " << std::endl;
std::cout << "\t\tSent: " << sent << " bytes" << std::endl;
std::cout << "\t\tReceived: " << received << " bytes" << std::endl;
std::cout << "\t\tMax Packet Size: " << max_pkt_sz << " bytes" <<
std::endl;
std::cout << std::endl;
}
ret = rsmi_dev_pci_bandwidth_get(dv_ind, &bw);
if (ret == RSMI_STATUS_NOT_SUPPORTED) {
@@ -42,17 +42,17 @@
* DEALINGS WITH THE SOFTWARE.
*
*/
#ifndef TESTS_ROCM_SMI_TEST_FUNCTIONAL_PCI_BW_READ_WRITE_H_
#define TESTS_ROCM_SMI_TEST_FUNCTIONAL_PCI_BW_READ_WRITE_H_
#ifndef TESTS_ROCM_SMI_TEST_FUNCTIONAL_PCI_READ_WRITE_H_
#define TESTS_ROCM_SMI_TEST_FUNCTIONAL_PCI_READ_WRITE_H_
#include "rocm_smi_test/test_base.h"
class TestPciBWReadWrite : public TestBase {
class TestPciReadWrite : public TestBase {
public:
TestPciBWReadWrite();
TestPciReadWrite();
// @Brief: Destructor for test case of TestPciBWReadWrite
virtual ~TestPciBWReadWrite();
// @Brief: Destructor for test case of TestPciReadWrite
virtual ~TestPciReadWrite();
// @Brief: Setup the environment for measurement
virtual void SetUp();
@@ -70,4 +70,4 @@ class TestPciBWReadWrite : public TestBase {
virtual void DisplayTestInfo(void);
};
#endif // TESTS_ROCM_SMI_TEST_FUNCTIONAL_PCI_BW_READ_WRITE_H_
#endif // TESTS_ROCM_SMI_TEST_FUNCTIONAL_PCI_READ_WRITE_H_
+3 -3
Ver fichero
@@ -64,7 +64,7 @@
#include "functional/overdrive_read_write.h"
#include "functional/perf_level_read_write.h"
#include "functional/frequencies_read_write.h"
#include "functional/pci_bw_read_write.h"
#include "functional/pci_read_write.h"
#include "functional/power_read_write.h"
#include "functional/power_cap_read_write.h"
#include "functional/version_read.h"
@@ -157,8 +157,8 @@ TEST(rsmitstReadWrite, TestFrequenciesReadWrite) {
TestFrequenciesReadWrite tst;
RunGenericTest(&tst);
}
TEST(rsmitstReadWrite, TestPciBWReadWrite) {
TestPciBWReadWrite tst;
TEST(rsmitstReadWrite, TestPciReadWrite) {
TestPciReadWrite tst;
RunGenericTest(&tst);
}
TEST(rsmitstReadOnly, TestSysInfoRead) {