| 110 | |
| 111 | template <typename ElemType> |
| 112 | HbmvPerformanceTest<ElemType>::HbmvPerformanceTest( |
| 113 | BlasFunction fn, |
| 114 | TestParams *params) : PerformanceTest(fn, |
| 115 | (problem_size_t)( ( (2 * (params->N) * (params->K + 1) // A-access |
| 116 | - (2 * params->K * (params->K+1)) ) // Substract hole-part for A & X |
| 117 | +( ((2*params->K + 1) * params->N + 2*params->N)) // X & Y access |
| 118 | ) * sizeof(ElemType) ) ), |
| 119 | params_(*params), mobjA_(NULL), mobjX_(NULL), mobjY_(NULL) |
| 120 | { |
| 121 | size_t lenA, lenX, lenY; |
| 122 | lenA = (params_.N) * (params_.lda) + params_.offA; |
| 123 | lenX = ((params_.N) - 1)* params_.incx + 1 + params_.offBX; |
| 124 | lenY = ((params_.N) - 1)* params_.incy + 1 + params_.offCY; |
| 125 | A_ = new ElemType[ lenA ]; |
| 126 | X_ = new ElemType[ lenX ]; |
| 127 | Y_ = new ElemType[ lenY ]; |
| 128 | backY_ = new ElemType[ lenY ]; |
| 129 | alpha = convertMultiplier<ElemType>(params_.alpha); |
| 130 | beta = convertMultiplier<ElemType>(params_.beta); |
| 131 | |
| 132 | base_ = ::clMath::BlasBase::getInstance(); |
| 133 | |
| 134 | mobjA_ = NULL; |
| 135 | mobjX_ = NULL; |
| 136 | mobjY_ = NULL; |
| 137 | } |
| 138 | |
| 139 | template <typename ElemType> |
| 140 | HbmvPerformanceTest<ElemType>::~HbmvPerformanceTest() |
nothing calls this directly
no outgoing calls
no test coverage detected