MCPcopy Create free account
hub / github.com/clMathLibraries/clBLAS / etalonPerfSingle

Method etalonPerfSingle

src/tests/performance/perf-spr2.cpp:208–243  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

206}
207
208template <typename ElemType> nano_time_t
209Spr2PerformanceTest<ElemType>::etalonPerfSingle(void)
210{
211 nano_time_t time = 0;
212 clblasOrder order;
213 clblasUplo fUplo;
214 //size_t lda;
215
216#ifndef PERF_TEST_WITH_ROW_MAJOR
217 if (params_.order == clblasRowMajor) {
218 cerr << "Row major order is not allowed" << endl;
219 return NANOTIME_ERR;
220 }
221#endif
222
223 order = params_.order;
224 fUplo = params_.uplo;
225
226#ifdef PERF_TEST_WITH_ACML
227
228 if (order != clblasColumnMajor)
229 {
230 order = clblasColumnMajor;
231 fUplo = (params_.uplo == clblasUpper)? clblasLower : clblasUpper;
232 doConjugate( (X_ + params_.offBX), (1 + (params_.N-1) * abs(params_.incx)), 1, 1 );
233 }
234
235 time = getCurrentTime();
236 clMath::blas::spr2(order, fUplo, params_.N, alpha_, X_, params_.offBX, params_.incx, Y_,
237 params_.offCY, params_.incy, AP_, params_.offa);
238 time = getCurrentTime() - time;
239
240#endif // PERF_TEST_WITH_ACML
241
242 return time;
243}
244
245
246template <typename ElemType> nano_time_t

Callers

nothing calls this directly

Calls 2

doConjugateFunction · 0.85
getCurrentTimeFunction · 0.50

Tested by

no test coverage detected