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
This commit is contained in:
Ramesh Errabolu
2017-09-12 19:28:15 -05:00
parent 34602f7e95
commit c2caa5ae2c
19 changed files with 2570 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
#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_