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

Method etalonPerfSingle

src/tests/performance/perf-tpmv.cpp:218–259  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

216}
217
218template <typename ElemType> nano_time_t
219TpmvPerformanceTest<ElemType>::etalonPerfSingle(void)
220{
221 nano_time_t time = 0;
222 clblasOrder order;
223 clblasUplo fUplo;
224 clblasTranspose fTrans;
225 //size_t lda;
226
227#ifndef PERF_TEST_WITH_ROW_MAJOR
228 if (params_.order == clblasRowMajor) {
229 cerr << "Row major order is not allowed" << endl;
230 return NANOTIME_ERR;
231 }
232#endif
233 order = params_.order;
234 fUplo = params_.uplo;
235 fTrans = params_.transA;
236 //lda = params_.lda;
237
238#ifdef PERF_TEST_WITH_ACML
239
240 if (order != clblasColumnMajor)
241 {
242 order = clblasColumnMajor;
243 fUplo = (params_.uplo == clblasUpper)? clblasLower : clblasUpper;
244 fTrans = (params_.transA == clblasNoTrans)? clblasTrans : clblasNoTrans;
245
246 if( params_.transA == clblasConjTrans )
247 doConjugate( (AP_+params_.offa), (( params_.N * (params_.N + 1)) / 2) , 1, 1 );
248 }
249
250
251 time = getCurrentTime();
252 clMath::blas::tpmv(order, fUplo,fTrans, params_.diag,
253 params_.N, AP_, params_.offa, X_, params_.offBX, params_.incx);
254 time = getCurrentTime() - time;
255
256#endif // PERF_TEST_WITH_ACML
257
258 return time;
259}
260
261
262template <typename ElemType> nano_time_t

Callers

nothing calls this directly

Calls 2

doConjugateFunction · 0.85
getCurrentTimeFunction · 0.50

Tested by

no test coverage detected