Files
rocm-systems/rocrtst/samples/rocm_async/base_test.hpp
T
Ramesh Errabolu c2caa5ae2c Benchmark copy of data from one pool to another pool either in
one or both directions. Users can enumerate the pools reported
  by system to specify which pools serve as source / destination

Change-Id: I8e6d0adb3743b3328dd3ce9152762ca840ea613b
2017-10-04 20:53:25 -04:00

53 lines
1.1 KiB
C++

#ifndef ROCM_ASYNC_BW_BASE_TEST_H_
#define ROCM_ASYNC_BW_BASE_TEST_H_
#include "hsa/hsa.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// @Brief: An interface for tests to do some basic things,
class BaseTest {
public:
BaseTest(size_t num = 10);
virtual ~BaseTest();
// @Brief: Allows setup proceedures to be completed
// before running the benchmark test case
virtual void SetUp() = 0;
// @Brief: Launches the proceedures of test scenario
virtual void Run() = 0;
// @Brief: Allows clean up proceedures to be invoked
virtual void Close() = 0;
// @Brief: Display the results
virtual void Display() const = 0;
// @Brief: Set number of iterations to run
void set_num_iteration(size_t num) {
num_iteration_ = num;
return;
}
// @Brief: Pre-declare some variables for deriviation, the
// derived class may declare more if needed
protected:
// @Brief: Real iteration number
uint64_t num_iteration_;
// @Brief: Status code
hsa_status_t err_;
};
#endif // ROCM_ASYNC_BW_BASE_TEST_H_