| 172 | } |
| 173 | |
| 174 | template <typename ElemType> int |
| 175 | SprPerformanceTest<ElemType>::prepare(void) |
| 176 | { |
| 177 | bool useAlpha = true; |
| 178 | size_t lenX = 1 + (params_.N-1) * abs(params_.incx); |
| 179 | |
| 180 | alpha_ = convertMultiplier<ElemType>(params_.alpha); |
| 181 | /* |
| 182 | int creationFlags = 0; |
| 183 | creationFlags = creationFlags | RANDOM_INIT; |
| 184 | |
| 185 | // Default is Column-Major |
| 186 | |
| 187 | creationFlags = ( (this-> params_.order) == clblasRowMajor)? (creationFlags | ROW_MAJOR_ORDER) : (creationFlags); |
| 188 | creationFlags = ( (this-> params_.uplo) == clblasLower)? (creationFlags | LOWER_HALF_ONLY) : (creationFlags | UPPER_HALF_ONLY); |
| 189 | BlasRoutineID BlasFn = CLBLAS_SYR; |
| 190 | |
| 191 | // Matrix A |
| 192 | populate( (A_ + params_.offa), params_.N, params_.N, params_.lda, BlasFn, creationFlags); |
| 193 | populate( X_ , lenX + params_.offBX, 1, lenX + params_.offBX, BlasFn); |
| 194 | */ |
| 195 | |
| 196 | randomSyrMatrices(params_.order, params_.uplo, params_.N, useAlpha, &alpha_, |
| 197 | (AP_ + params_.offa), 0, (X_ + params_.offBX), params_.incx); |
| 198 | |
| 199 | |
| 200 | memcpy(backAP_, AP_, ((( ( params_.N*( params_.N + 1 ) )/2 )+ params_.offa)* sizeof(ElemType))); |
| 201 | |
| 202 | mobjAP_ = base_->createEnqueueBuffer(AP_, (( params_.N*( params_.N + 1 )/2 )+ params_.offa)* sizeof(*AP_), 0, CL_MEM_READ_WRITE); |
| 203 | mobjX_ = base_->createEnqueueBuffer(X_, (lenX + params_.offBX )* sizeof(*X_), 0, CL_MEM_READ_ONLY); |
| 204 | |
| 205 | return ( (mobjAP_ != NULL) && (mobjX_ != NULL) ) ? 0 : -1; |
| 206 | } |
| 207 | |
| 208 | template <typename ElemType> nano_time_t |
| 209 | SprPerformanceTest<ElemType>::etalonPerfSingle(void) |
nothing calls this directly
no test coverage detected