| 176 | } |
| 177 | |
| 178 | template <typename ElemType> int |
| 179 | TrsvPerformanceTest<ElemType>::prepare(void) |
| 180 | { |
| 181 | size_t lenX, N; |
| 182 | |
| 183 | N = params_.N; |
| 184 | lenX = 1 + ((N-1) *abs(params_.incx)) + params_.offBX; |
| 185 | |
| 186 | |
| 187 | randomTrsvMatrices( params_.order, params_.uplo, params_.diag, params_.N, (A_ + params_.offa), params_.lda, |
| 188 | (X_ + params_.offBX), params_.incx); |
| 189 | memcpy(backX_, X_, lenX * sizeof(ElemType)); |
| 190 | mobjA_ = base_->createEnqueueBuffer(A_, ((params_.N * params_.lda) + params_.offa) * |
| 191 | sizeof(*A_), 0, CL_MEM_READ_ONLY); |
| 192 | mobjX_ = base_->createEnqueueBuffer(X_, lenX * |
| 193 | sizeof(*X_), 0, CL_MEM_READ_WRITE); |
| 194 | |
| 195 | return ((mobjA_ != NULL) && (mobjX_ != NULL) ) ? 0 : -1; |
| 196 | } |
| 197 | |
| 198 | template <typename ElemType> nano_time_t |
| 199 | TrsvPerformanceTest<ElemType>::etalonPerfSingle(void) |
nothing calls this directly
no test coverage detected