Files
rocm-systems/projects/rocr-runtime/rocrtst/samples/rocm_async/base_test.hpp
T
Ramesh Errabolu d4972f3c67 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


[ROCm/ROCR-Runtime commit: c2caa5ae2c]
2017-10-04 20:53:25 -04:00

53 строки
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_